stormpath-sdk 1.0.0.beta.7 → 1.0.0.beta.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +8 -29
  3. data/CHANGES.md +10 -0
  4. data/README.md +64 -0
  5. data/lib/stormpath-sdk.rb +5 -1
  6. data/lib/stormpath-sdk/api_key.rb +0 -3
  7. data/lib/stormpath-sdk/auth/basic_authenticator.rb +1 -1
  8. data/lib/stormpath-sdk/auth/username_password_request.rb +1 -1
  9. data/lib/stormpath-sdk/client.rb +16 -17
  10. data/lib/stormpath-sdk/data_store.rb +4 -3
  11. data/lib/stormpath-sdk/error.rb +19 -18
  12. data/lib/stormpath-sdk/http/authc/sauthc1_signer.rb +18 -28
  13. data/lib/stormpath-sdk/http/http_client_request_executor.rb +5 -16
  14. data/lib/stormpath-sdk/http/request.rb +3 -2
  15. data/lib/stormpath-sdk/http/response.rb +3 -3
  16. data/lib/stormpath-sdk/id_site/id_site_result.rb +17 -0
  17. data/lib/stormpath-sdk/resource/application.rb +35 -1
  18. data/lib/stormpath-sdk/resource/collection.rb +1 -1
  19. data/lib/stormpath-sdk/resource/directory.rb +2 -0
  20. data/lib/stormpath-sdk/resource/group.rb +1 -1
  21. data/lib/stormpath-sdk/resource/tenant.rb +2 -0
  22. data/lib/stormpath-sdk/util/assert.rb +4 -4
  23. data/lib/stormpath-sdk/version.rb +2 -2
  24. data/spec/auth/basic_authenticator_spec.rb +1 -1
  25. data/spec/auth/sauthc1_signer_spec.rb +4 -4
  26. data/spec/client_spec.rb +1 -1
  27. data/spec/data_store_spec.rb +1 -1
  28. data/spec/provider/account_resolver_spec.rb +1 -1
  29. data/spec/resource/application_spec.rb +176 -0
  30. data/spec/resource/collection_spec.rb +4 -4
  31. data/spec/resource/directory_spec.rb +18 -0
  32. data/spec/resource/group_spec.rb +11 -0
  33. data/spec/resource/tenant_spec.rb +12 -0
  34. data/spec/spec_helper.rb +5 -1
  35. data/stormpath-sdk.gemspec +1 -0
  36. metadata +61 -81
  37. data/lib/stormpath-sdk/ext/hash.rb +0 -31
@@ -230,19 +230,19 @@ describe Stormpath::Resource::Collection, :vcr do
230
230
 
231
231
  expect(directory.groups.limit(30).count).to eq(100)
232
232
 
233
- expect(directory.groups.limit(30).current_page.items.count).to eq(30)
233
+ expect(directory.groups.limit(30).current_page.size).to eq(100)
234
234
 
235
235
  expect(directory.groups.limit(30).offset(30).count).to eq(70)
236
236
 
237
- expect(directory.groups.limit(30).offset(30).current_page.items.count).to eq(30)
237
+ expect(directory.groups.limit(30).offset(30).current_page.size).to eq(100)
238
238
 
239
239
  expect(directory.groups.limit(30).offset(60).count).to eq(40)
240
240
 
241
- expect(directory.groups.limit(30).offset(60).current_page.items.count).to eq(30)
241
+ expect(directory.groups.limit(30).offset(60).current_page.size).to eq(100)
242
242
 
243
243
  expect(directory.groups.limit(30).offset(90).count).to eq(10)
244
244
 
245
- expect(directory.groups.limit(30).offset(90).current_page.items.count).to eq(10)
245
+ expect(directory.groups.limit(30).offset(90).current_page.size).to eq(100)
246
246
 
247
247
  expect(directory.groups.limit(30).map {|group| group.name }).to eq(('1'..'100').to_a.sort)
248
248
 
@@ -21,6 +21,7 @@ describe Stormpath::Resource::Directory, :vcr do
21
21
  expect(directory.tenant).to be_a Stormpath::Resource::Tenant
22
22
  expect(directory.groups).to be_a Stormpath::Resource::Collection
23
23
  expect(directory.accounts).to be_a Stormpath::Resource::Collection
24
+ expect(directory.custom_data).to be_a Stormpath::Resource::CustomData
24
25
  end
25
26
  end
26
27
 
