mirror of
https://github.com/FluuxIO/go-xmpp.git
synced 2024-12-11 11:22:03 -08: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)
|
|
}
|
|
}
|