moo_moo 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. data/.gitignore +7 -0
  2. data/.rspec +2 -0
  3. data/.rvmrc +59 -0
  4. data/.travis.yml +9 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +21 -0
  7. data/README.md +63 -0
  8. data/Rakefile +55 -0
  9. data/lib/cacert.pem +3910 -0
  10. data/lib/moo_moo/config.rb +13 -0
  11. data/lib/moo_moo/opensrs/args.rb +109 -0
  12. data/lib/moo_moo/opensrs/base.rb +75 -0
  13. data/lib/moo_moo/opensrs/command.rb +190 -0
  14. data/lib/moo_moo/opensrs/cookie_commands.rb +52 -0
  15. data/lib/moo_moo/opensrs/lookup_commands.rb +195 -0
  16. data/lib/moo_moo/opensrs/nameserver_commands.rb +70 -0
  17. data/lib/moo_moo/opensrs/opensrsexception.rb +6 -0
  18. data/lib/moo_moo/opensrs/provisioning_commands.rb +167 -0
  19. data/lib/moo_moo/opensrs/response.rb +41 -0
  20. data/lib/moo_moo/opensrs/transfer_commands.rb +83 -0
  21. data/lib/moo_moo/opensrs/utils.rb +13 -0
  22. data/lib/moo_moo/opensrs.rb +8 -0
  23. data/lib/moo_moo/version.rb +3 -0
  24. data/lib/moo_moo.rb +16 -0
  25. data/moo_moo.gemspec +33 -0
  26. data/spec/moo_moo_spec.rb +17 -0
  27. data/spec/opensrs/args_spec.rb +179 -0
  28. data/spec/opensrs/cookie_spec.rb +78 -0
  29. data/spec/opensrs/lookup_spec.rb +212 -0
  30. data/spec/opensrs/nameserver_spec.rb +124 -0
  31. data/spec/opensrs/opensrs_spec.rb +35 -0
  32. data/spec/opensrs/provisioning_spec.rb +271 -0
  33. data/spec/opensrs/transfer_spec.rb +197 -0
  34. data/spec/opensrs/utils_spec.rb +12 -0
  35. data/spec/spec_helper.rb +57 -0
  36. data/spec/vcr_cassettes/cookie/delete_cookie.yml +219 -0
  37. data/spec/vcr_cassettes/cookie/quit_session.yml +97 -0
  38. data/spec/vcr_cassettes/cookie/set_cookie.yml +123 -0
  39. data/spec/vcr_cassettes/cookie/set_cookie_fail.yml +54 -0
  40. data/spec/vcr_cassettes/cookie/update_cookie.yml +239 -0
  41. data/spec/vcr_cassettes/lookup/belongs_to_rsp.yml +54 -0
  42. data/spec/vcr_cassettes/lookup/belongs_to_rsp_negative.yml +55 -0
  43. data/spec/vcr_cassettes/lookup/get_balance.yml +55 -0
  44. data/spec/vcr_cassettes/lookup/get_deleted_domains.yml +80 -0
  45. data/spec/vcr_cassettes/lookup/get_domain.yml +211 -0
  46. data/spec/vcr_cassettes/lookup/get_domain_fail.yml +269 -0
  47. data/spec/vcr_cassettes/lookup/get_domains_by_expiredate.yml +76 -0
  48. data/spec/vcr_cassettes/lookup/get_domains_contacts.yml +129 -0
  49. data/spec/vcr_cassettes/lookup/get_domains_contacts_fail.yml +58 -0
  50. data/spec/vcr_cassettes/lookup/get_notes_for_domain.yml +85 -0
  51. data/spec/vcr_cassettes/lookup/get_notes_for_order.yml +61 -0
  52. data/spec/vcr_cassettes/lookup/get_notes_for_transfer.yml +61 -0
  53. data/spec/vcr_cassettes/lookup/get_order_info.yml +139 -0
  54. data/spec/vcr_cassettes/lookup/get_orders_by_domain.yml +76 -0
  55. data/spec/vcr_cassettes/lookup/get_price.yml +54 -0
  56. data/spec/vcr_cassettes/lookup/get_product_info.yml +49 -0
  57. data/spec/vcr_cassettes/lookup/lookup_domain_available.yml +55 -0
  58. data/spec/vcr_cassettes/lookup/lookup_domain_registered.yml +55 -0
  59. data/spec/vcr_cassettes/lookup/name_suggest.yml +396 -0
  60. data/spec/vcr_cassettes/nameserver/create.yml +49 -0
  61. data/spec/vcr_cassettes/nameserver/delete.yml +49 -0
  62. data/spec/vcr_cassettes/nameserver/get.yml +71 -0
  63. data/spec/vcr_cassettes/nameserver/modify.yml +49 -0
  64. data/spec/vcr_cassettes/provisioning/cancel_order.yml +56 -0
  65. data/spec/vcr_cassettes/provisioning/cancel_order_invalid.yml +49 -0
  66. data/spec/vcr_cassettes/provisioning/cancel_pending_orders.yml +58 -0
  67. data/spec/vcr_cassettes/provisioning/modify_all_domains.yml +49 -0
  68. data/spec/vcr_cassettes/provisioning/modify_domain.yml +49 -0
  69. data/spec/vcr_cassettes/provisioning/process_pending.yml +57 -0
  70. data/spec/vcr_cassettes/provisioning/register_domain.yml +57 -0
  71. data/spec/vcr_cassettes/provisioning/register_pending_domain.yml +55 -0
  72. data/spec/vcr_cassettes/provisioning/register_taken_domain.yml +55 -0
  73. data/spec/vcr_cassettes/provisioning/renew_domain.yml +58 -0
  74. data/spec/vcr_cassettes/provisioning/revoke_domain.yml +55 -0
  75. data/spec/vcr_cassettes/provisioning/trust_service.yml +60 -0
  76. data/spec/vcr_cassettes/provisioning/update_contacts.yml +66 -0
  77. data/spec/vcr_cassettes/transfer/cancel_transfer.yml +49 -0
  78. data/spec/vcr_cassettes/transfer/cancel_trasnfer_order.yml +49 -0
  79. data/spec/vcr_cassettes/transfer/check_transfer.yml +56 -0
  80. data/spec/vcr_cassettes/transfer/check_transfer_exists.yml +57 -0
  81. data/spec/vcr_cassettes/transfer/get_transfers_away.yml +60 -0
  82. data/spec/vcr_cassettes/transfer/get_transfers_in.yml +80 -0
  83. data/spec/vcr_cassettes/transfer/process_transfer.yml +49 -0
  84. data/spec/vcr_cassettes/transfer/process_transfer_unsuccessful.yml +49 -0
  85. data/spec/vcr_cassettes/transfer/rsp2rsp_push_transfer.yml +49 -0
  86. data/spec/vcr_cassettes/transfer/send_password.yml +49 -0
  87. data/spec/vcr_cassettes/transfer/transfer.yml +58 -0
  88. metadata +280 -0
