cf-uaa-lib 3.0.0 → 3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9bf9b6c77939ea097c5e4e04bb84b56fcc2ee251
4
- data.tar.gz: 3363c83dc1fa3b1b946296b492f8652f2190cd2f
3
+ metadata.gz: 6b4d37f1fd550f4599f73272b8585b71000afb91
4
+ data.tar.gz: 857e2c137890ee3dc1dd0b699581c1e644935885
5
5
  SHA512:
6
- metadata.gz: a6be5ce23db43f6dd8e30f4ea127239abd1b77145d3ead280530e2c11a30ee693a40c18c5ff1f3387c7fd98d904b080f381cef5913e9227bc813263c006513a2
7
- data.tar.gz: 9bacf86eea0a2215a87131aacabe7c48d7967419a0e2e8ae407ebf67b10b1baefa46c3f88898c58aaf7f9f7a4ebe7926d6e800578753bd599bd4608c89c0b374
6
+ metadata.gz: a9ab7f79ec21ae03a11c40731395eaef4ac6239277b54c9270aabad6c44a203350a0337a4d320f4aa5cdf03f0b485ec562a3fe26c9214a02838e25ba3c79300f
7
+ data.tar.gz: 5c5127f173c8b05d6ec032783b40cb4c69c142e3368f2188375d1aa1448d8f71e4955cbe4eb8f1ee46100285c57e858a6bd042423142b2cfe8d68f99de26dc12
data/Gemfile CHANGED
@@ -1,5 +1,6 @@
1
- # Cloud Foundry 2012.02.03 Beta
2
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
1
+ #--
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
3
4
  #
4
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
5
6
  # You may not use this product except in compliance with the License.
@@ -8,7 +9,7 @@
8
9
  # separate copyright notices and license terms. Your use of these
9
10
  # subcomponents is subject to the terms and conditions of the
10
11
  # subcomponent's license, as noted in the LICENSE file.
11
- #
12
+ #++
12
13
 
13
14
  source "http://rubygems.org"
14
15
 
data/NOTICE.TXT CHANGED
@@ -1,10 +1,10 @@
1
- Cloud Foundry 2012.02.03 Beta
2
- Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
1
+ Cloud Foundry
2
+ Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
3
3
 
4
- This product is licensed to you under the Apache License, Version 2.0 (the "License").
5
- You may not use this product except in compliance with the License.
4
+ This product is licensed to you under the Apache License, Version 2.0 (the "License").
5
+ You may not use this product except in compliance with the License.
6
6
 
7
7
  This product includes a number of subcomponents with
8
8
  separate copyright notices and license terms. Your use of these
9
- subcomponents is subject to the terms and conditions of the
10
- subcomponent's license, as noted in the LICENSE file.
9
+ subcomponents is subject to the terms and conditions of the
10
+ subcomponent's license, as noted in the LICENSE file.
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
- # Cloud Foundry 2012.02.03 Beta
2
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
1
+ #--
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
3
4
  #
4
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
5
6
  # You may not use this product except in compliance with the License.
@@ -8,7 +9,7 @@
8
9
  # separate copyright notices and license terms. Your use of these
9
10
  # subcomponents is subject to the terms and conditions of the
10
11
  # subcomponent's license, as noted in the LICENSE file.
11
- #
12
+ #++
12
13
 
13
14
  require "rspec/core/rake_task"
14
15
  require "bundler/gem_tasks" # only available in bundler >= 1.0.15
data/cf-uaa-lib.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
- #
3
- # Cloud Foundry 2012.02.03 Beta
4
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ #--
3
+ # Cloud Foundry
4
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
5
5
  #
6
6
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
7
7
  # You may not use this product except in compliance with the License.
@@ -10,7 +10,7 @@
10
10
  # separate copyright notices and license terms. Your use of these
11
11
  # subcomponents is subject to the terms and conditions of the
12
12
  # subcomponent's license, as noted in the LICENSE file.
13
- #
13
+ #++
14
14
 
15
15
  $:.push File.expand_path("../lib", __FILE__)
16
16
  require "uaa/version"
data/lib/uaa/http.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
data/lib/uaa/info.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -1,3 +1,16 @@
1
+ #--
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
+ #
5
+ # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
+ # You may not use this product except in compliance with the License.
7
+ #
8
+ # This product includes a number of subcomponents with
9
+ # separate copyright notices and license terms. Your use of these
10
+ # subcomponents is subject to the terms and conditions of the
11
+ # subcomponent's license, as noted in the LICENSE file.
12
+ #++
13
+
1
14
  module CF::UAA
2
15
  module ProxyOptions
3
16
  def proxy_options_for(uri)
data/lib/uaa/scim.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -70,7 +70,7 @@ class Scim
70
70
  # an attempt to hide some scim and uaa oddities
71
71
  def type_info(type, elem)
72
72
  scimfo = {:user => ["/Users", "userName"], :group => ["/Groups", "displayName"],
73
- :client => ["/oauth/clients", 'client_id'], :user_id => ["/ids/Users", 'userName']}
73
+ :client => ["/oauth/clients", 'client_id'], :user_id => ["/ids/Users", 'userName'], :group_mapping => ["/Groups/External", "externalGroup"]}
74
74
  unless elem == :path || elem == :name_attr
75
75
  raise ArgumentError, "scim schema element must be :path or :name_attr"
76
76
  end
