Skip to content

Commit f33e320

Browse files
authored
tests(perms): add tests for 'perms:create' and 'perms:delete'. (#236)
* fix(tests): minor adjustment to indentation. * tests(perms): add tests for 'perms:create' and 'perms:delete'.
1 parent d5c5e7b commit f33e320

1 file changed

Lines changed: 141 additions & 33 deletions

File tree

cmd/perms_test.go

Lines changed: 141 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -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) {
144144
fred
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

Comments
 (0)