Skip to content

Commit e31962c

Browse files
authored
tests(limits): add tests for --limit in deis commands (#230)
* tests(builds): add test for 'deis builds:list --limit' * tests(certs): add test for 'deis certs:list --limit' * tests(domains): add test for 'deis domains:list --limit' * tests(releases): add test for 'deis releases:list --limit' * tests(users): add test for 'deis users:list --limit' * tests(perms): add tests for 'deis perms:list' with and without '--limit' * fix(tests): correct test user limit * tests(keys): add test for 'deis keys:list --limit' * fix(tests): correct test for keys list. * tests(apps): add tests for 'apps:list' and 'apps:list --limit'
1 parent 248aa85 commit e31962c

8 files changed

Lines changed: 474 additions & 1 deletion

File tree

cmd/apps_test.go

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,93 @@ type expandURLCases struct {
1919
Expected string
2020
}
2121

22+
func TestAppsList(t *testing.T) {
23+
t.Parallel()
24+
cf, server, err := testutil.NewTestServerAndClient()
25+
if err != nil {
26+
t.Fatal(err)
27+
}
28+
defer server.Close()
29+
var b bytes.Buffer
30+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
31+
32+
server.Mux.HandleFunc("/v2/apps/", func(w http.ResponseWriter, r *http.Request) {
33+
testutil.SetHeaders(w)
34+
fmt.Fprintf(w, `{
35+
"count": 2,
36+
"next": null,
37+
"previous": null,
38+
"results": [
39+
{
40+
"uuid": "c4aed81c-d1ca-4ff1-ab89-d2151264e1a3",
41+
"id": "lorem-ipsum",
42+
"owner": "dolar-sit-amet",
43+
"created": "2016-08-22T17:40:16Z",
44+
"updated": "2016-08-22T17:40:16Z",
45+
"structure": {
46+
"cmd": 1
47+
}
48+
},
49+
{
50+
"uuid": "c4aed81c-d1ca-4ff1-ab89-d2151264e1a3",
51+
"id": "consectetur",
52+
"owner": "adipiscing",
53+
"created": "2016-08-22T17:40:16Z",
54+
"updated": "2016-08-22T17:40:16Z",
55+
"structure": {
56+
"cmd": 1
57+
}
58+
}
59+
]
60+
}`)
61+
})
62+
63+
err = cmdr.AppsList(-1)
64+
assert.NoErr(t, err)
65+
assert.Equal(t, b.String(), `=== Apps
66+
lorem-ipsum
67+
consectetur
68+
`, "output")
69+
}
70+
71+
func TestAppsListLimit(t *testing.T) {
72+
t.Parallel()
73+
cf, server, err := testutil.NewTestServerAndClient()
74+
if err != nil {
75+
t.Fatal(err)
76+
}
77+
defer server.Close()
78+
var b bytes.Buffer
79+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
80+
81+
server.Mux.HandleFunc("/v2/apps/", func(w http.ResponseWriter, r *http.Request) {
82+
testutil.SetHeaders(w)
83+
fmt.Fprintf(w, `{
84+
"count": 2,
85+
"next": null,
86+
"previous": null,
87+
"results": [
88+
{
89+
"uuid": "c4aed81c-d1ca-4ff1-ab89-d2151264e1a3",
90+
"id": "lorem-ipsum",
91+
"owner": "dolar-sit-amet",
92+
"created": "2016-08-22T17:40:16Z",
93+
"updated": "2016-08-22T17:40:16Z",
94+
"structure": {
95+
"cmd": 1
96+
}
97+
}
98+
]
99+
}`)
100+
})
101+
102+
err = cmdr.AppsList(1)
103+
assert.NoErr(t, err)
104+
assert.Equal(t, b.String(), `=== Apps (1 of 2)
105+
lorem-ipsum
106+
`, "output")
107+
}
108+
22109
func TestExpandUrl(t *testing.T) {
23110
checks := []expandURLCases{
24111
{

cmd/builds_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,45 @@ c4aed81c-d1ca-4ff1-ab89-d2151264e1a3 2014-01-05T00:00:00UTC
8080
`, "output")
8181
}
8282

83+
func TestBuildsListLimit(t *testing.T) {
84+
t.Parallel()
85+
cf, server, err := testutil.NewTestServerAndClient()
86+
if err != nil {
87+
t.Fatal(err)
88+
}
89+
defer server.Close()
90+
var b bytes.Buffer
91+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
92+
93+
server.Mux.HandleFunc("/v2/apps/foo/builds/", func(w http.ResponseWriter, r *http.Request) {
94+
testutil.SetHeaders(w)
95+
fmt.Fprintf(w, `{
96+
"count": 2,
97+
"next": null,
98+
"previous": null,
99+
"results": [
100+
{
101+
"app": "foo",
102+
"created": "2014-01-01T00:00:00UTC",
103+
"dockerfile": "",
104+
"image": "",
105+
"owner": "",
106+
"procfile": {},
107+
"sha": "",
108+
"updated": "",
109+
"uuid": "de1bf5b5-4a72-4f94-a10c-d2a3741cdf75"
110+
}
111+
]
112+
}`)
113+
})
114+
115+
err = cmdr.BuildsList("foo", 1)
116+
assert.NoErr(t, err)
117+
assert.Equal(t, b.String(), `=== foo Builds (1 of 2)
118+
de1bf5b5-4a72-4f94-a10c-d2a3741cdf75 2014-01-01T00:00:00UTC
119+
`, "output")
120+
}
121+
83122
func TestBuildsCreate(t *testing.T) {
84123
t.Parallel()
85124
cf, server, err := testutil.NewTestServerAndClient()

cmd/certs_test.go

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestCertsList(t *testing.T) {
2626
server.Mux.HandleFunc("/v2/certs/", func(w http.ResponseWriter, r *http.Request) {
2727
testutil.SetHeaders(w)
2828
fmt.Fprintf(w, `{
29-
"count": 2,
29+
"count": 4,
3030
"next": null,
3131
"previous": null,
3232
"results": [
@@ -104,6 +104,53 @@ func TestCertsList(t *testing.T) {
104104
assert.Equal(t, b.String(), "No certs\n", "output")
105105
}
106106

107+
func TestCertsListLimit(t *testing.T) {
108+
t.Parallel()
109+
cf, server, err := testutil.NewTestServerAndClient()
110+
if err != nil {
111+
t.Fatal(err)
112+
}
113+
defer server.Close()
114+
var b bytes.Buffer
115+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
116+
117+
server.Mux.HandleFunc("/v2/certs/", func(w http.ResponseWriter, r *http.Request) {
118+
testutil.SetHeaders(w)
119+
fmt.Fprintf(w, `{
120+
"count": 4,
121+
"next": null,
122+
"previous": null,
123+
"results": [
124+
{
125+
"name": "test-example-com",
126+
"common_name": "test.example.com",
127+
"san": [
128+
"test.com",
129+
"example.com"
130+
],
131+
"domains": [
132+
"test.com",
133+
"example.com"
134+
],
135+
"created": "2016-06-09T00:00:00UTC",
136+
"updated": "2016-06-09T00:00:00UTC",
137+
"expires": "2014-11-10T00:00:00UTC",
138+
"fingerprint": "12:34:56:78:90"
139+
}
140+
]
141+
}`)
142+
})
143+
144+
err = cmdr.CertsList(1, time.Date(2016, time.June, 9, 0, 0, 0, 0, time.UTC))
145+
assert.NoErr(t, err)
146+
147+
assert.Equal(t, b.String(), ` Name | Common Name | SubjectAltName | Expires | Fingerprint | Domains | Updated | Created
148+
+------------------+------------------+----------------------+-----------------------+-----------------+----------------------+------------+------------+
149+
test-example-com | test.example.com | test.com,example.com | 10 Nov 2014 (expired) | 12:34[...]78:90 | test.com,example.com | 9 Jun 2016 | 9 Jun 2016
150+
`, "output")
151+
152+
}
153+
107154
func TestCertsInfo(t *testing.T) {
108155
t.Parallel()
109156
cf, server, err := testutil.NewTestServerAndClient()

cmd/domains_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,42 @@ foo
5555
`, "output")
5656
}
5757

58+
func TestDomainsListLimit(t *testing.T) {
59+
t.Parallel()
60+
cf, server, err := testutil.NewTestServerAndClient()
61+
if err != nil {
62+
t.Fatal(err)
63+
}
64+
defer server.Close()
65+
var b bytes.Buffer
66+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
67+
68+
server.Mux.HandleFunc("/v2/apps/foo/domains/", func(w http.ResponseWriter, r *http.Request) {
69+
testutil.SetHeaders(w)
70+
fmt.Fprintf(w, `{
71+
"count": 2,
72+
"next": null,
73+
"previous": null,
74+
"results": [
75+
{
76+
"app": "foo",
77+
"created": "2014-01-01T00:00:00UTC",
78+
"domain": "example.example.com",
79+
"owner": "test",
80+
"updated": "2014-01-01T00:00:00UTC"
81+
}
82+
]
83+
}`)
84+
})
85+
86+
err = cmdr.DomainsList("foo", 1)
87+
assert.NoErr(t, err)
88+
89+
assert.Equal(t, b.String(), `=== foo Domains (1 of 2)
90+
example.example.com
91+
`, "output")
92+
}
93+
5894
func TestDomainsAdd(t *testing.T) {
5995
t.Parallel()
6096
cf, server, err := testutil.NewTestServerAndClient()

cmd/keys_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,42 @@ cpike@1701.ncc.starfleet.ufp ssh-rsa 123 cpik...rfleet.ufp
241241
`, "output")
242242
}
243243

244+
func TestKeysListLimit(t *testing.T) {
245+
t.Parallel()
246+
cf, server, err := testutil.NewTestServerAndClient()
247+
if err != nil {
248+
t.Fatal(err)
249+
}
250+
defer server.Close()
251+
var b bytes.Buffer
252+
cmdr := DeisCmd{WOut: &b, ConfigFile: cf}
253+
254+
server.Mux.HandleFunc("/v2/keys/", func(w http.ResponseWriter, r *http.Request) {
255+
testutil.SetHeaders(w)
256+
fmt.Fprintf(w, `{
257+
"count": 2,
258+
"next": null,
259+
"previous": null,
260+
"results": [
261+
{
262+
"created": "2014-01-01T00:00:00UTC",
263+
"id": "cpike@starfleet.ufp",
264+
"owner": "cpike",
265+
"public": "ssh-rsa abc cpike@starfleet.ufp",
266+
"updated": "2014-01-01T00:00:00UTC",
267+
"uuid": "de1bf5b5-4a72-4f94-a10c-d2a3741cdf75"
268+
}
269+
]
270+
}`)
271+
})
272+
273+
err = cmdr.KeysList(1)
274+
assert.NoErr(t, err)
275+
assert.Equal(t, b.String(), `=== test Keys (1 of 2)
276+
cpike@starfleet.ufp ssh-rsa abc cpik...rfleet.ufp
277+
`, "output")
278+
}
279+
244280
func TestKeyRemove(t *testing.T) {
245281
t.Parallel()
246282
cf, server, err := testutil.NewTestServerAndClient()

0 commit comments

Comments
 (0)