ruby_odata 0.1.5 → 0.1.6

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.
@@ -199,7 +199,7 @@ module OData
199
199
  end
200
200
  end
201
201
 
202
- describe Service do
202
+ describe "Keys" do
203
203
  describe "Collection with an int64 key Named 'id'" do
204
204
 
205
205
  before(:all) do
@@ -281,6 +281,22 @@ module OData
281
281
  its(:color) { should eq('blue') }
282
282
  end
283
283
  end
284
+ end
285
+
286
+ describe "Dual Namespaces" do
287
+ before(:all) do
288
+ stub_request(:get, "http://xxxx%5Cyyyy:zzzz@test.com/test.svc/$metadata").
289
+ with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
290
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center_v2.xml", __FILE__)), :headers => {})
291
+ end
292
+ after(:all) do
293
+ VMM.constants.each do |constant|
294
+ VMM.send :remove_const, constant
295
+ end
296
+ end
284
297
 
298
+ it "should parse the service without errors" do
299
+ lambda { OData::Service.new "http://test.com/test.svc/", { :username => "xxxx\\yyyy", :password=> "zzzz", :verify_ssl => false, :namespace => "VMM" } }.should_not raise_error
300
+ end
285
301
  end
286
302
  end
@@ -121,6 +121,27 @@ module OData
121
121
  end
122
122
  end
123
123
 
124
+ describe "exception handling" do
125
+ before(:each) do
126
+ stub_request(:get, "http://test.com/test.svc/$metadata").
127
+ with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
128
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
129
+
130
+ stub_request(:get, "http://test.com/test.svc/Categories?$select=Price").
131
+ with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
132
+ to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/error_without_message.xml", __FILE__)), :headers => {})
133
+ end
134
+
135
+ it "includes a generic message if the error is not in the response" do
136
+ svc = OData::Service.new "http://test.com/test.svc/"
137
+ svc.Categories.select "Price"
138
+ expect { svc.execute }.to raise_error(OData::ServiceError) { |error|
139
+ error.http_code.should eq 400
140
+ error.message.should eq "Server returned error but no message."
141
+ }
142
+ end
143
+ end
144
+
124
145
  describe "lowercase collections" do
125
146
  before(:each) do
126
147
  # Required for the build_classes method
@@ -806,7 +827,12 @@ module OData
806
827
  stub_request(:get, "http://blabla:@test.com/test.svc/VMTemplates").
807
828
  with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
808
829
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/vm_templates.xml", __FILE__)), :headers => {})
830
+ end
809
831
 
832
+ after(:all) do
833
+ VMM.constants.each do |constant|
834
+ VMM.send :remove_const, constant
835
+ end
810
836
  end
811
837
 
812
838
  it "should successfully parse null valued string properties" do
@@ -969,7 +995,7 @@ module OData
969
995
  it "doesn't error" do
970
996
  svc = OData::Service.new "http://test.com/test.svc/"
971
997
  svc.Categories.select "Name", "Products/Name"
972
- expect { svc.execute }.to_not raise_error(OData::ServiceError)
998
+ expect { svc.execute }.to_not raise_error
973
999
  end
974
1000
 
975
1001
  it "returns the classes with the properties filled in" do
metadata CHANGED
@@ -1,325 +1,266 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby_odata
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Damien White
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-11-19 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- prerelease: false
11
+ date: 2014-03-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: addressable
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
26
17
  - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 11
29
- segments:
30
- - 2
31
- - 3
32
- - 4
18
+ - !ruby/object:Gem::Version
33
19
  version: 2.3.4
34
20
  type: :runtime
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.3.4
27
+ - !ruby/object:Gem::Dependency
38
28
  name: i18n
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 7
45
- segments:
46
- - 0
47
- - 6
48
- - 0
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
49
33
  version: 0.6.0
50
34
  type: :runtime
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
53
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.6.0
41
+ - !ruby/object:Gem::Dependency
54
42
  name: activesupport
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
58
45
  - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 7
61
- segments:
62
- - 3
63
- - 0
64
- - 0
46
+ - !ruby/object:Gem::Version
65
47
  version: 3.0.0
