@@ -15,6 +15,7 @@ import (
1515 "github.com/aws/aws-sdk-go-v2/aws"
1616 "github.com/aws/aws-sdk-go-v2/service/marketplacemetering"
1717 "github.com/aws/aws-sdk-go-v2/service/marketplacemetering/types"
18+ "github.com/aws/smithy-go"
1819 cqapi "github.com/cloudquery/cloudquery-api-go"
1920 "github.com/cloudquery/cloudquery-api-go/auth"
2021 "github.com/cloudquery/cloudquery-api-go/config"
@@ -366,6 +367,15 @@ func TestUsageService_AWSMarketplaceDone(t *testing.T) {
366367 m := mocks .NewMockAWSMarketplaceClientInterface (ctrl )
367368
368369 out := marketplacemetering.MeterUsageOutput {}
370+ inTest := meteringInput {
371+ marketplacemetering.MeterUsageInput {
372+ ProductCode : aws .String ("2a8bdkarwqrp0tmo4errl65s7" ),
373+ UsageDimension : aws .String ("rows" ),
374+ UsageQuantity : aws .Int32 (int32 (0 )),
375+ DryRun : aws .Bool (true )},
376+ }
377+ errTest := smithy.GenericAPIError {Code : "DryRunOperation" , Message : "No errors detected in dry run" }
378+
369379 in := meteringInput {
370380 MeterUsageInput : marketplacemetering.MeterUsageInput {
371381 ProductCode : aws .String ("2a8bdkarwqrp0tmo4errl65s7" ),
@@ -391,7 +401,12 @@ func TestUsageService_AWSMarketplaceDone(t *testing.T) {
391401 },
392402 }
393403 assert .NoError (t , faker .FakeObject (& out ))
394- m .EXPECT ().MeterUsage (gomock .Any (), in ).Return (& out , nil )
404+
405+ gomock .InOrder (
406+ m .EXPECT ().MeterUsage (gomock .Any (), inTest ).Return (& out , & errTest ),
407+ m .EXPECT ().MeterUsage (gomock .Any (), in ).Return (& out , nil ),
408+ )
409+
395410 t .Setenv ("CQ_AWS_MARKETPLACE_CONTAINER" , "true" )
396411 usageClient := newClient (t , nil , WithBatchLimit (50 ), WithAWSMarketplaceClient (m ))
397412
@@ -909,7 +924,9 @@ func (mi meteringInput) Matches(x any) bool {
909924 if aws .ToInt32 (testInput .UsageQuantity ) != aws .ToInt32 (mi .UsageQuantity ) {
910925 return false
911926 }
912-
927+ if aws .ToBool (testInput .DryRun ) != aws .ToBool (mi .DryRun ) {
928+ return false
929+ }
913930 return true
914931}
915932
0 commit comments