@@ -31,7 +31,7 @@ type testCtxKey struct{}
3131
3232var (
3333 testCtx = context .WithValue (context .Background (), testCtxKey {}, "foo" )
34- testClient = & logs.APIClient {}
34+ testClient = & logs.APIClient {DefaultAPI : & logs. DefaultAPIService {} }
3535 testProjectId = uuid .NewString ()
3636)
3737
@@ -72,12 +72,12 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
7272
7373// Request
7474func fixtureRequest (mods ... func (request * logs.ApiCreateLogsInstanceRequest )) logs.ApiCreateLogsInstanceRequest {
75- request := testClient .CreateLogsInstance (testCtx , testProjectId , testRegion )
75+ request := testClient .DefaultAPI . CreateLogsInstance (testCtx , testProjectId , testRegion )
7676 request = request .CreateLogsInstancePayload (logs.CreateLogsInstancePayload {
77- DisplayName : utils . Ptr ( testDisplayName ) ,
77+ DisplayName : testDisplayName ,
7878 Description : utils .Ptr (testDescription ),
79- RetentionDays : utils . Ptr ( int64 ( testRetentionDays )) ,
80- Acl : utils . Ptr ( []string {testAcl }) ,
79+ RetentionDays : testRetentionDays ,
80+ Acl : []string {testAcl },
8181 })
8282
8383 for _ , mod := range mods {
@@ -166,11 +166,13 @@ func TestBuildRequest(t *testing.T) {
166166 description string
167167 model * inputModel
168168 expectedRequest logs.ApiCreateLogsInstanceRequest
169+ isValid bool
169170 }{
170171 {
171172 description : "base case" ,
172173 model : fixtureInputModel (),
173174 expectedRequest : fixtureRequest (),
175+ isValid : true ,
174176 },
175177 {
176178 description : "no optional values" ,
@@ -179,20 +181,38 @@ func TestBuildRequest(t *testing.T) {
179181 model .ACL = nil
180182 }),
181183 expectedRequest : fixtureRequest ().CreateLogsInstancePayload (logs.CreateLogsInstancePayload {
182- DisplayName : utils . Ptr ( testDisplayName ) ,
183- RetentionDays : utils . Ptr ( int64 ( testRetentionDays ) ),
184+ DisplayName : testDisplayName ,
185+ RetentionDays : int32 ( testRetentionDays ),
184186 Description : nil ,
185187 Acl : nil ,
186188 }),
189+ isValid : true ,
190+ },
191+ {
192+ description : "retention days not valid" ,
193+ model : fixtureInputModel (func (model * inputModel ) {
194+ model .RetentionDays = utils .Int64Ptr (1 << 31 )
195+ }),
196+ expectedRequest : fixtureRequest (),
197+ isValid : false ,
187198 },
188199 }
189200
190201 for _ , tt := range tests {
191202 t .Run (tt .description , func (t * testing.T ) {
192- request := buildRequest (testCtx , tt .model , testClient )
203+ request , err := buildRequest (testCtx , tt .model , testClient )
204+
205+ if err != nil {
206+ if ! tt .isValid {
207+ return
208+ }
209+ t .Fatalf ("error building request: %v" , err )
210+ }
211+
193212 diff := cmp .Diff (tt .expectedRequest , request ,
194213 cmp .AllowUnexported (tt .expectedRequest ),
195214 cmpopts .EquateComparable (testCtx ),
215+ cmpopts .IgnoreFields (logs.ApiCreateLogsInstanceRequest {}, "ApiService" ),
196216 )
197217 if diff != "" {
198218 t .Fatalf ("Data does not match: %s" , diff )
0 commit comments