66
48
  type: :runtime
67
- requirement: *id003
68
- - !ruby/object:Gem::Dependency
69
49
  prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - !ruby/object:Gem::Dependency
70
56
  name: rest-client
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
74
59
  - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 1
77
- segments:
78
- - 1
79
- - 5
80
- - 1
60
+ - !ruby/object:Gem::Version
81
61
  version: 1.5.1
82
62
  type: :runtime
83
- requirement: *id004
84
- - !ruby/object:Gem::Dependency
85
63
  prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.5.1
69
+ - !ruby/object:Gem::Dependency
86
70
  name: nokogiri
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
90
73
  - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 1
95
- - 4
96
- - 2
74
+ - !ruby/object:Gem::Version
97
75
  version: 1.4.2
98
76
  type: :runtime
99
- requirement: *id005
100
- - !ruby/object:Gem::Dependency
101
77
  prerelease: false
102
- name: backports
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
106
80
  - - ">="
107
- - !ruby/object:Gem::Version
108
- hash: 3
109
- segments:
110
- - 2
111
- - 3
112
- - 0
113
- version: 2.3.0
114
- type: :runtime
115
- requirement: *id006
116
- - !ruby/object:Gem::Dependency
117
- prerelease: false
81
+ - !ruby/object:Gem::Version
82
+ version: 1.4.2
83
+ - !ruby/object:Gem::Dependency
118
84
  name: rake
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
120
- none: false
121
- requirements:
122
- - - "="
123
- - !ruby/object:Gem::Version
124
- hash: 63
125
- segments:
126
- - 0
127
- - 9
128
- - 2
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
129
89
  version: 0.9.2
130
90
  type: :development
131
- requirement: *id007
132
- - !ruby/object:Gem::Dependency
133
91
  prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.9.2
97
+ - !ruby/object:Gem::Dependency
134
98
  name: rspec
135
- version_requirements: &id008 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ~>
139
- - !ruby/object:Gem::Version
140
- hash: 35
141
- segments:
142
- - 2
143
- - 11
144
- - 0
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
145
103
  version: 2.11.0
146
104
  type: :development
147
- requirement: *id008
148
- - !ruby/object:Gem::Dependency
149
105
  prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.11.0
111
+ - !ruby/object:Gem::Dependency
150
112
  name: cucumber
151
- version_requirements: &id009 !ruby/object:Gem::Requirement
152
- none: false
153
- requirements:
154
- - - ~>
155
- - !ruby/object:Gem::Version
156
- hash: 29
157
- segments:
158
- - 1
159
- - 2
160
- - 1
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
161
117
  version: 1.2.1
162
118
  type: :development
163
- requirement: *id009
164
- - !ruby/object:Gem::Dependency
165
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.2.1
125
+ - !ruby/object:Gem::Dependency
166
126
  name: pickle
167
- version_requirements: &id010 !ruby/object:Gem::Requirement
168
- none: false
169
- requirements:
170
- - - ~>
171
- - !ruby/object:Gem::Version
172
- hash: 25
173
- segments:
174
- - 0
175
- - 4
176
- - 11
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
177
131
  version: 0.4.11
178
132
  type: :development
179
- requirement: *id010
180
- - !ruby/object:Gem::Dependency
181
133
  prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.4.11
139
+ - !ruby/object:Gem::Dependency
182
140
  name: machinist
183
- version_requirements: &id011 !ruby/object:Gem::Requirement
184
- none: false
185
- requirements:
186
- - - ~>
187
- - !ruby/object:Gem::Version
188
- hash: 3
189
- segments:
190
- - 2
191
- - 0
192
- version: "2.0"
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '2.0'
193
146
  type: :development
194
- requirement: *id011
195
- - !ruby/object:Gem::Dependency
196
147
  prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.0'
153
+ - !ruby/object:Gem::Dependency
197
154
  name: webmock
198
- version_requirements: &id012 !ruby/object:Gem::Requirement
199
- none: false
200
- requirements:
201
- - - ~>
202
- - !ruby/object:Gem::Version
203
- hash: 59
204
- segments:
205
- - 1
206
- - 11
207
- - 0
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
208
159
  version: 1.11.0