@@ -127,6 +128,23 @@ describe Stormpath::Resource::Directory, :vcr do
127
128
 
128
129
  end
129
130
 
131
+ describe '#create_directory_with_custom_data' do
132
+ let(:directory) { test_api_client.directories.create name: random_directory_name, description: 'description_for_some_test_directory' }
133
+
134
+ after do
135
+ directory.delete if directory
136
+ end
137
+
138
+ it 'creates an directory with custom data' do
139
+ directory.custom_data["category"] = "classified"
140
+
141
+ directory.save
142
+ expect(directory.name).to eq(random_directory_name)
143
+ expect(directory.description).to eq('description_for_some_test_directory')
144
+ expect(directory.custom_data["category"]).to eq("classified")
145
+ end
146
+ end
147
+
130
148
  describe '#create_account_with_custom_data' do
131
149
  let(:directory) { test_directory }
132
150
 
@@ -26,6 +26,17 @@ describe Stormpath::Resource::Group, :vcr do
26
26
  end
27
27
  end
28
28
 
29
+ describe '#create_group_with_custom_data' do
30
+ let(:directory) { test_directory }
31
+
32
+ it 'creates a directory with custom data' do
33
+ directory.custom_data["category"] = "classified"
34
+
35
+ directory.save
36
+ expect(directory.custom_data["category"]).to eq("classified")
37
+ end
38
+ end
39
+
29
40
  describe '#add_or_remove_account' do
30
41
  context "given an account" do
31
42
 
@@ -15,6 +15,18 @@ describe Stormpath::Resource::Tenant, :vcr do
15
15
 
16
16
  expect(tenant.applications).to be_a Stormpath::Resource::Collection
17
17
  expect(tenant.directories).to be_a Stormpath::Resource::Collection
18
+ expect(tenant.custom_data).to be_a Stormpath::Resource::CustomData
19
+ end
20
+ end
21
+
22
+ describe '#create_tenant_with_custom_data' do
23
+ let(:tenant) { test_api_client.tenant }
24
+
25
+ it 'creates an tenant with custom data' do
26
+ tenant.custom_data["category"] = "classified"
27
+
28
+ tenant.save
29
+ expect(tenant.custom_data["category"]).to eq("classified")
18
30
  end
19
31
  end
20
32
 
@@ -2,12 +2,16 @@
2
2
  # it won't be able to track your files and their coverage! The SimpleCov.start must be
3
3
  # issued before any of your application code is required!
4
4
  require 'simplecov'
5
- SimpleCov.start
5
+ SimpleCov.start do
6
+ add_filter {|src| src.filename =~ /spec/ }
7
+ end
6
8
 
7
9
  require 'stormpath-sdk'
8
10
  require 'pry'
9
11
  require 'webmock/rspec'
10
12
  require 'vcr'
13
+ require 'jwt'
14
+ require 'uuidtools'
11
15
 
12
16
  Dir['./spec/support/*.rb'].each { |file| require file }
13
17
 
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency('activesupport', '>= 3.2.8')
21
21
  s.add_dependency('properties-ruby', "~> 0.0.4")
22
22
  s.add_dependency('java_properties')
23
+ s.add_dependency('jwt', '>= 1.5.0')
23
24
 
24
25
  s.add_development_dependency 'rake', '~> 0.9.2'
25
26
  s.add_development_dependency 'rspec', '~> 3.0.0'
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stormpath-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.7
5
- prerelease: 6
4
+ version: 1.0.0.beta.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Stormpath, Inc
@@ -10,262 +9,244 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-07-21 00:00:00.000000000 Z
12
+ date: 2015-07-28 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: multi_json
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
20
  version: 1.3.6
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
27
  version: 1.3.6
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: httpclient
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - ">="
37
33
  - !ruby/object:Gem::Version
38
34
  version: 2.2.5
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - ">="
45
40
  - !ruby/object:Gem::Version
46
41
  version: 2.2.5
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: uuidtools
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - ">="
53
47
  - !ruby/object:Gem::Version
54
48
  version: 2.1.3
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - ">="
61
54
  - !ruby/object:Gem::Version
62
55
  version: 2.1.3
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: activesupport
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - ">="
69
61
  - !ruby/object:Gem::Version
70
62
  version: 3.2.8
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - ">="
77
68
  - !ruby/object:Gem::Version
78
69
  version: 3.2.8
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: properties-ruby
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ~>
74
+ - - "~>"
85
75
  - !ruby/object:Gem::Version
