cf-uaac 3.13.1 → 4.0.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/cli/group.rb +3 -37
- data/lib/uaa/cli/version.rb +1 -1
- data/spec/group_spec.rb +0 -51
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb3a16efbbbd2a3b0bff7ebab805279ace288798
|
4
|
+
data.tar.gz: 7a64f69585ad57c783213e13be0689caa03352dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d0e17c6c6e7e1e75c595c7c40bd486941b05ad977437c6468e06647b43170befcb0b9f02b8e44918d37875a39cb65b42fc4782b7905f920b3fdd3d2249c44fa
|
7
|
+
data.tar.gz: e20e97f7510f41dd00fe7a79e1e231e20a19d9cdb6b20dc56788cecd0d5e6c26cf752e70415e9179a2e888e089786af630877bb8376fdd3769b5cfc6c54f7337
|
data/lib/uaa/cli/group.rb
CHANGED
@@ -145,7 +145,9 @@ class GroupCli < CommonCli
|
|
145
145
|
group = scim_get_object(scim, :group, gname(name))
|
146
146
|
|
147
147
|
old_members = (group['members'] || [])
|
148
|
-
new_members = find_members(scim, members)
|
148
|
+
new_members = find_members(scim, members).map do |member|
|
149
|
+
member.merge('origin' => 'uaa')
|
150
|
+
end
|
149
151
|
|
150
152
|
unless new_members.size == members.size
|
151
153
|
raise 'not all users found, none added'
|
@@ -183,25 +185,6 @@ class GroupCli < CommonCli
|
|
183
185
|
'success'
|
184
186
|
end
|
185
187
|
|
186
|
-
def update_members(scim, name, attr, users, add = true)
|
187
|
-
group = scim_get_object(scim, :group, gname(name))
|
188
|
-
old_ids = id_set(group[attr] || [])
|
189
|
-
new_ids = id_set(scim.ids(:user, *users))
|
190
|
-
if add
|
191
|
-
raise 'not all users found, none added' unless new_ids.size == users.size
|
192
|
-
group[attr] = (old_ids + new_ids).to_a
|
193
|
-
raise 'no new users given' unless group[attr].size > old_ids.size
|
194
|
-
else
|
195
|
-
raise 'not all users found, none deleted' unless new_ids.size == users.size
|
196
|
-
group[attr] = (old_ids - new_ids).to_a
|
197
|
-
raise 'no existing users to delete' unless group[attr].size < old_ids.size
|
198
|
-
group.delete(attr) if group[attr].empty?
|
199
|
-
end
|
200
|
-
|
201
|
-
scim.put(:group, group)
|
202
|
-
'success'
|
203
|
-
end
|
204
|
-
|
205
188
|
desc "member add [name] [users...]", "add members to a group" do |name, *users|
|
206
189
|
pp scim_request { |scim| add_members(scim, name, users) }
|
207
190
|
end
|
@@ -209,23 +192,6 @@ class GroupCli < CommonCli
|
|
209
192
|
desc "member delete [name] [users...]", "remove members from a group" do |name, *users|
|
210
193
|
pp scim_request { |scim| delete_members(scim, name, users) }
|
211
194
|
end
|
212
|
-
|
213
|
-
desc "group reader add [name] [users...]", "add users who can read the members" do |name, *users|
|
214
|
-
pp scim_request { |scim| update_members(scim, name, "readers", users) }
|
215
|
-
end
|
216
|
-
|
217
|
-
desc "group reader delete [name] [users...]", "delete users who can read members" do |name, *users|
|
218
|
-
pp scim_request { |scim| update_members(scim, name, "readers", users, false) }
|
219
|
-
end
|
220
|
-
|
221
|
-
desc "group writer add [name] [users...]", "add users who can modify group" do |name, *users|
|
222
|
-
pp scim_request { |scim| update_members(scim, name, "writers", users) }
|
223
|
-
end
|
224
|
-
|
225
|
-
desc "group writer delete [name] [users...]", "remove user who can modify group" do |name, *users|
|
226
|
-
pp scim_request { |scim| update_members(scim, name, "writers", users, false) }
|
227
|
-
end
|
228
|
-
|
229
195
|
private
|
230
196
|
|
231
197
|
def is_natural_number?(input)
|
data/lib/uaa/cli/version.rb
CHANGED
data/spec/group_spec.rb
CHANGED
@@ -101,57 +101,6 @@ describe GroupCli do
|
|
101
101
|
check_members
|
102
102
|
end
|
103
103
|
|
104
|
-
it "adds one reader to the group" do
|
105
|
-
Cli.run("group reader add #{@test_group} #{@test_user}r").should be
|
106
|
-
Cli.output.string.should include "success"
|
107
|
-
end
|
108
|
-
|
109
|
-
it "adds one writer to the group" do
|
110
|
-
Cli.run("group writer add #{@test_group} #{@test_user}w").should be
|
111
|
-
Cli.output.string.should include "success"
|
112
|
-
end
|
113
|
-
|
114
|
-
it "gets readers and writers in the group" do
|
115
|
-
Cli.run("group get #{@test_group}").should be
|
116
|
-
Cli.output.string.should be
|
117
|
-
end
|
118
|
-
|
119
|
-
it "reads members as a reader" do
|
120
|
-
pending "Test not applicable in integration test runs" if ENV["UAA_CLIENT_TARGET"]
|
121
|
-
|
122
|
-
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}r -p #{@test_pwd}").should be
|
123
|
-
Cli.run("group get #{@test_group} -a memBers").should be
|
124
|
-
ids = Cli.output.string.scan(/.*value:\s+([^\s]+)/).flatten
|
125
|
-
@users.size.should == ids.size
|
126
|
-
end
|
127
|
-
|
128
|
-
it "can't write members as a reader" do
|
129
|
-
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}r -p #{@test_pwd}").should be
|
130
|
-
Cli.run("member add #{@test_group} #{@test_user}z").should_not be
|
131
|
-
Cli.output.string.should include "access_denied"
|
132
|
-
end
|
133
|
-
|
134
|
-
it "adds a member as a writer" do
|
135
|
-
pending "Test not applicable in integration test runs" if ENV["UAA_CLIENT_TARGET"]
|
136
|
-
|
137
|
-
Cli.run "context #{@test_client}"
|
138
|
-
Cli.run("user add #{@test_user}z -p #{@test_pwd} --email sam@example.com").should be
|
139
|
-
@users << "#{@test_user}z"
|
140
|
-
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}w -p #{@test_pwd}").should be
|
141
|
-
Cli.run("member add #{@test_group} #{@test_user}z").should be
|
142
|
-
Cli.run("group get #{@test_group} -a memBers").should be
|
143
|
-
ids = Cli.output.string.scan(/.*value:\s+([^\s]+)/).flatten
|
144
|
-
@users.size.should == ids.size
|
145
|
-
# check_members
|
146
|
-
end
|
147
|
-
|
148
|
-
it "can't read members as a non-reader" do
|
149
|
-
pending "real uaa still returns members even if user is not in readers list" unless @stub_uaa
|
150
|
-
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}m -p #{@test_pwd}").should be
|
151
|
-
Cli.run("group get #{@test_group}").should be_nil
|
152
|
-
Cli.output.string.should include "NotFound"
|
153
|
-
end
|
154
|
-
|
155
104
|
it "deletes all members from a group" do
|
156
105
|
Cli.run "context #{@test_client}"
|
157
106
|
cmd = "member delete #{@test_group.downcase} "
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cf-uaac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.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: 2017-
|
15
|
+
date: 2017-08-24 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: cf-uaa-lib
|