jubjub 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/README.mdown +27 -1
  2. data/lib/jubjub.rb +1 -1
  3. data/lib/jubjub/connection/xmpp_gateway.rb +9 -9
  4. data/lib/jubjub/connection/xmpp_gateway/helper.rb +5 -5
  5. data/lib/jubjub/connection/xmpp_gateway/muc.rb +127 -32
  6. data/lib/jubjub/connection/xmpp_gateway/pubsub.rb +64 -64
  7. data/lib/jubjub/data_form.rb +16 -13
  8. data/lib/jubjub/errors.rb +2 -2
  9. data/lib/jubjub/helpers.rb +32 -0
  10. data/lib/jubjub/jid.rb +8 -8
  11. data/lib/jubjub/muc.rb +3 -1
  12. data/lib/jubjub/muc/affiliation.rb +77 -0
  13. data/lib/jubjub/muc/affiliations_collection.rb +31 -0
  14. data/lib/jubjub/muc/collection.rb +12 -19
  15. data/lib/jubjub/muc/configuration.rb +2 -2
  16. data/lib/jubjub/muc/muc.rb +24 -11
  17. data/lib/jubjub/pubsub.rb +1 -1
  18. data/lib/jubjub/pubsub/affiliation.rb +20 -20
  19. data/lib/jubjub/pubsub/affiliation_collection.rb +11 -18
  20. data/lib/jubjub/pubsub/collection.rb +14 -21
  21. data/lib/jubjub/pubsub/configuration.rb +2 -2
  22. data/lib/jubjub/pubsub/item.rb +8 -8
  23. data/lib/jubjub/pubsub/item_collection.rb +10 -17
  24. data/lib/jubjub/pubsub/pubsub.rb +17 -17
  25. data/lib/jubjub/pubsub/subscription.rb +6 -6
  26. data/lib/jubjub/response.rb +1 -1
  27. data/lib/jubjub/response/error.rb +6 -6
  28. data/lib/jubjub/response/proxy.rb +8 -8
  29. data/lib/jubjub/response/response.rb +10 -10
  30. data/lib/jubjub/user.rb +16 -15
  31. data/spec/connection/xmpp_gateway_muc_spec.rb +174 -40
  32. data/spec/connection/xmpp_gateway_pubsub_spec.rb +100 -104
  33. data/spec/fixtures/vcr_cassettes/muc_configuration.yml +73 -6
  34. data/spec/fixtures/vcr_cassettes/muc_create_with_configuration.yml +8 -8
  35. data/spec/fixtures/vcr_cassettes/muc_message.yml +89 -0
  36. data/spec/fixtures/vcr_cassettes/muc_modify_affiliations.yml +367 -0
  37. data/spec/fixtures/vcr_cassettes/muc_retrieve_affiliations.yml +93 -0
  38. data/spec/fixtures/vcr_cassettes/pubsub_publish_with_dataform_payload.yml +3 -3
  39. data/spec/fixtures/vcr_cassettes/pubsub_retrieve_items.yml +24 -18
  40. data/spec/mixins/user_spec.rb +37 -37
  41. data/spec/models/data_form_spec.rb +3 -3
  42. data/spec/models/jid_spec.rb +41 -41
  43. data/spec/models/muc_affiliation_collection_spec.rb +146 -0
  44. data/spec/models/muc_affiliation_spec.rb +215 -0
  45. data/spec/models/muc_collection_spec.rb +64 -32
  46. data/spec/models/muc_configuration_spec.rb +3 -3
  47. data/spec/models/muc_spec.rb +44 -23
  48. data/spec/models/pubsub_affiliation_collection_spec.rb +65 -30
  49. data/spec/models/pubsub_affiliation_spec.rb +50 -50
  50. data/spec/models/pubsub_collection_spec.rb +65 -49
  51. data/spec/models/pubsub_item_collection_spec.rb +17 -17
  52. data/spec/models/pubsub_item_spec.rb +18 -18
  53. data/spec/models/pubsub_spec.rb +41 -41
  54. data/spec/models/pubsub_subscription_spec.rb +23 -23
  55. data/spec/models/response_error_spec.rb +19 -19
  56. data/spec/models/response_proxy_spec.rb +51 -49
  57. data/spec/models/response_spec.rb +33 -33
  58. data/spec/support/helpers.rb +21 -1
  59. data/spec/support/matchers.rb +4 -4
  60. data/spec/support/shared_examples.rb +132 -94
  61. data/spec/support/webmock_stanza_matching.rb +43 -0
  62. metadata +45 -16
