@@ -43,6 +43,45 @@ func TestParseInput(t *testing.T) {
43
43
},
44
44
isValid : true ,
45
45
},
46
+ {
47
+ description : "valid input with limit" ,
48
+ globalFlags : map [string ]string {
49
+ "limit" : "10" ,
50
+ },
51
+ expectedModel : & inputModel {
52
+ GlobalFlagModel : & globalflags.GlobalFlagModel {
53
+ Verbosity : globalflags .InfoVerbosity ,
54
+ },
55
+ Limit : utils .Ptr (int64 (10 )),
56
+ },
57
+ isValid : true ,
58
+ },
59
+ {
60
+ description : "valid input without limit" ,
61
+ globalFlags : map [string ]string {},
62
+ expectedModel : & inputModel {
63
+ GlobalFlagModel : & globalflags.GlobalFlagModel {
64
+ Verbosity : globalflags .InfoVerbosity ,
65
+ },
66
+ },
67
+ isValid : true ,
68
+ },
69
+ {
70
+ description : "invalid limit (zero)" ,
71
+ globalFlags : map [string ]string {
72
+ "limit" : "0" ,
73
+ },
74
+ expectedModel : nil ,
75
+ isValid : false ,
76
+ },
77
+ {
78
+ description : "invalid limit (negative)" ,
79
+ globalFlags : map [string ]string {
80
+ "limit" : "-1" ,
81
+ },
82
+ expectedModel : nil ,
83
+ isValid : false ,
84
+ },
46
85
}
47
86
48
87
for _ , tt := range tests {
@@ -78,80 +117,81 @@ func TestOutputResult(t *testing.T) {
78
117
tests := []struct {
79
118
name string
80
119
outputFormat string
81
- networkList iaas.PublicNetworkListResponse
120
+ publicIpRanges [] iaas.PublicNetwork
82
121
expectedOutput string
83
122
wantErr bool
84
123
}{
85
124
{
86
125
name : "JSON output single" ,
87
126
outputFormat : "json" ,
88
- networkList : iaas.PublicNetworkListResponse {
89
- Items : & []iaas.PublicNetwork {
90
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
91
- },
127
+ publicIpRanges : []iaas.PublicNetwork {
128
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
92
129
},
93
130
wantErr : false ,
94
131
},
95
132
{
96
133
name : "JSON output multiple" ,
97
134
outputFormat : "json" ,
98
- networkList : iaas.PublicNetworkListResponse {
99
- Items : & []iaas.PublicNetwork {
100
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
101
- {Cidr : utils .Ptr ("192.167.0.0/24" )},
102
- },
135
+ publicIpRanges : []iaas.PublicNetwork {
136
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
137
+ {Cidr : utils .Ptr ("192.167.0.0/24" )},
103
138
},
104
139
wantErr : false ,
105
140
},
106
141
{
107
142
name : "YAML output single" ,
108
143
outputFormat : "yaml" ,
109
- networkList : iaas.PublicNetworkListResponse {
110
- Items : & []iaas.PublicNetwork {
111
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
112
- },
144
+ publicIpRanges : []iaas.PublicNetwork {
145
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
113
146
},
114
147
wantErr : false ,
115
148
},
116
149
{
117
150
name : "YAML output multiple" ,
118
151
outputFormat : "yaml" ,
119
- networkList : iaas.PublicNetworkListResponse {
120
- Items : & []iaas.PublicNetwork {
121
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
122
- {Cidr : utils .Ptr ("192.167.0.0/24" )},
123
- },
152
+ publicIpRanges : []iaas.PublicNetwork {
153
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
154
+ {Cidr : utils .Ptr ("192.167.0.0/24" )},
124
155
},
125
156
wantErr : false ,
126
157
},
127
158
{
128
159
name : "pretty output single" ,
129
160
outputFormat : "pretty" ,
130
- networkList : iaas.PublicNetworkListResponse {
131
- Items : & []iaas.PublicNetwork {
132
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
133
- },
161
+ publicIpRanges : []iaas.PublicNetwork {
162
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
134
163
},
135
164
wantErr : false ,
136
165
},
137
166
{
138
167
name : "pretty output multiple" ,
139
168
outputFormat : "pretty" ,
140
- networkList : iaas.PublicNetworkListResponse {
141
- Items : & []iaas.PublicNetwork {
142
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
143
- {Cidr : utils .Ptr ("192.167.0.0/24" )},
144
- },
169
+ publicIpRanges : []iaas.PublicNetwork {
170
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
171
+ {Cidr : utils .Ptr ("192.167.0.0/24" )},
145
172
},
146
173
wantErr : false ,
147
174
},
148
175
{
149
176
name : "default output" ,
150
177
outputFormat : "" ,
151
- networkList : iaas.PublicNetworkListResponse {
152
- Items : & []iaas.PublicNetwork {
153
- {Cidr : utils .Ptr ("192.168.0.0/24" )},
154
- },
178
+ publicIpRanges : []iaas.PublicNetwork {
179
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
180
+ },
181
+ wantErr : false ,
182
+ },
183
+ {
184
+ name : "empty list" ,
185
+ outputFormat : "json" ,
186
+ publicIpRanges : []iaas.PublicNetwork {},
187
+ wantErr : false ,
188
+ },
189
+ {
190
+ name : "nil CIDR" ,
191
+ outputFormat : "pretty" ,
192
+ publicIpRanges : []iaas.PublicNetwork {
193
+ {Cidr : nil },
194
+ {Cidr : utils .Ptr ("192.168.0.0/24" )},
155
195
},
156
196
wantErr : false ,
157
197
},
@@ -161,7 +201,7 @@ func TestOutputResult(t *testing.T) {
161
201
t .Run (tt .name , func (t * testing.T ) {
162
202
p := print .NewPrinter ()
163
203
p .Cmd = NewCmd (& params.CmdParams {Printer : p })
164
- err := outputResult (p , tt .outputFormat , tt .networkList )
204
+ err := outputResult (p , tt .outputFormat , tt .publicIpRanges )
165
205
if (err != nil ) != tt .wantErr {
166
206
t .Errorf ("outputResult() error = %v, wantErr %v" , err , tt .wantErr )
167
207
}
0 commit comments