@@ -10,7 +10,7 @@ import (
1010 "github.com/hashicorp/nomad/ci"
1111 "github.com/mitchellh/cli"
1212 "github.com/posener/complete"
13- "github.com/stretchr/testify/assert "
13+ "github.com/shoenig/test/must "
1414)
1515
1616func TestQuotaInspectCommand_Implements (t * testing.T ) {
@@ -24,24 +24,20 @@ func TestQuotaInspectCommand_Fails(t *testing.T) {
2424 cmd := & QuotaInspectCommand {Meta : Meta {Ui : ui }}
2525
2626 // Fails on misuse
27- if code := cmd .Run ([]string {"some" , "bad" , "args" }); code != 1 {
28- t .Fatalf ("expected exit code 1, got: %d" , code )
29- }
30- if out := ui .ErrorWriter .String (); ! strings .Contains (out , commandErrorText (cmd )) {
31- t .Fatalf ("expected help output, got: %s" , out )
32- }
27+ code = cmd .Run ([]string {"some" , "bad" , "args" })
28+ must .One (t , code )
29+
30+ must .StrContains (t , ui .ErrorWriter .String (), commandErrorText (cmd ))
3331 ui .ErrorWriter .Reset ()
3432
35- if code := cmd .Run ([]string {"-address=nope" , "foo" }); code != 1 {
36- t .Fatalf ("expected exit code 1, got: %d" , code )
37- }
38- if out := ui .ErrorWriter .String (); ! strings .Contains (out , "retrieving quota" ) {
39- t .Fatalf ("connection error, got: %s" , out )
40- }
33+ code = cmd .Run ([]string {"-address=nope" , "foo" })
34+ must .One (t , code )
35+
36+ must .StrContains (t , ui .ErrorWriter .String (), "retrieving quota" )
4137 ui .ErrorWriter .Reset ()
4238}
4339
44- func TestQuotaInspectCommand_Good (t * testing.T ) {
40+ func TestQuotaInspectCommand_Run (t * testing.T ) {
4541 ci .Parallel (t )
4642
4743 // Create a server
@@ -54,17 +50,34 @@ func TestQuotaInspectCommand_Good(t *testing.T) {
5450 // Create a quota to delete
5551 qs := testQuotaSpec ()
5652 _ , err := client .Quotas ().Register (qs , nil )
57- assert . Nil (t , err )
53+ must . NoError (t , err )
5854
59- // Delete a namespace
60- if code := cmd .Run ([]string {"-address=" + url , qs .Name }); code != 0 {
61- t .Fatalf ("expected exit 0, got: %d; %v" , code , ui .ErrorWriter .String ())
62- }
55+ // Delete a quota
56+ code := cmd .Run ([]string {"-address=" + url , qs .Name })
57+ must .Zero (t , code )
6358
6459 out := ui .OutputWriter .String ()
6560 if ! strings .Contains (out , "Usages" ) || ! strings .Contains (out , qs .Name ) {
6661 t .Fatalf ("expected quota, got: %s" , out )
6762 }
63+
64+ // List json
65+ must .Zero (t , cmd .Run ([]string {"-address=" + url , "-json" , allocID }))
66+
67+ outJson := * api.Quotas {}
68+ err = json .Unmarshal (ui .OutputWriter .Bytes (), & outJson )
69+ must .NoError (t , err )
70+
71+ ui .OutputWriter .Reset ()
72+
73+ // Go template to format the output
74+ code = cmd .Run ([]string {"-address=" + url , "-t" , "{{ .Name }}" , allocID })
75+ must .Zero (t , code )
76+
77+ out = ui .OutputWriter .String ()
78+ must .StrContains (t , out , "test-quota" )
79+
80+ ui .OutputWriter .Reset ()
6881}
6982
7083func TestQuotaInspectCommand_AutocompleteArgs (t * testing.T ) {
@@ -80,12 +93,12 @@ func TestQuotaInspectCommand_AutocompleteArgs(t *testing.T) {
8093 // Create a quota
8194 qs := testQuotaSpec ()
8295 _ , err := client .Quotas ().Register (qs , nil )
83- assert . Nil ( err )
96+ must . NoError ( t , err )
8497
8598 args := complete.Args {Last : "t" }
8699 predictor := cmd .AutocompleteArgs ()
87100
88101 res := predictor .Predict (args )
89- assert . Equal ( 1 , len (res ))
90- assert . Equal ( qs .Name , res [0 ])
102+ must . One ( t , len (res ))
103+ must . StrContains ( t , qs .Name , res [0 ])
91104}
0 commit comments