@@ -3,7 +3,7 @@
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :post
5
5
  uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
6
- body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22room%40conference.theo-template.local%2fnick%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
6
+ body: stanza=%3cpresence%20to%3d%22configuration%40conference.theo-template.local%2fnick%22%3e%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%3c%2fpresence%3e%0a
7
7
  headers:
8
8
  content-type:
9
9
  - application/x-www-form-urlencoded
@@ -17,14 +17,14 @@
17
17
  content-length:
18
18
  - "40"
19
19
  body: |
20
- #<EventMachine::Timer:0x00000100b406f8>
20
+ #<EventMachine::Timer:0x007fae969b4898>
21
21
 
22
22
  http_version: "1.1"
23
23
  - !ruby/struct:VCR::HTTPInteraction
24
24
  request: !ruby/struct:VCR::Request
25
25
  method: :post
26
26
  uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
27
- body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22get%22%20to%3d%22room%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%2f%3e%0a%3c%2fiq%3e%0a
27
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22configuration%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%3c%2fquery%3e%3c%2fiq%3e%0a
28
28
  headers:
29
29
  content-type:
30
30
  - application/x-www-form-urlencoded
@@ -36,13 +36,57 @@
36
36
  content-type:
37
37
  - application/xml
38
38
  content-length:
39
- - "3713"
39
+ - "213"
40
40
  body: |
41
- <iq type="result" id="blather0015" from="room@conference.theo-template.local" to="theozaurus@theo-template.local/302767734712965589199547">
41
+ <iq type="result" id="blather054f" from="configuration@conference.theo-template.local" to="theozaurus@theo-template.local/31288884971325786255308395">
42
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
43
+ </iq>
44
+
45
+ http_version: "1.1"
46
+ - !ruby/struct:VCR::HTTPInteraction
47
+ request: !ruby/struct:VCR::Request
48
+ method: :post
49
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
50
+ body: stanza=%3cpresence%20to%3d%22configuration%40conference.theo-template.local%2fnick%22%3e%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%3c%2fpresence%3e%0a
51
+ headers:
52
+ content-type:
53
+ - application/x-www-form-urlencoded
54
+ response: !ruby/struct:VCR::Response
55
+ status: !ruby/struct:VCR::ResponseStatus
56
+ code: 200
57
+ message: ...
58
+ headers:
59
+ content-type:
60
+ - application/xml
61
+ content-length:
62
+ - "40"
63
+ body: |
64
+ #<EventMachine::Timer:0x007fae969a4bf0>
65
+
66
+ http_version: "1.1"
67
+ - !ruby/struct:VCR::HTTPInteraction
68
+ request: !ruby/struct:VCR::Request
69
+ method: :post
70
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
71
+ body: stanza=%3ciq%20type%3d%22get%22%20to%3d%22configuration%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%2f%3e%3c%2fiq%3e%0a
72
+ headers:
73
+ content-type:
74
+ - application/x-www-form-urlencoded
75
+ response: !ruby/struct:VCR::Response
76
+ status: !ruby/struct:VCR::ResponseStatus
77
+ code: 200
78
+ message: ...
79
+ headers:
80
+ content-type:
81
+ - application/xml
82
+ content-length:
83
+ - "3733"
84
+ body: |
85
+ <iq type="result" id="blather0551" from="configuration@conference.theo-template.local" to="theozaurus@theo-template.local/31288884971325786255308395">
42
86
  <query xmlns="http://jabber.org/protocol/muc#owner">
43
87
  <instructions>You need an x:data capable client to configure room</instructions>
44
88
  <x xmlns="jabber:x:data" type="form">
45
- <title>Configuration of room room@conference.theo-template.local</title>
89
+ <title>Configuration of room configuration@conference.theo-template.local</title>
46
90
  <field type="hidden" var="FORM_TYPE">
47
91
  <value>http://jabber.org/protocol/muc#roomconfig</value>
48
92
  </field>
@@ -132,3 +176,26 @@
132
176
  </iq>