86
76
  version: 0.0.4
87
77
  type: :runtime
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ~>
81
+ - - "~>"
93
82
  - !ruby/object:Gem::Version
94
83
  version: 0.0.4
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: java_properties
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ! '>='
88
+ - - ">="
101
89
  - !ruby/object:Gem::Version
102
90
  version: '0'
103
91
  type: :runtime
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ! '>='
95
+ - - ">="
109
96
  - !ruby/object:Gem::Version
110
97
  version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: jwt
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 1.5.0
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 1.5.0
111
112
  - !ruby/object:Gem::Dependency
112
113
  name: rake
113
114
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
115
  requirements:
116
- - - ~>
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
118
  version: 0.9.2
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
122
  requirements:
124
- - - ~>
123
+ - - "~>"
125
124
  - !ruby/object:Gem::Version
126
125
  version: 0.9.2
127
126
  - !ruby/object:Gem::Dependency
128
127
  name: rspec
129
128
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
129
  requirements:
132
- - - ~>
130
+ - - "~>"
133
131
  - !ruby/object:Gem::Version
134
132
  version: 3.0.0
135
133
  type: :development
136
134
  prerelease: false
137
135
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
136
  requirements:
140
- - - ~>
137
+ - - "~>"
141
138
  - !ruby/object:Gem::Version
142
139
  version: 3.0.0
143
140
  - !ruby/object:Gem::Dependency
144
141
  name: guard-rspec
145
142
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
143
  requirements:
148
- - - ~>
144
+ - - "~>"
149
145
  - !ruby/object:Gem::Version
150
146
  version: 4.2.10
151
147
  type: :development
152
148
  prerelease: false
153
149
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
150
  requirements:
156
- - - ~>
151
+ - - "~>"
157
152
  - !ruby/object:Gem::Version
158
153
  version: 4.2.10
159
154
  - !ruby/object:Gem::Dependency
160
155
  name: rack
161
156
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
157
  requirements:
164
- - - ~>
158
+ - - "~>"
165
159
  - !ruby/object:Gem::Version
166
160
  version: 1.4.1
167
161
  type: :development
168
162
  prerelease: false
169
163
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
164
  requirements:
172
- - - ~>
165
+ - - "~>"
173
166
  - !ruby/object:Gem::Version
174
167
  version: 1.4.1
175
168
  - !ruby/object:Gem::Dependency
176
169
  name: webmock
177
170
  requirement: !ruby/object:Gem::Requirement
178
- none: false
179
171
  requirements:
180
- - - ~>
172
+ - - "~>"
181
173
  - !ruby/object:Gem::Version
182
174
  version: 1.17.4
183
175
  type: :development
184
176
  prerelease: false
185
177
  version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
178
  requirements:
188
- - - ~>
179
+ - - "~>"
189
180
  - !ruby/object:Gem::Version
190
181
  version: 1.17.4
191
182
  - !ruby/object:Gem::Dependency
192
183
  name: simplecov
193
184
  requirement: !ruby/object:Gem::Requirement
194
- none: false
195
185
  requirements:
196
- - - ~>
186
+ - - "~>"
197
187
  - !ruby/object:Gem::Version
198
188
  version: 0.7.1
199
189
  type: :development
200
190
  prerelease: false
201
191
  version_requirements: !ruby/object:Gem::Requirement
202
- none: false
203
192
  requirements:
204
- - - ~>
193
+ - - "~>"
205
194
  - !ruby/object:Gem::Version
206
195
  version: 0.7.1
207
196
  - !ruby/object:Gem::Dependency
208
197
  name: pry
209
198
  requirement: !ruby/object:Gem::Requirement
210
- none: false
211
199
  requirements:
212
- - - ~>
200
+ - - "~>"
213
201
  - !ruby/object:Gem::Version
214
202
  version: 0.9.12.1
215
203
  type: :development
216
204
  prerelease: false
217
205
  version_requirements: !ruby/object:Gem::Requirement
218
- none: false
219
206
  requirements:
220
- - - ~>
207
+ - - "~>"
221
208
  - !ruby/object:Gem::Version
222
209
  version: 0.9.12.1
223
210
  - !ruby/object:Gem::Dependency
224
211
  name: vcr
225
212
  requirement: !ruby/object:Gem::Requirement
226
- none: false
227
213
  requirements:
228
- - - ~>
214
+ - - "~>"
229
215
  - !ruby/object:Gem::Version
