@@ -22,11 +22,11 @@ func TestPermsListUsers(t *testing.T) {
2222 testutil .SetHeaders (w )
2323
2424 fmt .Fprintf (w , `{
25- "users": [
26- "baz",
27- "bar"
28- ]
29- }` )
25+ "users": [
26+ "baz",
27+ "bar"
28+ ]
29+ }` )
3030 })
3131
3232 var b bytes.Buffer
@@ -53,10 +53,10 @@ func TestPermsListUsersLimit(t *testing.T) {
5353 testutil .SetHeaders (w )
5454
5555 fmt .Fprintf (w , `{
56- "users": [
57- "baz"
58- ]
59- }` )
56+ "users": [
57+ "baz"
58+ ]
59+ }` )
6060 })
6161
6262 var b bytes.Buffer
@@ -82,20 +82,20 @@ func TestPermsListAdmins(t *testing.T) {
8282 testutil .SetHeaders (w )
8383
8484 fmt .Fprintf (w , `{
85- "count": 2,
86- "next": null,
87- "previous": null,
88- "results": [
89- {
90- "username": "fred",
91- "is_superuser": true
92- },
93- {
94- "username": "bob",
95- "is_superuser": true
96- }
97- ]
98- }` )
85+ "count": 2,
86+ "next": null,
87+ "previous": null,
88+ "results": [
89+ {
90+ "username": "fred",
91+ "is_superuser": true
92+ },
93+ {
94+ "username": "bob",
95+ "is_superuser": true
96+ }
97+ ]
98+ }` )
9999 })
100100
101101 var b bytes.Buffer
@@ -122,16 +122,16 @@ func TestPermsListAdminsLimit(t *testing.T) {
122122 testutil .SetHeaders (w )
123123
124124 fmt .Fprintf (w , `{
125- "count": 2,
126- "next": null,
127- "previous": null,
128- "results": [
129- {
130- "username": "fred",
131- "is_superuser": true
132- }
133- ]
134- }` )
125+ "count": 2,
126+ "next": null,
127+ "previous": null,
128+ "results": [
129+ {
130+ "username": "fred",
131+ "is_superuser": true
132+ }
133+ ]
134+ }` )
135135 })
136136
137137 var b bytes.Buffer
@@ -144,3 +144,111 @@ func TestPermsListAdminsLimit(t *testing.T) {
144144fred
145145` , "output" )
146146}
147+
148+ func TestPermsCreateUser (t * testing.T ) {
149+ t .Parallel ()
150+ cf , server , err := testutil .NewTestServerAndClient ()
151+ if err != nil {
152+ t .Fatal (err )
153+ }
154+ defer server .Close ()
155+ var b bytes.Buffer
156+ cmdr := DeisCmd {WOut : & b , ConfigFile : cf }
157+
158+ server .Mux .HandleFunc ("/v2/apps/lorem-ipsum/" , func (w http.ResponseWriter , r * http.Request ) {
159+ testutil .SetHeaders (w )
160+ fmt .Fprintf (w , `{
161+ "uuid": "c4aed81c-d1ca-4ff1-ab89-d2151264e1a3",
162+ "id": "lorem-ipsum",
163+ "owner": "dolar-sit-amet",
164+ "structure": {
165+ "cmd": 1
166+ },
167+ "created": "2016-08-22T17:40:16Z",
168+ "updated": "2016-08-22T17:40:16Z"
169+ }` )
170+ })
171+
172+ server .Mux .HandleFunc ("/v2/apps/lorem-ipsum/perms" , func (w http.ResponseWriter , r * http.Request ) {
173+ testutil .SetHeaders (w )
174+ })
175+
176+ err = cmdr .PermCreate ("lorem-ipsum" , "test-user" , false )
177+ assert .NoErr (t , err )
178+ assert .Equal (t , testutil .StripProgress (b .String ()), `Adding test-user to lorem-ipsum collaborators... done
179+ ` , "output" )
180+ }
181+
182+ func TestPermsCreateAdmin (t * testing.T ) {
183+ t .Parallel ()
184+ cf , server , err := testutil .NewTestServerAndClient ()
185+ if err != nil {
186+ t .Fatal (err )
187+ }
188+ defer server .Close ()
189+ var b bytes.Buffer
190+ cmdr := DeisCmd {WOut : & b , ConfigFile : cf }
191+
192+ server .Mux .HandleFunc ("/v2/admin/perms/" , func (w http.ResponseWriter , r * http.Request ) {
193+ testutil .SetHeaders (w )
194+ })
195+
196+ err = cmdr .PermCreate ("lorem-ipsum" , "test-admin" , true )
197+ assert .NoErr (t , err )
198+ assert .Equal (t , testutil .StripProgress (b .String ()), `Adding test-admin to system administrators... done
199+ ` , "output" )
200+ }
201+
202+ func TestPermsDeleteUser (t * testing.T ) {
203+ t .Parallel ()
204+ cf , server , err := testutil .NewTestServerAndClient ()
205+ if err != nil {
206+ t .Fatal (err )
207+ }
208+ defer server .Close ()
209+ var b bytes.Buffer
210+ cmdr := DeisCmd {WOut : & b , ConfigFile : cf }
211+
212+ server .Mux .HandleFunc ("/v2/apps/lorem-ipsum/" , func (w http.ResponseWriter , r * http.Request ) {
213+ testutil .SetHeaders (w )
214+ fmt .Fprintf (w , `{
215+ "uuid": "c4aed81c-d1ca-4ff1-ab89-d2151264e1a3",
216+ "id": "lorem-ipsum",
217+ "owner": "dolar-sit-amet",
218+ "structure": {
219+ "cmd": 1
220+ },
221+ "created": "2016-08-22T17:40:16Z",
222+ "updated": "2016-08-22T17:40:16Z"
223+ }` )
224+ })
225+
226+ server .Mux .HandleFunc ("/v2/apps/lorem-ipsum/perms" , func (w http.ResponseWriter , r * http.Request ) {
227+ testutil .SetHeaders (w )
228+ })
229+
230+ err = cmdr .PermDelete ("lorem-ipsum" , "test-user" , false )
231+ assert .NoErr (t , err )
232+ assert .Equal (t , testutil .StripProgress (b .String ()), `Removing test-user from lorem-ipsum collaborators... done
233+ ` , "output" )
234+ }
235+
236+ func TestPermsDeleteAdmin (t * testing.T ) {
237+ t .Parallel ()
238+ cf , server , err := testutil .NewTestServerAndClient ()
239+ if err != nil {
240+ t .Fatal (err )
241+ }
242+ defer server .Close ()
243+ var b bytes.Buffer
244+ cmdr := DeisCmd {WOut : & b , ConfigFile : cf }
245+
246+ server .Mux .HandleFunc ("/v2/admin/perms/" , func (w http.ResponseWriter , r * http.Request ) {
247+ testutil .SetHeaders (w )
248+ })
249+
250+ err = cmdr .PermDelete ("lorem-ipsum" , "test-admin" , true )
251+ assert .NoErr (t , err )
252+ assert .Equal (t , testutil .StripProgress (b .String ()), `Removing test-admin from system administrators... done
253+ ` , "output" )
254+ }
0 commit comments