133
177
 
134
178
  http_version: "1.1"
179
+ - !ruby/struct:VCR::HTTPInteraction
180
+ request: !ruby/struct:VCR::Request
181
+ method: :post
182
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
183
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22configuration%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cdestroy%2f%3e%3c%2fquery%3e%3c%2fiq%3e%0a
184
+ headers:
185
+ content-type:
186
+ - application/x-www-form-urlencoded
187
+ response: !ruby/struct:VCR::Response
188
+ status: !ruby/struct:VCR::ResponseStatus
189
+ code: 200
190
+ message: ...
191
+ headers:
192
+ content-type:
193
+ - application/xml
194
+ content-length:
195
+ - "213"
196
+ body: |
197
+ <iq type="result" id="blather0553" from="configuration@conference.theo-template.local" to="theozaurus@theo-template.local/31288884971325786255308395">
198
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
199
+ </iq>
200
+
201
+ http_version: "1.1"
@@ -3,7 +3,7 @@
3
3
  request: !ruby/struct:VCR::Request
4
4
  method: :post
5
5
  uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
6
- body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22room%40conference.theo-template.local%2fnick%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
6
+ body: stanza=%3cpresence%20to%3d%22room%40conference.theo-template.local%2fnick%22%3e%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%3c%2fpresence%3e%0a
7
7
  headers:
8
8
  content-type:
9
9
  - application/x-www-form-urlencoded
@@ -17,14 +17,14 @@
17
17
  content-length:
18
18
  - "40"
19
19
  body: |
20
- #<EventMachine::Timer:0x00000100a06288>
20
+ #<EventMachine::Timer:0x007fae96c9c1a0>
21
21
 
22
22
  http_version: "1.1"
23
23
  - !ruby/struct:VCR::HTTPInteraction
24
24
  request: !ruby/struct:VCR::Request
25
25
  method: :post
26
26
  uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
27
- body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22room%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%3e%0a%20%20%20%20%20%20%3cfield%20var%3d%22allow_query_users%22%3e%0a%20%20%20%20%20%20%20%20%3cvalue%3etrue%3c%2fvalue%3e%0a%20%20%20%20%20%20%3c%2ffield%3e%0a%20%20%20%20%3c%2fx%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
27
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22room%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%3e%3cfield%20type%3d%22boolean%22%20var%3d%22allow_query_users%22%3e%3cvalue%3etrue%3c%2fvalue%3e%3c%2ffield%3e%3c%2fx%3e%3c%2fquery%3e%3c%2fiq%3e%0a
28
28
  headers:
29
29
  content-type:
30
30
  - application/x-www-form-urlencoded
@@ -36,9 +36,9 @@
36
36
  content-type:
37
37
  - application/xml
38
38
  content-length:
39
- - "203"
39
+ - "204"
40
40
  body: |
41
- <iq type="result" id="blather001d" from="room@conference.theo-template.local" to="theozaurus@theo-template.local/9294273861296560773995396">
41
+ <iq type="result" id="blather064f" from="room@conference.theo-template.local" to="theozaurus@theo-template.local/13961912651325787107323708">
42
42
  <query xmlns="http://jabber.org/protocol/muc#owner"/>
43
43
  </iq>
44
44
 
@@ -47,7 +47,7 @@
47
47
  request: !ruby/struct:VCR::Request
48
48
  method: :post
49
49
  uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
50
- body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22room%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cdestroy%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
50
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22room%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cdestroy%2f%3e%3c%2fquery%3e%3c%2fiq%3e%0a
51
51
  headers:
52
52
  content-type:
53
53
  - application/x-www-form-urlencoded
@@ -59,9 +59,9 @@
59
59
  content-type:
60
60
  - application/xml
61
61
  content-length:
62
- - "203"
62
+ - "204"
63
63
  body: |
64
- <iq type="result" id="blather001f" from="room@conference.theo-template.local" to="theozaurus@theo-template.local/9294273861296560773995396">
64
+ <iq type="result" id="blather0651" from="room@conference.theo-template.local" to="theozaurus@theo-template.local/13961912651325787107323708">
65
65
  <query xmlns="http://jabber.org/protocol/muc#owner"/>
66
66
  </iq>
67
67
 