@@ -307,6 +307,23 @@ class Scim
307
307
  'authorization' => @auth_header))
308
308
  end
309
309
 
310
+ def map_group(group, is_id, external_group)
311
+ key_name = is_id ? :groupId : :displayName
312
+ request = {key_name => group, :externalGroup => external_group, :schemas => ["urn:scim:schemas:core:1.0"] }
313
+ result = json_parse_reply(@key_style, *json_post(@target,
314
+ "#{type_info(:group_mapping, :path)}", request,
315
+ 'authorization' => @auth_header))
316
+ result
317
+ end
318
+
319
+ def unmap_group(group_id, external_group)
320
+ http_delete(@target, "#{type_info(:group_mapping, :path)}/id/#{group_id}/#{external_group}",
321
+ @auth_header)
322
+ end
323
+
324
+ def list_group_mappings(start = nil, count = nil)
325
+ json_get(@target, "#{type_info(:group_mapping, :path)}/list?startIndex=#{start}&count=#{count}", @key_style, 'authorization' => @auth_header)
326
+ end
310
327
  end
311
328
 
312
329
  end
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
data/lib/uaa/util.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
data/lib/uaa/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -14,6 +14,6 @@
14
14
  # Cloud Foundry namespace
15
15
  module CF
16
16
  module UAA
17
- VERSION = "3.0.0"
17
+ VERSION = "3.1.0"
18
18
  end
19
19
  end
data/spec/info_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
data/spec/scim_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -13,6 +13,8 @@
13
13
 
14
14
  require 'spec_helper'
15
15
  require 'uaa/scim'
16
+ require 'uri'
17
+ require 'cgi'
16
18
 
17
19
  module CF::UAA
18
20
 
@@ -139,6 +141,72 @@ describe Scim do
139
141
  result['id'].should == "id12345"
140
142
  end
141
143
 
144
+ it "adds a mapping from uaa groups to external group" do
145
+ subject.set_request_handler do |url, method, body, headers|
146
+ url.should == "#{@target}/Groups/External"
147
+ method.should == :post
148
+ check_headers(headers, :json, :json)
149
+ body.should include('"displayName":"uaa-scope-name"', '"externalGroup":"external-group-name"', '"schemas":["urn:scim:schemas:core:1.0"]')
150
+ [201, '{"displayName":"uaa-scope-name", "externalGroup": "external-group-name"}', {"content-type" => "application/json"}]
151
+ end
152
+ result = subject.map_group("uaa-scope-name", false, "external-group-name")
153
+ result['displayname'].should == "uaa-scope-name"
154
+ result['externalgroup'].should == "external-group-name"
155
+ end
156
+
157
+ it "unmaps a uaa group from an external group" do
158
+ subject.set_request_handler do |url, method, body, headers|
159
+ url.should == "#{@target}/Groups/External/id/uaa-group-id/external-group-name"
160
+ method.should == :delete
161
+ check_headers(headers, nil, nil)
162
+
163
+ [200, '{"displayName":"uaa-scope-name", "groupId": "uaa-group-id", "externalGroup": "external-group-name"}', {"content-type" => "application/json"}]
164
+ end
165
+ subject.unmap_group("uaa-group-id", "external-group-name")
166
+ end
167
+
168
+ describe "#list_group_mappings" do
169
+ it "lists all the external group mappings with default pagination" do
170
+ subject.set_request_handler do |url, method, body, headers|
171
+ url.should start_with("#{@target}/Groups/External/list")
172
+ method.should == :get
173
+ check_headers(headers, nil, :json)
174
+
175
+ [
176
+ 200,
177
+ '{"resources": [{"groupId": "group-id", "displayName": "group-name", "externalGroup": "external-group-name"}], "totalResults": 1 }',
178
+ {"content-type" => "application/json"}
179
+ ]
180
+ end
181
+
182
+ result = subject.list_group_mappings
183
+ result['resources'].length.should == 1
184
+ result['totalresults'].should == 1
185
+ end
186
+
187
+ it "lists a page of external group mappings starting from an index" do
188
+ subject.set_request_handler do |url, method, body, headers|
189
+ url.should start_with("#{@target}/Groups/External/list")
190
+ method.should == :get
191
+ check_headers(headers, nil, :json)
192
+
193
+ query_params = CGI::parse(URI.parse(url).query)
194
+ start_index = query_params["startIndex"].first
195
+ count = query_params["count"].first
196
+
197
+ start_index.should == "3"
198
+ count.should == "10"
199
+
200
+ [
201
+ 200,
202
+ '{"resources": [{"groupId": "group-id", "displayName": "group-name", "externalGroup": "external-group-name"}], "totalResults": 1 }',
203
+ {"content-type" => "application/json"}
204
+ ]
205
+ end
206
+
207
+ subject.list_group_mappings(3, 10)
208
+ end
209
+ end
142
210
  end
143
211
 
144
212
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  #--
2
- # Cloud Foundry 2012.02.03 Beta
3
- # Copyright (c) [2009-2012] VMware, Inc. All Rights Reserved.
2
+ # Cloud Foundry
3
+ # Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
4
4
  #
5
5
  # This product is licensed to you under the Apache License, Version 2.0 (the "License").
6
6
  # You may not use this product except in compliance with the License.
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.0.0
4
+ version: 3.1.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: 2014-08-06 00:00:00.000000000 Z
15
+ date: 2014-08-26 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: multi_json