package xmpp_test
import (
"encoding/xml"
"testing"
"gosrc.io/xmpp"
)
func TestNoStartTLS(t *testing.T) {
streamFeatures := `
`
var parsedSF xmpp.StreamFeatures
if err := xml.Unmarshal([]byte(streamFeatures), &parsedSF); err != nil {
t.Errorf("Unmarshal(%s) returned error: %v", streamFeatures, err)
}
startTLS, ok := parsedSF.DoesStartTLS()
if ok {
t.Error("StartTLS feature should not be enabled")
}
if startTLS.Required {
t.Error("StartTLS cannot be required as default")
}
}
func TestStartTLS(t *testing.T) {
streamFeatures := `
`
var parsedSF xmpp.StreamFeatures
if err := xml.Unmarshal([]byte(streamFeatures), &parsedSF); err != nil {
t.Errorf("Unmarshal(%s) returned error: %v", streamFeatures, err)
}
startTLS, ok := parsedSF.DoesStartTLS()
if !ok {
t.Error("StartTLS feature should be enabled")
}
if !startTLS.Required {
t.Error("StartTLS feature should be required")
}
}
// TODO: Ability to support / detect previous version of stream management feature
func TestStreamManagement(t *testing.T) {
streamFeatures := `
`
var parsedSF xmpp.StreamFeatures
if err := xml.Unmarshal([]byte(streamFeatures), &parsedSF); err != nil {
t.Errorf("Unmarshal(%s) returned error: %v", streamFeatures, err)
}
ok := parsedSF.DoesStreamManagement()
if !ok {
t.Error("Stream Management feature should have been detected")
}
}