@@ -0,0 +1,89 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
6
+ body: stanza=%3cpresence%20to%3d%22message%40conference.theo-template.local%2fnick%22%3e%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%3c%2fpresence%3e%0a
7
+ headers:
8
+ content-type:
9
+ - application/x-www-form-urlencoded
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 200
13
+ message: ...
14
+ headers:
15
+ content-type:
16
+ - application/xml
17
+ content-length:
18
+ - "40"
19
+ body: |
20
+ #<EventMachine::Timer:0x000001010aae90>
21
+
22
+ http_version: "1.1"
23
+ - !ruby/struct:VCR::HTTPInteraction
24
+ request: !ruby/struct:VCR::Request
25
+ method: :post
26
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
27
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22message%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%3c%2fquery%3e%3c%2fiq%3e%0a
28
+ headers:
29
+ content-type:
30
+ - application/x-www-form-urlencoded
31
+ response: !ruby/struct:VCR::Response
32
+ status: !ruby/struct:VCR::ResponseStatus
33
+ code: 200
34
+ message: ...
35
+ headers:
36
+ content-type:
37
+ - application/xml
38
+ content-length:
39
+ - "205"
40
+ body: |
41
+ <iq type="result" id="blather000b" from="message@conference.theo-template.local" to="theozaurus@theo-template.local/512476862131169174174563">
42
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
43
+ </iq>
44
+
45
+ http_version: "1.1"
46
+ - !ruby/struct:VCR::HTTPInteraction
47
+ request: !ruby/struct:VCR::Request
48
+ method: :post
49
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
50
+ body: stanza=%3cmessage%20type%3d%22groupchat%22%20to%3d%22message%40conference.theo-template.local%22%3e%3cbody%3eJubjub%20here%21%3c%2fbody%3e%3c%2fmessage%3e%0a
51
+ headers:
52
+ content-type:
53
+ - application/x-www-form-urlencoded
54
+ response: !ruby/struct:VCR::Response
55
+ status: !ruby/struct:VCR::ResponseStatus
56
+ code: 200
57
+ message: ...
58
+ headers:
59
+ content-type:
60
+ - application/xml
61
+ content-length:
62
+ - "40"
63
+ body: |
64
+ #<EventMachine::Timer:0x0000010105b638>
65
+
66
+ http_version: "1.1"
67
+ - !ruby/struct:VCR::HTTPInteraction
68
+ request: !ruby/struct:VCR::Request
69
+ method: :post
70
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
71
+ body: stanza=%3ciq%20type%3d%22set%22%20to%3d%22message%40conference.theo-template.local%22%3e%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%3cdestroy%2f%3e%3c%2fquery%3e%3c%2fiq%3e%0a
72
+ headers:
73
+ content-type:
74
+ - application/x-www-form-urlencoded
75
+ response: !ruby/struct:VCR::Response
76
+ status: !ruby/struct:VCR::ResponseStatus
77
+ code: 200
78
+ message: ...
79
+ headers:
80
+ content-type:
81
+ - application/xml
82
+ content-length:
83
+ - "205"
84
+ body: |
85
+ <iq type="result" id="blather000d" from="message@conference.theo-template.local" to="theozaurus@theo-template.local/512476862131169174174563">
86
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
87
+ </iq>
88
+
89
+ http_version: "1.1"
@@ -0,0 +1,367 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
6
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22modify_affiliations_1%40conference.theo-template.local%2ffoo%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
7
+ headers:
8
+ content-type:
9
+ - application/x-www-form-urlencoded
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 200
13
+ message: ...
14
+ headers:
15
+ content-type:
16
+ - application/xml
17
+ content-length:
18
+ - "40"
19
+ body: |
20
+ #<EventMachine::Timer:0x00000101264a10>
21
+
22
+ http_version: "1.1"
23
+ - !ruby/struct:VCR::HTTPInteraction
24
+ request: !ruby/struct:VCR::Request
25
+ method: :post
26
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
27
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_1%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
28
+ headers:
29
+ content-type:
30
+ - application/x-www-form-urlencoded
31
+ response: !ruby/struct:VCR::Response
32
+ status: !ruby/struct:VCR::ResponseStatus
33
+ code: 200
34
+ message: ...
35
+ headers:
36
+ content-type:
37
+ - application/xml
38
+ content-length:
39
+ - "220"
40
+ body: |
41
+ <iq type="result" id="blather0045" from="modify_affiliations_1@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
42
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
43
+ </iq>
44
+
45
+ http_version: "1.1"
46
+ - !ruby/struct:VCR::HTTPInteraction
47
+ request: !ruby/struct:VCR::Request
48
+ method: :post
49
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
50
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_1%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23admin%22%3e%0a%20%20%20%20%3citem%20affiliation%3d%22owner%22%20jid%3d%22ed%40theo-template.local%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
51
+ headers:
52
+ content-type:
53
+ - application/x-www-form-urlencoded
54
+ response: !ruby/struct:VCR::Response
55
+ status: !ruby/struct:VCR::ResponseStatus
56
+ code: 200
57
+ message: ...
58
+ headers:
59
+ content-type:
60
+ - application/xml
61
+ content-length:
62
+ - "220"
63
+ body: |
64
+ <iq type="result" id="blather0047" from="modify_affiliations_1@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
65
+ <query xmlns="http://jabber.org/protocol/muc#admin"/>
66
+ </iq>
67
+
68
+ http_version: "1.1"
69
+ - !ruby/struct:VCR::HTTPInteraction
70
+ request: !ruby/struct:VCR::Request
71
+ method: :post
72
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
73
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_1%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cdestroy%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
74
+ headers:
75
+ content-type:
76
+ - application/x-www-form-urlencoded
77
+ response: !ruby/struct:VCR::Response
78
+ status: !ruby/struct:VCR::ResponseStatus
79
+ code: 200
80
+ message: ...
81
+ headers:
82
+ content-type:
83
+ - application/xml
84
+ content-length:
85
+ - "220"
86
+ body: |
87
+ <iq type="result" id="blather0049" from="modify_affiliations_1@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
88
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
89
+ </iq>
90
+
91
+ http_version: "1.1"
92
+ - !ruby/struct:VCR::HTTPInteraction
93
+ request: !ruby/struct:VCR::Request
94
+ method: :post
95
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
96
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22modify_affiliations_2%40conference.theo-template.local%2ffoo%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
97
+ headers:
98
+ content-type:
99
+ - application/x-www-form-urlencoded
100
+ response: !ruby/struct:VCR::Response
101
+ status: !ruby/struct:VCR::ResponseStatus
102
+ code: 200
103
+ message: ...
104
+ headers:
105
+ content-type:
106
+ - application/xml
107
+ content-length:
108
+ - "40"
109
+ body: |
110
+ #<EventMachine::Timer:0x000001011645c0>
111
+
112
+ http_version: "1.1"
113
+ - !ruby/struct:VCR::HTTPInteraction
114
+ request: !ruby/struct:VCR::Request
115
+ method: :post
116
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
117
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_2%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
118
+ headers:
119
+ content-type:
120
+ - application/x-www-form-urlencoded
121
+ response: !ruby/struct:VCR::Response
122
+ status: !ruby/struct:VCR::ResponseStatus
123
+ code: 200
124
+ message: ...
125
+ headers:
126
+ content-type:
127
+ - application/xml
128
+ content-length:
129
+ - "220"
130
+ body: |
131
+ <iq type="result" id="blather004b" from="modify_affiliations_2@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
132
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
133
+ </iq>
134
+
135
+ http_version: "1.1"
136
+ - !ruby/struct:VCR::HTTPInteraction
137
+ request: !ruby/struct:VCR::Request
138
+ method: :post
139
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
140
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_2%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23admin%22%3e%0a%20%20%20%20%3citem%20affiliation%3d%22owner%22%20jid%3d%22ed%40theo-template.local%22%2f%3e%0a%20%20%20%20%3citem%20affiliation%3d%22member%22%20jid%3d%22bob%40theo-template.local%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
141
+ headers:
142
+ content-type:
143
+ - application/x-www-form-urlencoded
144
+ response: !ruby/struct:VCR::Response
145
+ status: !ruby/struct:VCR::ResponseStatus
146
+ code: 200
147
+ message: ...
148
+ headers:
149
+ content-type:
150
+ - application/xml
151
+ content-length:
152
+ - "220"
153
+ body: |
154
+ <iq type="result" id="blather004d" from="modify_affiliations_2@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
155
+ <query xmlns="http://jabber.org/protocol/muc#admin"/>
156
+ </iq>
157
+
158
+ http_version: "1.1"
159
+ - !ruby/struct:VCR::HTTPInteraction
160
+ request: !ruby/struct:VCR::Request
161
+ method: :post
162
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
163
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_2%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cdestroy%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
164
+ headers:
165
+ content-type:
166
+ - application/x-www-form-urlencoded
167
+ response: !ruby/struct:VCR::Response
168
+ status: !ruby/struct:VCR::ResponseStatus
169
+ code: 200
170
+ message: ...
171
+ headers:
172
+ content-type:
173
+ - application/xml
174
+ content-length:
175
+ - "220"
176
+ body: |
177
+ <iq type="result" id="blather004f" from="modify_affiliations_2@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
178
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
179
+ </iq>
180
+
181
+ http_version: "1.1"
182
+ - !ruby/struct:VCR::HTTPInteraction
183
+ request: !ruby/struct:VCR::Request
184
+ method: :post
185
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
186
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22modify_affiliations_3%40conference.theo-template.local%2ffoo%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
187
+ headers:
188
+ content-type:
189
+ - application/x-www-form-urlencoded
190
+ response: !ruby/struct:VCR::Response
191
+ status: !ruby/struct:VCR::ResponseStatus
192
+ code: 200
193
+ message: ...
194
+ headers:
195
+ content-type:
196
+ - application/xml
197
+ content-length:
198
+ - "40"
199
+ body: |
200
+ #<EventMachine::Timer:0x000001010f12f0>
201
+
202
+ http_version: "1.1"
203
+ - !ruby/struct:VCR::HTTPInteraction
204
+ request: !ruby/struct:VCR::Request
205
+ method: :post
206
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
207
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_3%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
208
+ headers:
209
+ content-type:
210
+ - application/x-www-form-urlencoded
211
+ response: !ruby/struct:VCR::Response
212
+ status: !ruby/struct:VCR::ResponseStatus
213
+ code: 200
214
+ message: ...
215
+ headers:
216
+ content-type:
217
+ - application/xml
218
+ content-length:
219
+ - "220"
220
+ body: |
221
+ <iq type="result" id="blather0051" from="modify_affiliations_3@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
222
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
223
+ </iq>
224
+
225
+ http_version: "1.1"
226
+ - !ruby/struct:VCR::HTTPInteraction
227
+ request: !ruby/struct:VCR::Request
228
+ method: :post
229
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
230
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_3%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23admin%22%3e%0a%20%20%20%20%3citem%20affiliation%3d%22owner%22%20jid%3d%22ed%40theo-template.local%22%2f%3e%0a%20%20%20%20%3citem%20affiliation%3d%22member%22%20jid%3d%22bob%40theo-template.local%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
231
+ headers:
232
+ content-type:
233
+ - application/x-www-form-urlencoded
234
+ response: !ruby/struct:VCR::Response
235
+ status: !ruby/struct:VCR::ResponseStatus
236
+ code: 200
237
+ message: ...
238
+ headers:
239
+ content-type:
240
+ - application/xml
241
+ content-length:
242
+ - "220"
243
+ body: |
244
+ <iq type="result" id="blather0053" from="modify_affiliations_3@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
245
+ <query xmlns="http://jabber.org/protocol/muc#admin"/>
246
+ </iq>
247
+
248
+ http_version: "1.1"
249
+ - !ruby/struct:VCR::HTTPInteraction
250
+ request: !ruby/struct:VCR::Request
251
+ method: :post
252
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
253
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_3%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cdestroy%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
254
+ headers:
255
+ content-type:
256
+ - application/x-www-form-urlencoded
257
+ response: !ruby/struct:VCR::Response
258
+ status: !ruby/struct:VCR::ResponseStatus
259
+ code: 200
260
+ message: ...
261
+ headers:
262
+ content-type:
263
+ - application/xml
264
+ content-length:
265
+ - "220"
266
+ body: |
267
+ <iq type="result" id="blather0055" from="modify_affiliations_3@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
268
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
269
+ </iq>
270
+
271
+ http_version: "1.1"
272
+ - !ruby/struct:VCR::HTTPInteraction
273
+ request: !ruby/struct:VCR::Request
274
+ method: :post
275
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
276
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3cpresence%20to%3d%22modify_affiliations_4%40conference.theo-template.local%2ffoo%22%3e%0a%20%20%3cx%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%22%2f%3e%0a%3c%2fpresence%3e%0a
277
+ headers:
278
+ content-type:
279
+ - application/x-www-form-urlencoded
280
+ response: !ruby/struct:VCR::Response
281
+ status: !ruby/struct:VCR::ResponseStatus
282
+ code: 200
283
+ message: ...
284
+ headers:
285
+ content-type:
286
+ - application/xml
287
+ content-length:
288
+ - "40"
289
+ body: |
290
+ #<EventMachine::Timer:0x00000100903f48>
291
+
292
+ http_version: "1.1"
293
+ - !ruby/struct:VCR::HTTPInteraction
294
+ request: !ruby/struct:VCR::Request
295
+ method: :post
296
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
297
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_4%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cx%20xmlns%3d%22jabber%3ax%3adata%22%20type%3d%22submit%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
298
+ headers:
299
+ content-type:
300
+ - application/x-www-form-urlencoded
301
+ response: !ruby/struct:VCR::Response
302
+ status: !ruby/struct:VCR::ResponseStatus
303
+ code: 200
304
+ message: ...
305
+ headers:
306
+ content-type:
307
+ - application/xml
308
+ content-length:
309
+ - "220"
310
+ body: |
311
+ <iq type="result" id="blather0057" from="modify_affiliations_4@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
312
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
313
+ </iq>
314
+
315
+ http_version: "1.1"
316
+ - !ruby/struct:VCR::HTTPInteraction
317
+ request: !ruby/struct:VCR::Request
318
+ method: :post
319
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
320
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_4%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23admin%22%3e%0a%20%20%20%20%3citem%20affiliation%3d%22WIBBLE%22%20jid%3d%22ed%40theo-template.local%22%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
321
+ headers:
322
+ content-type:
323
+ - application/x-www-form-urlencoded
324
+ response: !ruby/struct:VCR::Response
325
+ status: !ruby/struct:VCR::ResponseStatus
326
+ code: 200
327
+ message: ...
328
+ headers:
329
+ content-type:
330
+ - application/xml
331
+ content-length:
332
+ - "492"
333
+ body: |
334
+ <iq type="error" id="blather0059" from="modify_affiliations_4@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
335
+ <query xmlns="http://jabber.org/protocol/muc#admin">
336
+ <item affiliation="WIBBLE" jid="ed@theo-template.local"/>
337
+ </query>
338
+ <error code="406" type="modify">
339
+ <not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
340
+ <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Invalid affiliation: WIBBLE</text>
341
+ </error>
342
+ </iq>
343
+
344
+ http_version: "1.1"
345
+ - !ruby/struct:VCR::HTTPInteraction
346
+ request: !ruby/struct:VCR::Request
347
+ method: :post
348
+ uri: http://theozaurus%40theo-template.local:secret@127.0.0.1:8000/
349
+ body: stanza=%3c%3fxml%20version%3d%221.0%22%3f%3e%0a%3ciq%20type%3d%22set%22%20to%3d%22modify_affiliations_4%40conference.theo-template.local%22%3e%0a%20%20%3cquery%20xmlns%3d%22http%3a%2f%2fjabber.org%2fprotocol%2fmuc%23owner%22%3e%0a%20%20%20%20%3cdestroy%2f%3e%0a%20%20%3c%2fquery%3e%0a%3c%2fiq%3e%0a
350
+ headers:
351
+ content-type:
352
+ - application/x-www-form-urlencoded
353
+ response: !ruby/struct:VCR::Response
354
+ status: !ruby/struct:VCR::ResponseStatus
355
+ code: 200
356
+ message: ...
357
+ headers:
358
+ content-type:
359
+ - application/xml
360
+ content-length:
361
+ - "220"
362
+ body: |
363
+ <iq type="result" id="blather005b" from="modify_affiliations_4@conference.theo-template.local" to="theozaurus@theo-template.local/1140458601131054813180286">
364
+ <query xmlns="http://jabber.org/protocol/muc#owner"/>
365
+ </iq>
366
+
367
+ http_version: "1.1"