209
160
  type: :development
210
- requirement: *id012
211
- - !ruby/object:Gem::Dependency
212
161
  prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.11.0
167
+ - !ruby/object:Gem::Dependency
213
168
  name: guard
214
- version_requirements: &id013 !ruby/object:Gem::Requirement
215
- none: false
216
- requirements:
217
- - - ~>
218
- - !ruby/object:Gem::Version
219
- hash: 27
220
- segments:
221
- - 1
222
- - 3
223
- - 0
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
224
173
  version: 1.3.0
225
174
  type: :development
226
- requirement: *id013
227
- - !ruby/object:Gem::Dependency
228
175
  prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.3.0
181
+ - !ruby/object:Gem::Dependency
229
182
  name: guard-rspec
230
- version_requirements: &id014 !ruby/object:Gem::Requirement
231
- none: false
232
- requirements:
233
- - - ~>
234
- - !ruby/object:Gem::Version
235
- hash: 29
236
- segments:
237
- - 1
238
- - 2
239
- - 1
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
240
187
  version: 1.2.1
241
188
  type: :development
242
- requirement: *id014
243
- - !ruby/object:Gem::Dependency
244
189
  prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.2.1
195
+ - !ruby/object:Gem::Dependency
245
196
  name: guard-cucumber
246
- version_requirements: &id015 !ruby/object:Gem::Requirement
247
- none: false
248
- requirements:
249
- - - ~>
250
- - !ruby/object:Gem::Version
251
- hash: 31
252
- segments:
253
- - 1
254
- - 2
255
- - 0
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
256
201
  version: 1.2.0
257
202
  type: :development
258
- requirement: *id015
259
- - !ruby/object:Gem::Dependency
260
203
  prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.2.0
209
+ - !ruby/object:Gem::Dependency
261
210
  name: vcr
262
- version_requirements: &id016 !ruby/object:Gem::Requirement
263
- none: false
264
- requirements:
265
- - - ~>
266
- - !ruby/object:Gem::Version
267
- hash: 27
268
- segments:
269
- - 2
270
- - 5
271
- - 0
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
272
215
  version: 2.5.0
273
216
  type: :development
274
- requirement: *id016
275
- - !ruby/object:Gem::Dependency
276
217
  prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 2.5.0
223
+ - !ruby/object:Gem::Dependency
277
224
  name: simplecov
278
- version_requirements: &id017 !ruby/object:Gem::Requirement
279
- none: false
280
- requirements:
281
- - - ~>
282
- - !ruby/object:Gem::Version
283
- hash: 1
284
- segments:
285
- - 0
286
- - 7
287
- - 1
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
288
229
  version: 0.7.1
289
230
  type: :development
290
- requirement: *id017
291
- - !ruby/object:Gem::Dependency
292
231
  prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.7.1
237
+ - !ruby/object:Gem::Dependency
293
238
  name: coveralls
294
- version_requirements: &id018 !ruby/object:Gem::Requirement
295
- none: false
296
- requirements:
297
- - - ~>
298
- - !ruby/object:Gem::Version
299
- hash: 9
300
- segments:
301
- - 0
302
- - 6
303
- - 7
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
304
243
  version: 0.6.7
305
244
  type: :development
306
- requirement: *id018
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.6.7
307
251
  description: An OData Client Library for Ruby. Use this to interact with OData services
308
- email:
252
+ email:
309
253
  - damien.white@visoftinc.com
310
254
  executables: []
311
-
312
255
  extensions: []
313
-
314
256
  extra_rdoc_files: []
315
-
316
- files:
317
- - .coveralls.yml
318
- - .gitignore
319
- - .rspec
320
- - .simplecov
321
- - .travis.yml
322
- - .yardopts
257
+ files:
258
+ - ".coveralls.yml"
259
+ - ".gitignore"
260
+ - ".rspec"
261
+ - ".simplecov"
262
+ - ".travis.yml"
263
+ - ".yardopts"
323
264
  - CHANGELOG.md
324
265
  - Gemfile
325
266
  - Guardfile
