mirror of
https://github.com/FluuxIO/go-xmpp
synced 2024-11-11 07:11:03 +00:00
af0ae525b8
"An IQ stanza of type "get" or "set" MUST contain exactly one child element, which specifies the semantics of the particular request."
27 lines
618 B
Go
27 lines
618 B
Go
package xmpp
|
|
|
|
import (
|
|
"encoding/xml"
|
|
"testing"
|
|
)
|
|
|
|
func TestControlSet(t *testing.T) {
|
|
packet := `
|
|
<iq to='test@localhost/jukebox' from='admin@localhost/mbp' type='set' id='2'>
|
|
<set xmlns='urn:xmpp:iot:control' xml:lang='en'>
|
|
<string name='action' value='play'/>
|
|
<string name='url' value='https://soundcloud.com/radiohead/spectre'/>
|
|
</set>
|
|
</iq>`
|
|
|
|
parsedIQ := IQ{}
|
|
data := []byte(packet)
|
|
if err := xml.Unmarshal(data, &parsedIQ); err != nil {
|
|
t.Errorf("Unmarshal(%s) returned error", data)
|
|
}
|
|
|
|
if cs, ok := parsedIQ.Payload.(*ControlSet); !ok {
|
|
t.Errorf("Paylod is not an iot control set: %v", cs)
|
|
}
|
|
}
|