230
216
  version: 2.9.2
231
217
  type: :development
232
218
  prerelease: false
233
219
  version_requirements: !ruby/object:Gem::Requirement
234
- none: false
235
220
  requirements:
236
- - - ~>
221
+ - - "~>"
237
222
  - !ruby/object:Gem::Version
238
223
  version: 2.9.2
239
224
  - !ruby/object:Gem::Dependency
240
225
  name: timecop
241
226
  requirement: !ruby/object:Gem::Requirement
242
- none: false
243
227
  requirements:
244
- - - ~>
228
+ - - "~>"
245
229
  - !ruby/object:Gem::Version
246
230
  version: 0.6.1
247
231
  type: :development
248
232
  prerelease: false
249
233
  version_requirements: !ruby/object:Gem::Requirement
250
- none: false
251
234
  requirements:
252
- - - ~>
235
+ - - "~>"
253
236
  - !ruby/object:Gem::Version
254
237
  version: 0.6.1
255
238
  - !ruby/object:Gem::Dependency
256
239
  name: redis
257
240
  requirement: !ruby/object:Gem::Requirement
258
- none: false
259
241
  requirements:
260
- - - ~>
242
+ - - "~>"
261
243
  - !ruby/object:Gem::Version
262
244
  version: 3.0.4
263
245
  type: :development
264
246
  prerelease: false
265
247
  version_requirements: !ruby/object:Gem::Requirement
266
- none: false
267
248
  requirements:
268
- - - ~>
249
+ - - "~>"
269
250
  - !ruby/object:Gem::Version
270
251
  version: 3.0.4
271
252
  description: Stormpath SDK used to interact with the Stormpath REST API
@@ -274,9 +255,9 @@ executables: []
274
255
  extensions: []
275
256
  extra_rdoc_files: []
276
257
  files:
277
- - .gitignore
278
- - .ruby-gemset
279
- - .travis.yml
258
+ - ".gitignore"
259
+ - ".ruby-gemset"
260
+ - ".travis.yml"
280
261
  - CHANGES.md
281
262
  - Gemfile
282
263
  - README.md
@@ -297,12 +278,12 @@ files:
297
278
  - lib/stormpath-sdk/client.rb
298
279
  - lib/stormpath-sdk/data_store.rb
299
280
  - lib/stormpath-sdk/error.rb
300
- - lib/stormpath-sdk/ext/hash.rb
301
281
  - lib/stormpath-sdk/http/authc/sauthc1_signer.rb
302
282
  - lib/stormpath-sdk/http/http_client_request_executor.rb
303
283
  - lib/stormpath-sdk/http/request.rb
304
284
  - lib/stormpath-sdk/http/response.rb
305
285
  - lib/stormpath-sdk/http/utils.rb
286
+ - lib/stormpath-sdk/id_site/id_site_result.rb
306
287
  - lib/stormpath-sdk/provider/account_access.rb
307
288
  - lib/stormpath-sdk/provider/account_request.rb
308
289
  - lib/stormpath-sdk/provider/account_resolver.rb
@@ -374,31 +355,30 @@ files:
374
355
  - support/api.rb
375
356
  homepage: https://github.com/stormpath/stormpath-sdk-ruby
376
357
  licenses: []
358
+ metadata: {}
377
359
  post_install_message:
378
360
  rdoc_options:
379
- - --line-numbers
380
- - --inline-source
381
- - --title
361
+ - "--line-numbers"
362
+ - "--inline-source"
363
+ - "--title"
382
364
  - stormpath-sdk
383
- - --main
365
+ - "--main"
384
366
  require_paths:
385
367
  - lib
386
368
  required_ruby_version: !ruby/object:Gem::Requirement
387
- none: false
388
369
  requirements:
389
- - - ! '>='
370
+ - - ">="
390
371
  - !ruby/object:Gem::Version
391
372
  version: '0'
392
373
  required_rubygems_version: !ruby/object:Gem::Requirement
393
- none: false
394
374
  requirements:
395
- - - ! '>'
375
+ - - ">"
396
376
  - !ruby/object:Gem::Version
397
377
  version: 1.3.1
398
378
  requirements: []
399
379
  rubyforge_project:
400
- rubygems_version: 1.8.25
380
+ rubygems_version: 2.4.6
401
381
  signing_key:
402
- specification_version: 3
382
+ specification_version: 4
403
383
  summary: Stormpath SDK
404
384
  test_files: []