@@ -380,6 +321,7 @@ files:
380
321
  - spec/class_builder_spec.rb
381
322
  - spec/fixtures/edmx_empty.xml
382
323
  - spec/fixtures/edmx_lowercase.xml
324
+ - spec/fixtures/error_without_message.xml
383
325
  - spec/fixtures/feed_customization/edmx_feed_customization.xml
384
326
  - spec/fixtures/feed_customization/result_feed_customization_categories_expand.xml
385
327
  - spec/fixtures/feed_customization/result_feed_customization_products_expand.xml
@@ -391,6 +333,7 @@ files:
391
333
  - spec/fixtures/int64_ids/result_cars.xml
392
334
  - spec/fixtures/links/result_links_query.xml
393
335
  - spec/fixtures/ms_system_center/edmx_ms_system_center.xml
336
+ - spec/fixtures/ms_system_center/edmx_ms_system_center_v2.xml
394
337
  - spec/fixtures/ms_system_center/hardware_profiles.xml
395
338
  - spec/fixtures/ms_system_center/virtual_machines.xml
396
339
  - spec/fixtures/ms_system_center/vm_templates.xml
@@ -532,39 +475,30 @@ files:
532
475
  - test/usage_samples/reflection.rb
533
476
  - test/usage_samples/sample_data.rb
534
477
  homepage: http://github.com/visoft/ruby_odata
535
- licenses: []
536
-
478
+ licenses:
479
+ - MIT
480
+ metadata: {}
537
481
  post_install_message:
538
482
  rdoc_options: []
539
-
540
- require_paths:
483
+ require_paths:
541
484
  - lib
542
- required_ruby_version: !ruby/object:Gem::Requirement
543
- none: false
544
- requirements:
485
+ required_ruby_version: !ruby/object:Gem::Requirement
486
+ requirements:
545
487
  - - ">="
546
- - !ruby/object:Gem::Version
547
- hash: 3
548
- segments:
549
- - 0
550
- version: "0"
551
- required_rubygems_version: !ruby/object:Gem::Requirement
552
- none: false
553
- requirements:
488
+ - !ruby/object:Gem::Version
489
+ version: 1.9.3
490
+ required_rubygems_version: !ruby/object:Gem::Requirement
491
+ requirements:
554
492
  - - ">="
555
- - !ruby/object:Gem::Version
556
- hash: 3
557
- segments:
558
- - 0
559
- version: "0"
493
+ - !ruby/object:Gem::Version
494
+ version: '0'
560
495
  requirements: []
561
-
562
496
  rubyforge_project: ruby-odata
563
- rubygems_version: 1.8.25
497
+ rubygems_version: 2.2.2
564
498
  signing_key:
565
- specification_version: 3
499
+ specification_version: 4
566
500
  summary: Ruby consumer of OData services.
567
- test_files:
501
+ test_files:
568
502
  - features/basic_auth.feature
569
503
  - features/batch_request.feature
570
504
  - features/cassettes/basic_auth_protected_resource.yml
@@ -606,6 +540,7 @@ test_files:
606
540
  - spec/class_builder_spec.rb
607
541
  - spec/fixtures/edmx_empty.xml
608
542
  - spec/fixtures/edmx_lowercase.xml
543
+ - spec/fixtures/error_without_message.xml
609
544
  - spec/fixtures/feed_customization/edmx_feed_customization.xml
610
545
  - spec/fixtures/feed_customization/result_feed_customization_categories_expand.xml
611
546
  - spec/fixtures/feed_customization/result_feed_customization_products_expand.xml
@@ -617,6 +552,7 @@ test_files:
617
552
  - spec/fixtures/int64_ids/result_cars.xml
618
553
  - spec/fixtures/links/result_links_query.xml
619
554
  - spec/fixtures/ms_system_center/edmx_ms_system_center.xml
555
+ - spec/fixtures/ms_system_center/edmx_ms_system_center_v2.xml
620
556
  - spec/fixtures/ms_system_center/hardware_profiles.xml
621
557
  - spec/fixtures/ms_system_center/virtual_machines.xml
622
558
  - spec/fixtures/ms_system_center/vm_templates.xml