cf-uaa-lib 3.3.0 → 3.4.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.
- checksums.yaml +4 -4
- data/lib/uaa/scim.rb +4 -4
- data/lib/uaa/version.rb +1 -1
- data/spec/scim_spec.rb +26 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f245d2cfe14edb44c63bc69fa6fe487f4ef64589
|
4
|
+
data.tar.gz: c0f530c759641e62bf5f0b38be7233233e058ed0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70bb9323f4c2955b266a8ad69f3b274ff3e1dda1c8aee11d15920b00fcbe5104281077cf3249cfdcbda0f260789ef9ff3ef9cd62b45376eecd86b38863975434
|
7
|
+
data.tar.gz: 4f0a349fdcc4635de8c7692783353d7c5fda26e974fa4423f73c3f8b968666a977071a56cb738a10ff6fa453913dd49e744739ecfd5d1232b6d58df0e09535df
|
data/lib/uaa/scim.rb
CHANGED
@@ -315,17 +315,17 @@ class Scim
|
|
315
315
|
"#{type_info(:client, :path)}/#{URI.encode(client_id)}/secret", req, headers))
|
316
316
|
end
|
317
317
|
|
318
|
-
def map_group(group, is_id, external_group)
|
318
|
+
def map_group(group, is_id, external_group, origin = "ldap")
|
319
319
|
key_name = is_id ? :groupId : :displayName
|
320
|
-
request = {key_name => group, :externalGroup => external_group, :schemas => ["urn:scim:schemas:core:1.0"] }
|
320
|
+
request = {key_name => group, :externalGroup => external_group, :schemas => ["urn:scim:schemas:core:1.0"], :origin => origin }
|
321
321
|
result = json_parse_reply(@key_style, *json_post(@target,
|
322
322
|
"#{type_info(:group_mapping, :path)}", request,
|
323
323
|
headers))
|
324
324
|
result
|
325
325
|
end
|
326
326
|
|
327
|
-
def unmap_group(group_id, external_group)
|
328
|
-
http_delete(@target, "#{type_info(:group_mapping, :path)}/
|
327
|
+
def unmap_group(group_id, external_group, origin = "ldap")
|
328
|
+
http_delete(@target, "#{type_info(:group_mapping, :path)}/groupId/#{group_id}/externalGroup/#{URI.encode(external_group)}/origin/#{origin}",
|
329
329
|
@auth_header, @zone)
|
330
330
|
end
|
331
331
|
|
data/lib/uaa/version.rb
CHANGED
data/spec/scim_spec.rb
CHANGED
@@ -157,7 +157,20 @@ describe Scim do
|
|
157
157
|
url.should == "#{@target}/Groups/External"
|
158
158
|
method.should == :post
|
159
159
|
check_headers(headers, :json, :json, nil)
|
160
|
-
body.should include('"displayName":"uaa-scope-name"', '"externalGroup":"external-group-name"', '"schemas":["urn:scim:schemas:core:1.0"]')
|
160
|
+
body.should include('"displayName":"uaa-scope-name"', '"externalGroup":"external-group-name"', '"schemas":["urn:scim:schemas:core:1.0"]', '"origin":"test-origin"')
|
161
|
+
[201, '{"displayName":"uaa-scope-name", "externalGroup": "external-group-name"}', {"content-type" => "application/json"}]
|
162
|
+
end
|
163
|
+
result = subject.map_group("uaa-scope-name", false, "external-group-name", "test-origin")
|
164
|
+
result['displayname'].should == "uaa-scope-name"
|
165
|
+
result['externalgroup'].should == "external-group-name"
|
166
|
+
end
|
167
|
+
|
168
|
+
it "defaults to ldap origin when mapping a uaa group from an external group" do
|
169
|
+
subject.set_request_handler do |url, method, body, headers|
|
170
|
+
url.should == "#{@target}/Groups/External"
|
171
|
+
method.should == :post
|
172
|
+
check_headers(headers, :json, :json, nil)
|
173
|
+
body.should include('"displayName":"uaa-scope-name"', '"externalGroup":"external-group-name"', '"schemas":["urn:scim:schemas:core:1.0"]', '"origin":"ldap"')
|
161
174
|
[201, '{"displayName":"uaa-scope-name", "externalGroup": "external-group-name"}', {"content-type" => "application/json"}]
|
162
175
|
end
|
163
176
|
result = subject.map_group("uaa-scope-name", false, "external-group-name")
|
@@ -167,7 +180,18 @@ describe Scim do
|
|
167
180
|
|
168
181
|
it "unmaps a uaa group from an external group" do
|
169
182
|
subject.set_request_handler do |url, method, body, headers|
|
170
|
-
url.should == "#{@target}/Groups/External/
|
183
|
+
url.should == "#{@target}/Groups/External/groupId/uaa-group-id/externalGroup/external%20group%20name/origin/test-origin"
|
184
|
+
method.should == :delete
|
185
|
+
check_headers(headers, nil, nil, nil)
|
186
|
+
|
187
|
+
[200, '{"displayName":"uaa-scope-name", "groupId": "uaa-group-id", "externalGroup": "external-group-name"}', {"content-type" => "application/json"}]
|
188
|
+
end
|
189
|
+
subject.unmap_group("uaa-group-id", "external group name", "test-origin")
|
190
|
+
end
|
191
|
+
|
192
|
+
it "defaults to ldap origin when unmapping a uaa group from an external group" do
|
193
|
+
subject.set_request_handler do |url, method, body, headers|
|
194
|
+
url.should == "#{@target}/Groups/External/groupId/uaa-group-id/externalGroup/external%20group%20name/origin/ldap"
|
171
195
|
method.should == :delete
|
172
196
|
check_headers(headers, nil, nil, nil)
|
173
197
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cf-uaa-lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Syer
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2016-03-
|
15
|
+
date: 2016-03-31 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: multi_json
|
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: '0'
|
188
188
|
requirements: []
|
189
189
|
rubyforge_project: cf-uaa-lib
|
190
|
-
rubygems_version: 2.2.
|
190
|
+
rubygems_version: 2.2.2
|
191
191
|
signing_key:
|
192
192
|
specification_version: 4
|
193
193
|
summary: Client library for CloudFoundry UAA
|