@@ -0,0 +1,197 @@
1
+ require 'spec_helper'
2
+ require 'moo_moo/opensrs'
3
+
4
+ module MooMoo
5
+
6
+ describe OpenSRS do
7
+ before(:each) do
8
+ def random_domain
9
+ "domainthatsnottaken#{Time.now.to_i}.com"
10
+ end
11
+
12
+ @opensrs = OpenSRS::Base.new
13
+ @registered_domain = "domainthatsnottaken1302209138.com"
14
+ @contacts = {
15
+ :title => "blahblah",
16
+ :owner => {
17
+ :first_name => "Owen",
18
+ :last_name => "Ottway",
19
+ :phone => "+1.4165550123x1902",
20
+ :fax => "+1.4165550124",
21
+ :email => "ottway@example.com",
22
+ :org_name => "Example Inc.",
23
+ :address1 => "32 Oak Street",
24
+ :address2 => "Suite 500",
25
+ :address3 => "Owner",
26
+ :city => "SomeCity",
27
+ :state => "CA",
28
+ :country => "US",
29
+ :postal_code => "90210",
30
+ :url => "http://www.example.com"
31
+ },
32
+ :admin => {
33
+ :first_name => "Owen",
34
+ :last_name => "Ottway",
35
+ :phone => "+1.4165550123x1902",
36
+ :fax => "+1.4165550124",
37
+ :email => "ottway@example.com",
38
+ :org_name => "Example Inc.",
39
+ :address1 => "32 Oak Street",
40
+ :address2 => "Suite 500",
41
+ :address3 => "Owner",
42
+ :city => "SomeCity",
43
+ :state => "CA",
44
+ :country => "US",
45
+ :postal_code => "90210",
46
+ :url => "http://www.example.com"
47
+ },
48
+ :billing => {
49
+ :first_name => "Owen",
50
+ :last_name => "Ottway",
51
+ :phone => "+1.4165550123x1902",
52
+ :fax => "+1.4165550124",
53
+ :email => "ottway@example.com",
54
+ :org_name => "Example Inc.",
55
+ :address1 => "32 Oak Street",
56
+ :address2 => "Suite 500",
57
+ :address3 => "Owner",
58
+ :city => "SomeCity",
59
+ :state => "CA",
60
+ :country => "US",
61
+ :postal_code => "90210",
62
+ :url => "http://www.example.com"
63
+ },
64
+ :tech => {
65
+ :first_name => "Owen",
66
+ :last_name => "Ottway",
67
+ :phone => "+1.4165550123x1902",
68
+ :fax => "+1.4165550124",
69
+ :email => "ottway@example.com",
70
+ :org_name => "Example Inc.",
71
+ :address1 => "32 Oak Street",
72
+ :address2 => "Suite 500",
73
+ :address3 => "Owner",
74
+ :city => "SomeCity",
75
+ :state => "CA",
76
+ :country => "US",
77
+ :postal_code => "90210",
78
+ :url => "http://www.example.com"
79
+ }
80
+ }
81
+ end
82
+
83
+ describe "TransferCommands" do
84
+ describe "#cancel_transfer" do
85
+ it "cancels the transfer for a domain" do
86
+ VCR.use_cassette("transfer/cancel_transfer") do
87
+ res = @opensrs.cancel_transfer(:domain => 'exampledomain.com', :reseller => MooMoo.config.user)
88
+ res.success?.should be_false
89
+ res.error_code.should == 400
90
+ res.error_msg.should match(/transfer state prohibits cancellation/i)
91
+ end
92
+ end
93
+
94
+ it "cancels the transfer for an order" do
95
+ VCR.use_cassette("transfer/cancel_trasnfer_order") do
96
+ res = @opensrs.cancel_transfer_for_order(:order_id => 1884820, :reseller => MooMoo.config.user)
97
+ res.success?.should be_false
98
+ res.error_code.should == 400
99
+ res.error_msg.should match(/transfer state prohibits cancellation/i)
100
+ end
101
+ end
102
+ end
103
+
104
+ describe "#check_transfer" do
105
+ it "shows in progress if the transfer is in progress" do
106
+ VCR.use_cassette("transfer/check_transfer") do
107
+ res = @opensrs.check_transfer('exampledomain.com')
108
+ res.result['transferrable'].to_i.should == 0
109
+ res.result['reason'].should match(/Transfer in progress/i)
110
+ end
111
+ end
112
+
113
+ it "says the domain already exists if it does" do
114
+ VCR.use_cassette("transfer/check_transfer_exists") do
115
+ res = @opensrs.check_transfer(@registered_domain)
116
+ res.result['transferrable'].to_i.should == 0
117
+ res.result['reason'].should match(/Domain already exists in.*account/i)
118
+ end
119
+ end
120
+ end
121
+
122
+ describe "#get_transfers_away" do
123
+ use_vcr_cassette "transfer/get_transfers_away"
124
+
125
+ it "lists domains that have been transferred away" do
126
+ res = @opensrs.get_transfers_away
127
+ res.result['total'].to_i.should == 0
128
+ end
129
+ end
130
+
131
+ describe "#get_tranfers_in" do
132
+ use_vcr_cassette "transfer/get_transfers_in"
133
+
134
+ it "lists domains that have been transferred in" do
135
+ res = @opensrs.get_transfers_in
136
+ res.result['total'].to_i.should == 1
137
+ res.result['transfers']['0']['domain'].should == "testingdomain.com"
138
+ end
139
+ end
140
+
141
+ describe "#process_transfer" do
142
+ it "performs a new order with cancelled order's data" do
143
+ VCR.use_cassette("transfer/process_transfer") do
144
+ result = @opensrs.process_transfer(:order_id => 123, :reseller => MooMoo.config.user)
145
+ result.success?.should be_true
146
+ end
147
+ end
148
+
149
+ it "does not transfer if the status does not allow it" do
150
+ VCR.use_cassette("transfer/process_transfer_unsuccessful") do
151
+ result = @opensrs.process_transfer(:order_id => 123, :reseller => MooMoo.config.user)
152
+ result.success?.should be_false
153
+ result.error_code.should == 400
154
+ end
155
+ end
156
+ end
157
+
158
+ describe "#send_password (transfer)" do
159
+ use_vcr_cassette "transfer/send_password"
160
+
161
+ it "resends email message to admin contact" do
162
+ result = @opensrs.send_password('fdsafsfsafafsaexample.com')
163
+ end
164
+ end
165
+
166
+ describe "#push_transfer" do
167
+ use_vcr_cassette "transfer/rsp2rsp_push_transfer"
168
+
169
+ it "transfers the domain" do
170
+ res = @opensrs.push_transfer(:domain => @registered_domain,
171
+ :username => MooMoo.config.user,
172
+ :password => MooMoo.config.pass,
173
+ :reseller => 'opensrs')
174
+ res.success?.should be_false
175
+ res.error_code.should == 465
176
+ res.error_msg.should match(/transfer permission denied/i)
177
+ end
178
+ end
179
+
180
+ describe "#transfer" do
181
+ use_vcr_cassette "transfer/transfer"
182
+
183
+ it "initiates the transfer" do
184
+ res = @opensrs.register_domain(
185
+ :domain => 'testingdomain.com',
186
+ :contacts => @contacts,
187
+ :nameservers => ["ns1.systemdns.com", "ns2.systemdns.com"],
188
+ :term => 1,
189
+ :options => {:reg_type => :transfer})
190
+ res.success?.should be_true
191
+ res.result['id'].to_i.should == 1885789
192
+ res.result['registration_text'].should match(/transfer request initiated/i)
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'moo_moo/opensrs'
3
+
4
+ module MooMoo
5
+
6
+ describe OpenSRS do
7
+ before(:each) do
8
+ @opensrs = OpenSRS::Base.new
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,57 @@
1
+ require 'rspec'
2
+ require 'moo_moo'
3
+ require 'vcr'
4
+ require 'extlib'
5
+
6
+ MooMoo.configure do |config|
7
+ config.host = ENV['OPENSRS_TEST_URL']
8
+ config.key = ENV['OPENSRS_TEST_KEY']
9
+ config.user = ENV['OPENSRS_TEST_USER']
10
+ config.pass = ENV['OPENSRS_TEST_PASS']
11
+ end
12
+
13
+ def requires_attr(attr, &block)
14
+ expect { block.call }.to raise_error(MooMoo::MooMooArgumentError, /Missing required parameter: #{attr}/i)
15
+ end
16
+
17
+ VCR.config do |c|
18
+ c.cassette_library_dir = 'spec/vcr_cassettes'
19
+ c.stub_with :fakeweb
20
+
21
+ c.default_cassette_options = {:record => :new_episodes, :match_requests_on => [:uri]}
22
+ end
23
+
24
+ def live_test?
25
+ !ENV['OPENSRS_REAL'].nil?
26
+ end
27
+
28
+ RSpec.configure do |c|
29
+ c.extend VCR::RSpec::Macros
30
+ c.before(:each) do
31
+ if live_test?
32
+ MooMoo.configure do |config|
33
+ config.host = ENV['OPENSRS_TEST_URL']
34
+ config.key = ENV['OPENSRS_TEST_KEY']
35
+ config.user = ENV['OPENSRS_TEST_USER']
36
+ config.pass = ENV['OPENSRS_TEST_PASS']
37
+ end
38
+ else
39
+ MooMoo.configure do |config|
40
+ config.host = 'server.com'
41
+ config.key = '123key'
42
+ config.user = 'opensrs_user'
43
+ config.pass = 'password'
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ RSpec::Matchers.define :have_attr_accessor do |attribute|
50
+ match do |object|
51
+ object.respond_to?(attribute) && object.respond_to?("#{attribute}=")
52
+ end
53
+
54
+ description do
55
+ "have attr_writer :#{attribute}"
56
+ end
57
+ end
@@ -0,0 +1,219 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: https://server.com:55443/
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - text/xml
10
+ x-username:
11
+ - opensrs_user
12
+ x-signature:
13
+ - 0
14
+ content-length:
15
+ - "713"
16
+ response: !ruby/struct:VCR::Response
17
+ status: !ruby/struct:VCR::ResponseStatus
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ date:
22
+ - Fri, 06 May 2011 18:41:24 GMT
23
+ server:
24
+ - OpenSRS/XML-RSA Server
25
+ content-length:
26
+ - "975"
27
+ content-type:
28
+ - text/xml
29
+ body: |-
30
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
31
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
32
+ <OPS_envelope>
33
+ <header>
34
+ <version>0.9</version>
35
+ </header>
36
+ <body>
37
+ <data_block>
38
+ <dt_assoc>
39
+ <item key="protocol">XCP</item>
40
+ <item key="object">COOKIE</item>
41
+ <item key="response_text">Command Successful</item>
42
+ <item key="action">REPLY</item>
43
+ <item key="attributes">
44
+ <dt_assoc>
45
+ <item key="permission"></item>
46
+ <item key="cookie">0000000000000000:000000:00000</item>
47
+ <item key="expiredate">2012-04-07 20:45:46</item>
48
+ <item key="domain_count">1</item>
49
+ <item key="last_access_time">1304707283</item>
50
+ <item key="f_owner">1</item>
51
+ <item key="waiting_requests_no">0</item>
52
+ <item key="waiting_request">None</item>
53
+ <item key="last_ip"></item>
54
+ </dt_assoc>
55
+ </item>
56
+ <item key="response_code">200</item>
57
+ <item key="is_success">1</item>
58
+ </dt_assoc>
59
+ </data_block>
60
+ </body>
61
+ </OPS_envelope>
62
+ http_version: "1.1"
63
+ - !ruby/struct:VCR::HTTPInteraction
64
+ request: !ruby/struct:VCR::Request
65
+ method: :post
66
+ uri: https://server.com:55443/
67
+ body:
68
+ headers:
69
+ content-type:
70
+ - text/xml
71
+ x-username:
72
+ - opensrs_user
73
+ x-signature:
74
+ - 0
75
+ content-length:
76
+ - "688"
77
+ response: !ruby/struct:VCR::Response
78
+ status: !ruby/struct:VCR::ResponseStatus
79
+ code: 200
80
+ message: OK
81
+ headers:
82
+ date:
83
+ - Fri, 06 May 2011 18:41:25 GMT
84
+ server:
85
+ - OpenSRS/XML-RSA Server
86
+ content-length:
87
+ - "493"
88
+ content-type:
89
+ - text/xml
90
+ body: |-
91
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
92
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
93
+ <OPS_envelope>
94
+ <header>
95
+ <version>0.9</version>
96
+ </header>
97
+ <body>
98
+ <data_block>
99
+ <dt_assoc>
100
+ <item key="protocol">XCP</item>
101
+ <item key="object">COOKIE</item>
102
+ <item key="response_text">Command Successful</item>
103
+ <item key="action">REPLY</item>
104
+ <item key="response_code">200</item>
105
+ <item key="is_success">1</item>
106
+ </dt_assoc>
107
+ </data_block>
108
+ </body>
109
+ </OPS_envelope>
110
+ http_version: "1.1"
111
+ - !ruby/struct:VCR::HTTPInteraction
112
+ request: !ruby/struct:VCR::Request
113
+ method: :post
114
+ uri: https://server.com:55443/
115
+ body:
116
+ headers:
117
+ content-type:
118
+ - text/xml
119
+ x-username:
120
+ - opensrs_user
121
+ x-signature:
122
+ - 00000000000000000000000000000000
123
+ content-length:
124
+ - "713"
125
+ response: !ruby/struct:VCR::Response
126
+ status: !ruby/struct:VCR::ResponseStatus
127
+ code: 200
128
+ message: OK
129
+ headers:
130
+ date:
131
+ - Fri, 06 May 2011 18:42:36 GMT
132
+ server:
133
+ - OpenSRS/XML-RSA Server
134
+ content-length:
135
+ - "975"
136
+ content-type:
137
+ - text/xml
138
+ body: |-
139
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
140
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
141
+ <OPS_envelope>
142
+ <header>
143
+ <version>0.9</version>
144
+ </header>
145
+ <body>
146
+ <data_block>
147
+ <dt_assoc>
148
+ <item key="protocol">XCP</item>
149
+ <item key="object">COOKIE</item>
150
+ <item key="response_text">Command Successful</item>
151
+ <item key="action">REPLY</item>
152
+ <item key="attributes">
153
+ <dt_assoc>
154
+ <item key="permission"></item>
155
+ <item key="cookie">0000000000000000:000000:00000</item>
156
+ <item key="expiredate">2012-04-07 20:45:46</item>
157
+ <item key="domain_count">1</item>
158
+ <item key="last_access_time">1304707356</item>
159
+ <item key="f_owner">1</item>
160
+ <item key="waiting_requests_no">0</item>
161
+ <item key="waiting_request">None</item>
162
+ <item key="last_ip"></item>
163
+ </dt_assoc>
164
+ </item>
165
+ <item key="response_code">200</item>
166
+ <item key="is_success">1</item>
167
+ </dt_assoc>
168
+ </data_block>
169
+ </body>
170
+ </OPS_envelope>
171
+ http_version: "1.1"
172
+ - !ruby/struct:VCR::HTTPInteraction
173
+ request: !ruby/struct:VCR::Request
174
+ method: :post
175
+ uri: https://server.com:55443/
176
+ body:
177
+ headers:
178
+ content-type:
179
+ - text/xml
180
+ x-username:
181
+ - opensrs_user
182
+ x-signature:
183
+ - 00000000000000000000000000000000
184
+ content-length:
185
+ - "688"
186
+ response: !ruby/struct:VCR::Response
187
+ status: !ruby/struct:VCR::ResponseStatus
188
+ code: 200
189
+ message: OK
190
+ headers:
191
+ date:
192
+ - Fri, 06 May 2011 18:42:37 GMT
193
+ server:
194
+ - OpenSRS/XML-RSA Server
195
+ content-length:
196
+ - "493"
197
+ content-type:
198
+ - text/xml
199
+ body: |-
200
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
201
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
202
+ <OPS_envelope>
203
+ <header>
204
+ <version>0.9</version>
205
+ </header>
206
+ <body>
207
+ <data_block>
208
+ <dt_assoc>
209
+ <item key="protocol">XCP</item>
210
+ <item key="object">COOKIE</item>
211
+ <item key="response_text">Command Successful</item>
212
+ <item key="action">REPLY</item>
213
+ <item key="response_code">200</item>
214
+ <item key="is_success">1</item>
215
+ </dt_assoc>
216
+ </data_block>
217
+ </body>
218
+ </OPS_envelope>
219
+ http_version: "1.1"
@@ -0,0 +1,97 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: https://server.com:55443/
6
+ body:
7
+ headers:
8
+ content-type:
9
+ - text/xml
10
+ x-username:
11
+ - opensrs_user
12
+ x-signature:
13
+ - 0
14
+ content-length:
15
+ - "569"
16
+ response: !ruby/struct:VCR::Response
17
+ status: !ruby/struct:VCR::ResponseStatus
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ date:
22
+ - Fri, 06 May 2011 18:41:26 GMT
23
+ server:
24
+ - OpenSRS/XML-RSA Server
25
+ content-length:
26
+ - "494"
27
+ content-type:
28
+ - text/xml
29
+ body: |-
30
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
31
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
32
+ <OPS_envelope>
33
+ <header>
34
+ <version>0.9</version>
35
+ </header>
36
+ <body>
37
+ <data_block>
38
+ <dt_assoc>
39
+ <item key="protocol">XCP</item>
40
+ <item key="object">SESSION</item>
41
+ <item key="response_text">Closing connection</item>
42
+ <item key="action">REPLY</item>
43
+ <item key="response_code">200</item>
44
+ <item key="is_success">1</item>
45
+ </dt_assoc>
46
+ </data_block>
47
+ </body>
48
+ </OPS_envelope>
49
+ http_version: "1.1"
50
+ - !ruby/struct:VCR::HTTPInteraction
51
+ request: !ruby/struct:VCR::Request
52
+ method: :post
53
+ uri: https://server.com:55443/
54
+ body:
55
+ headers:
56
+ content-type:
57
+ - text/xml
58
+ x-username:
59
+ - opensrs_user
60
+ x-signature:
61
+ - 00000000000000000000000000000000
62
+ content-length:
63
+ - "569"
64
+ response: !ruby/struct:VCR::Response
65
+ status: !ruby/struct:VCR::ResponseStatus
66
+ code: 200
67
+ message: OK
68
+ headers:
69
+ date:
70
+ - Fri, 06 May 2011 18:42:39 GMT
71
+ server:
72
+ - OpenSRS/XML-RSA Server
73
+ content-length:
74
+ - "494"
75
+ content-type:
76
+ - text/xml
77
+ body: |-
78
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
79
+ <!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
80
+ <OPS_envelope>
81
+ <header>
82
+ <version>0.9</version>
83
+ </header>
84
+ <body>
85
+ <data_block>
86
+ <dt_assoc>
87
+ <item key="protocol">XCP</item>
88
+ <item key="object">SESSION</item>
89
+ <item key="response_text">Closing connection</item>
90
+ <item key="action">REPLY</item>
91
+ <item key="response_code">200</item>
92
+ <item key="is_success">1</item>
93
+ </dt_assoc>
94
+ </data_block>
95
+ </body>
96
+ </OPS_envelope>
97
+ http_version: "1.1"