diff --git a/docs/stackit_logs_access-token_create.md b/docs/stackit_logs_access-token_create.md index 947260d03..87319e404 100644 --- a/docs/stackit_logs_access-token_create.md +++ b/docs/stackit_logs_access-token_create.md @@ -30,7 +30,7 @@ stackit logs access-token create [flags] --display-name string Display name for the access token -h, --help Help for "stackit logs access-token create" --instance-id string ID of the Logs instance - --lifetime int Lifetime of the access token in days [1 - 180] + --lifetime int32 Lifetime of the access token in days [1 - 180] --permissions strings Permissions of the access token ["read" "write"] ``` diff --git a/docs/stackit_logs_instance_create.md b/docs/stackit_logs_instance_create.md index e68a37824..5744d8eed 100644 --- a/docs/stackit_logs_instance_create.md +++ b/docs/stackit_logs_instance_create.md @@ -26,11 +26,11 @@ stackit logs instance create [flags] ### Options ``` - --acl strings Access control list - --description string Description - --display-name string Display name - -h, --help Help for "stackit logs instance create" - --retention-days int The days for how long the logs should be stored before being cleaned up + --acl strings Access control list + --description string Description + --display-name string Display name + -h, --help Help for "stackit logs instance create" + --retention-days int32 The days for how long the logs should be stored before being cleaned up ``` ### Options inherited from parent commands diff --git a/docs/stackit_logs_instance_update.md b/docs/stackit_logs_instance_update.md index a4fdd5a33..38723ee65 100644 --- a/docs/stackit_logs_instance_update.md +++ b/docs/stackit_logs_instance_update.md @@ -26,11 +26,11 @@ stackit logs instance update INSTANCE_ID [flags] ### Options ``` - --acl strings Access control list - --description string Description - --display-name string Display name - -h, --help Help for "stackit logs instance update" - --retention-days int The days for how long the logs should be stored before being cleaned up + --acl strings Access control list + --description string Description + --display-name string Display name + -h, --help Help for "stackit logs instance update" + --retention-days int32 The days for how long the logs should be stored before being cleaned up ``` ### Options inherited from parent commands diff --git a/go.mod b/go.mod index 1ba8fc21a..1fa1f60da 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 github.com/stackitcloud/stackit-sdk-go/services/intake v0.7.1 - github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 + github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.8 github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6 github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 diff --git a/go.sum b/go.sum index e08536c68..d4b0aa492 100644 --- a/go.sum +++ b/go.sum @@ -618,8 +618,8 @@ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 h1:1dvL7tX9 github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6 h1:4x30lC+YBmo7XpsAzTn0W+C/oP5flnLVgIh5u3O/P0o= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6/go.mod h1:ewaYUiZcBTSS6urE5zEJBPCqxu70w2IjnBHCvnKdFKE= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 h1:vr4atxFRT+EL+DqONMT5R44f7AzEMbePa9U7PEE0THU= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2/go.mod h1:CAPsiTX7osAImfrG5RnIjaJ/Iz3QpoBKuH2fS346wuQ= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6 h1:Y/byRjX2u/OZl0gKS/Rau6ob2bDyv26xnw6A6JNkKJk= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6/go.mod h1:sY66ZgCgBc1mScPV95ek5WtUEGYizdP1RMsGaqbdbhw= github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.8 h1:S7t4wcT6SN8ZzdoY8d6VbF903zFpGjzqrU0FN27rJPg= diff --git a/internal/cmd/logs/access_token/create/create.go b/internal/cmd/logs/access_token/create/create.go index 852810a85..05b87ed25 100644 --- a/internal/cmd/logs/access_token/create/create.go +++ b/internal/cmd/logs/access_token/create/create.go @@ -7,7 +7,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/types" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors" @@ -35,7 +35,7 @@ type inputModel struct { InstanceId string Description *string DisplayName string - Lifetime *int64 + Lifetime *int32 Permissions []string } @@ -80,7 +80,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { projectLabel = model.ProjectId } - instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId) + instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -110,7 +110,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Var(flags.UUIDFlag(), instanceIdFlag, "ID of the Logs instance") cmd.Flags().String(displayNameFlag, "", "Display name for the access token") cmd.Flags().String(descriptionFlag, "", "Description of the access token") - cmd.Flags().Int64(lifetimeFlag, 0, "Lifetime of the access token in days [1 - 180]") + cmd.Flags().Int32(lifetimeFlag, 0, "Lifetime of the access token in days [1 - 180]") cmd.Flags().StringSlice(permissionsFlag, []string{}, `Permissions of the access token ["read" "write"]`) err := flags.MarkFlagsRequired(cmd, instanceIdFlag, displayNameFlag, permissionsFlag) @@ -128,7 +128,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, DisplayName: flags.FlagToStringValue(p, cmd, displayNameFlag), InstanceId: flags.FlagToStringValue(p, cmd, instanceIdFlag), Description: flags.FlagToStringPointer(p, cmd, descriptionFlag), - Lifetime: flags.FlagToInt64Pointer(p, cmd, lifetimeFlag), + Lifetime: flags.FlagToInt32Pointer(p, cmd, lifetimeFlag), Permissions: flags.FlagToStringSliceValue(p, cmd, permissionsFlag), } @@ -137,13 +137,16 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiCreateAccessTokenRequest { - req := apiClient.CreateAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId) - + req := apiClient.DefaultAPI.CreateAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId) + permissions := make([]logs.PermissionsInner, len(model.Permissions)) + for i, permission := range model.Permissions { + permissions[i] = logs.PermissionsInner(permission) + } return req.CreateAccessTokenPayload(logs.CreateAccessTokenPayload{ Description: model.Description, - DisplayName: &model.DisplayName, + DisplayName: model.DisplayName, Lifetime: model.Lifetime, - Permissions: &model.Permissions, + Permissions: permissions, }) } @@ -152,7 +155,7 @@ func outputResult(p *print.Printer, outputFormat, instanceLabel string, accessTo return fmt.Errorf("access token cannot be nil") } return p.OutputResult(outputFormat, accessToken, func() error { - p.Outputf("Created access token for Logs instance %q.\n\nID: %s\nToken: %s\n", instanceLabel, utils.PtrValue(accessToken.Id), utils.PtrValue(accessToken.AccessToken)) + p.Outputf("Created access token for Logs instance %q.\n\nID: %s\nToken: %s\n", instanceLabel, accessToken.Id, utils.PtrValue(accessToken.AccessToken)) return nil }) } diff --git a/internal/cmd/logs/access_token/create/create_test.go b/internal/cmd/logs/access_token/create/create_test.go index 27ecc0380..84e3ab150 100644 --- a/internal/cmd/logs/access_token/create/create_test.go +++ b/internal/cmd/logs/access_token/create/create_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -26,7 +26,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() ) @@ -59,7 +59,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { InstanceId: testInstanceId, Description: utils.Ptr(testDescription), DisplayName: testDisplayName, - Lifetime: utils.Ptr(int64(0)), + Lifetime: utils.Ptr(int32(0)), Permissions: []string{ "read", "write", @@ -72,7 +72,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiCreateAccessTokenRequest)) logs.ApiCreateAccessTokenRequest { - request := testClient.CreateAccessToken(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.CreateAccessToken(testCtx, testProjectId, testRegion, testInstanceId) request = request.CreateAccessTokenPayload(fixturePayload()) for _, mod := range mods { mod(&request) @@ -82,13 +82,13 @@ func fixtureRequest(mods ...func(request *logs.ApiCreateAccessTokenRequest)) log func fixturePayload(mods ...func(payload *logs.CreateAccessTokenPayload)) logs.CreateAccessTokenPayload { payload := logs.CreateAccessTokenPayload{ - DisplayName: utils.Ptr(testDisplayName), + DisplayName: testDisplayName, Description: utils.Ptr(testDescription), - Lifetime: utils.Ptr(int64(0)), - Permissions: utils.Ptr([]string{ + Lifetime: utils.Ptr(int32(0)), + Permissions: []logs.PermissionsInner{ "read", "write", - }), + }, } for _, mod := range mods { mod(&payload) @@ -216,6 +216,8 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(tt.expectedRequest, request, cmp.AllowUnexported(tt.expectedRequest), cmpopts.EquateComparable(testCtx), + cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"), + cmpopts.EquateEmpty(), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) @@ -240,16 +242,16 @@ func TestOutputResult(t *testing.T) { args: args{ instanceLabel: "", accessToken: utils.Ptr(logs.AccessToken{ - Id: utils.Ptr(uuid.NewString()), - Permissions: utils.Ptr([]string{ + Id: uuid.NewString(), + Permissions: []logs.PermissionsInner{ "read", "write", - }), - DisplayName: utils.Ptr("Token"), + }, + DisplayName: "Token", AccessToken: utils.Ptr("Secret access token"), - Creator: utils.Ptr(uuid.NewString()), - Expires: utils.Ptr(false), - Status: utils.Ptr(logs.ACCESSTOKENSTATUS_ACTIVE), + Creator: uuid.NewString(), + Expires: false, + Status: logs.ACCESSTOKENSTATUS_ACTIVE, }), }, wantErr: false, diff --git a/internal/cmd/logs/access_token/delete/delete.go b/internal/cmd/logs/access_token/delete/delete.go index d55c8d3a2..62761727e 100644 --- a/internal/cmd/logs/access_token/delete/delete.go +++ b/internal/cmd/logs/access_token/delete/delete.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/types" @@ -58,7 +58,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { } // Get the display name for confirmation - accessTokenLabel, err := logUtils.GetAccessTokenName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) + accessTokenLabel, err := logUtils.GetAccessTokenName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get access token: %v", err) } @@ -113,5 +113,5 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiDeleteAccessTokenRequest { - return apiClient.DeleteAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) + return apiClient.DefaultAPI.DeleteAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) } diff --git a/internal/cmd/logs/access_token/delete/delete_test.go b/internal/cmd/logs/access_token/delete/delete_test.go index 23bbb5464..c5af8ad8e 100644 --- a/internal/cmd/logs/access_token/delete/delete_test.go +++ b/internal/cmd/logs/access_token/delete/delete_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -21,7 +21,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -69,7 +69,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiDeleteAccessTokenRequest)) logs.ApiDeleteAccessTokenRequest { - request := testClient.DeleteAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) + request := testClient.DefaultAPI.DeleteAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) for _, mod := range mods { mod(&request) } @@ -197,7 +197,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/access_token/delete_all/delete_all.go b/internal/cmd/logs/access_token/delete_all/delete_all.go index e12e89804..8492a2f9b 100644 --- a/internal/cmd/logs/access_token/delete_all/delete_all.go +++ b/internal/cmd/logs/access_token/delete_all/delete_all.go @@ -4,19 +4,17 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" - "github.com/stackitcloud/stackit-cli/internal/pkg/flags" - "github.com/stackitcloud/stackit-cli/internal/pkg/types" - "github.com/stackitcloud/stackit-cli/internal/pkg/utils" - "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/examples" + "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/client" logUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/types" "github.com/spf13/cobra" ) @@ -55,7 +53,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { return err } - instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId) + instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -77,7 +75,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { return fmt.Errorf("delete all access token: nil result") } - params.Printer.Outputf("Deleted %d access token(s)\n", len(utils.PtrValue(items.Tokens))) + params.Printer.Outputf("Deleted %d access token(s)\n", len(items.Tokens)) return nil }, } @@ -108,5 +106,5 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiDeleteAllAccessTokensRequest { - return apiClient.DeleteAllAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) + return apiClient.DefaultAPI.DeleteAllAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) } diff --git a/internal/cmd/logs/access_token/delete_all/delete_all_test.go b/internal/cmd/logs/access_token/delete_all/delete_all_test.go index 7cc8e8a81..0dce66c89 100644 --- a/internal/cmd/logs/access_token/delete_all/delete_all_test.go +++ b/internal/cmd/logs/access_token/delete_all/delete_all_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -21,7 +21,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -57,7 +57,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiDeleteAllAccessTokensRequest)) logs.ApiDeleteAllAccessTokensRequest { - request := testClient.DeleteAllAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.DeleteAllAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) for _, mod := range mods { mod(&request) } @@ -153,7 +153,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired.go b/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired.go index fbad9528a..1c4b540d0 100644 --- a/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired.go +++ b/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired.go @@ -4,19 +4,17 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" - "github.com/stackitcloud/stackit-cli/internal/pkg/flags" - "github.com/stackitcloud/stackit-cli/internal/pkg/types" - "github.com/stackitcloud/stackit-cli/internal/pkg/utils" - "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/examples" + "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/client" logUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/utils" + "github.com/stackitcloud/stackit-cli/internal/pkg/types" "github.com/spf13/cobra" ) @@ -55,7 +53,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { return err } - instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId) + instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceId @@ -77,7 +75,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { return fmt.Errorf("delete all expired access token: nil result") } - params.Printer.Outputf("Deleted %d expired access token(s)\n", len(utils.PtrValue(items.Tokens))) + params.Printer.Outputf("Deleted %d expired access token(s)\n", len(items.Tokens)) return nil }, } @@ -107,6 +105,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, return &model, nil } -func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiDeleteAllAccessTokensRequest { - return apiClient.DeleteAllExpiredAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) +func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiDeleteAllExpiredAccessTokensRequest { + return apiClient.DefaultAPI.DeleteAllExpiredAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) } diff --git a/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired_test.go b/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired_test.go index f369afa91..75d223e35 100644 --- a/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired_test.go +++ b/internal/cmd/logs/access_token/delete_all_expired/delete_all_expired_test.go @@ -10,7 +10,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -21,7 +21,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -57,7 +57,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiDeleteAllExpiredAccessTokensRequest)) logs.ApiDeleteAllExpiredAccessTokensRequest { - request := testClient.DeleteAllExpiredAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.DeleteAllExpiredAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) for _, mod := range mods { mod(&request) } @@ -153,7 +153,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/access_token/describe/describe.go b/internal/cmd/logs/access_token/describe/describe.go index d81a8b258..841ed8c27 100644 --- a/internal/cmd/logs/access_token/describe/describe.go +++ b/internal/cmd/logs/access_token/describe/describe.go @@ -7,7 +7,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/flags" "github.com/stackitcloud/stackit-cli/internal/pkg/types" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/errors" @@ -101,7 +101,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiGetAccessTokenRequest { - return apiClient.GetAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) + return apiClient.DefaultAPI.GetAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) } func outputResult(p *print.Printer, outputFormat string, token *logs.AccessToken) error { @@ -110,21 +110,21 @@ func outputResult(p *print.Printer, outputFormat string, token *logs.AccessToken } return p.OutputResult(outputFormat, token, func() error { table := tables.NewTable() - table.AddRow("ID", utils.PtrString(token.Id)) + table.AddRow("ID", token.Id) table.AddSeparator() - table.AddRow("DISPLAY NAME", utils.PtrString(token.DisplayName)) + table.AddRow("DISPLAY NAME", token.DisplayName) table.AddSeparator() table.AddRow("DESCRIPTION", utils.PtrString(token.Description)) table.AddSeparator() - table.AddRow("PERMISSIONS", utils.PtrString(token.Permissions)) + table.AddRow("PERMISSIONS", token.Permissions) table.AddSeparator() - table.AddRow("CREATOR", utils.PtrString(token.Creator)) + table.AddRow("CREATOR", token.Creator) table.AddSeparator() - table.AddRow("STATE", utils.PtrString(token.Status)) + table.AddRow("STATE", token.Status) table.AddSeparator() - table.AddRow("EXPIRES", utils.PtrString(token.Expires)) + table.AddRow("EXPIRES", token.Expires) table.AddSeparator() - table.AddRow("VALID UNTIL", utils.PtrString(token.ValidUntil)) + table.AddRow("VALID UNTIL", token.ValidUntil) table.AddSeparator() err := table.Display(p) diff --git a/internal/cmd/logs/access_token/describe/describe_test.go b/internal/cmd/logs/access_token/describe/describe_test.go index 8e6bd2e20..4817dea9f 100644 --- a/internal/cmd/logs/access_token/describe/describe_test.go +++ b/internal/cmd/logs/access_token/describe/describe_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -23,7 +23,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -71,7 +71,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiGetAccessTokenRequest)) logs.ApiGetAccessTokenRequest { - request := testClient.GetAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) + request := testClient.DefaultAPI.GetAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) for _, mod := range mods { mod(&request) } @@ -199,7 +199,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) @@ -222,16 +222,16 @@ func TestOutputResult(t *testing.T) { name: "base", args: args{ accessToken: utils.Ptr(logs.AccessToken{ - Id: utils.Ptr(uuid.NewString()), - Permissions: utils.Ptr([]string{ + Id: uuid.NewString(), + Permissions: []logs.PermissionsInner{ "read", "write", - }), - DisplayName: utils.Ptr("Token"), + }, + DisplayName: "Token", AccessToken: utils.Ptr("Secret access token"), - Creator: utils.Ptr(uuid.NewString()), - Expires: utils.Ptr(false), - Status: utils.Ptr(logs.ACCESSTOKENSTATUS_ACTIVE), + Creator: uuid.NewString(), + Expires: false, + Status: logs.ACCESSTOKENSTATUS_ACTIVE, }), }, wantErr: false, diff --git a/internal/cmd/logs/access_token/list/list.go b/internal/cmd/logs/access_token/list/list.go index 27967bdc8..0843bc6c2 100644 --- a/internal/cmd/logs/access_token/list/list.go +++ b/internal/cmd/logs/access_token/list/list.go @@ -6,7 +6,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/types" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/errors" @@ -82,7 +82,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { } // Truncate output - items := utils.PtrValue(resp.Tokens) + items := resp.Tokens if model.Limit != nil && len(items) > int(*model.Limit) { items = items[:*model.Limit] } @@ -127,7 +127,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiListAccessTokensRequest { - return apiClient.ListAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) + return apiClient.DefaultAPI.ListAccessTokens(ctx, model.ProjectId, model.Region, model.InstanceId) } func outputResult(p *print.Printer, outputFormat string, tokens []logs.AccessToken, projectLabel string) error { @@ -142,12 +142,12 @@ func outputResult(p *print.Printer, outputFormat string, tokens []logs.AccessTok for _, token := range tokens { table.AddRow( - utils.PtrString(token.Id), - utils.PtrString(token.DisplayName), + token.Id, + token.DisplayName, utils.PtrString(token.Description), - utils.PtrString(token.Permissions), + token.Permissions, utils.PtrString(token.ValidUntil), - utils.PtrString(token.Status), + token.Status, ) table.AddSeparator() } diff --git a/internal/cmd/logs/access_token/list/list_test.go b/internal/cmd/logs/access_token/list/list_test.go index 1b05a14ad..0ce2bc671 100644 --- a/internal/cmd/logs/access_token/list/list_test.go +++ b/internal/cmd/logs/access_token/list/list_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -23,7 +23,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -61,7 +61,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiListAccessTokensRequest)) logs.ApiListAccessTokensRequest { - request := testClient.ListAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.ListAccessTokens(testCtx, testProjectId, testRegion, testInstanceId) for _, mod := range mods { mod(&request) } @@ -171,7 +171,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) @@ -196,16 +196,16 @@ func TestOutputResult(t *testing.T) { args: args{ accessTokens: []logs.AccessToken{ { - Id: utils.Ptr(uuid.NewString()), - Permissions: utils.Ptr([]string{ + Id: uuid.NewString(), + Permissions: []logs.PermissionsInner{ "read", "write", - }), - DisplayName: utils.Ptr("Token"), + }, + DisplayName: "Token", AccessToken: utils.Ptr("Secret access token"), - Creator: utils.Ptr(uuid.NewString()), - Expires: utils.Ptr(false), - Status: utils.Ptr(logs.ACCESSTOKENSTATUS_ACTIVE), + Creator: uuid.NewString(), + Expires: false, + Status: logs.ACCESSTOKENSTATUS_ACTIVE, }, }, }, diff --git a/internal/cmd/logs/access_token/update/update.go b/internal/cmd/logs/access_token/update/update.go index 6fe999dba..c265b639d 100644 --- a/internal/cmd/logs/access_token/update/update.go +++ b/internal/cmd/logs/access_token/update/update.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/types" @@ -66,7 +66,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { } // Get the display name for confirmation - instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId) + instanceLabel, err := logUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get Logs instance: %v", err) } @@ -75,7 +75,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { } // Get the display name for confirmation - accessTokenLabel, err := logUtils.GetAccessTokenName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) + accessTokenLabel, err := logUtils.GetAccessTokenName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) if err != nil { params.Printer.Debug(print.ErrorLevel, "get access token: %v", err) } @@ -134,7 +134,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiUpdateAccessTokenRequest { - req := apiClient.UpdateAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) + req := apiClient.DefaultAPI.UpdateAccessToken(ctx, model.ProjectId, model.Region, model.InstanceId, model.AccessTokenId) payload := logs.UpdateAccessTokenPayload{ DisplayName: model.DisplayName, diff --git a/internal/cmd/logs/access_token/update/update_test.go b/internal/cmd/logs/access_token/update/update_test.go index b40fb143b..3ed128d29 100644 --- a/internal/cmd/logs/access_token/update/update_test.go +++ b/internal/cmd/logs/access_token/update/update_test.go @@ -11,7 +11,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -25,7 +25,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() @@ -77,7 +77,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiUpdateAccessTokenRequest)) logs.ApiUpdateAccessTokenRequest { - request := testClient.UpdateAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) + request := testClient.DefaultAPI.UpdateAccessToken(testCtx, testProjectId, testRegion, testInstanceId, testAccessTokenId) request = request.UpdateAccessTokenPayload(fixturePayload()) for _, mod := range mods { mod(&request) @@ -266,6 +266,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), cmpopts.EquateComparable(testCtx), + cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/instance/create/create.go b/internal/cmd/logs/instance/create/create.go index a7fca44c3..2f02048a9 100644 --- a/internal/cmd/logs/instance/create/create.go +++ b/internal/cmd/logs/instance/create/create.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" @@ -16,7 +16,7 @@ import ( cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors" "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/client" - "github.com/stackitcloud/stackit-sdk-go/services/logs/wait" + "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api/wait" "github.com/stackitcloud/stackit-cli/internal/pkg/examples" "github.com/stackitcloud/stackit-cli/internal/pkg/flags" @@ -36,7 +36,7 @@ type inputModel struct { *globalflags.GlobalFlagModel DisplayName *string - RetentionDays *int64 + RetentionDays *int32 ACL *[]string Description *string } @@ -88,9 +88,6 @@ func NewCmd(params *types.CmdParams) *cobra.Command { // Call API req := buildRequest(ctx, model, apiClient) - if err != nil { - return err - } resp, err := req.Execute() if err != nil { return fmt.Errorf("create Logs instance: %w", err) @@ -98,15 +95,12 @@ func NewCmd(params *types.CmdParams) *cobra.Command { if resp == nil { return fmt.Errorf("create Logs instance: empty response from API") } - if resp.Id == nil { - return fmt.Errorf("create Logs instance: instance id missing in response") - } - instanceId := *resp.Id + instanceId := resp.Id // Wait for async operation, if async mode not enabled if !model.Async { err := spinner.Run(params.Printer, "Creating instance", func() error { - _, err = wait.CreateLogsInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.Region, instanceId).WaitWithContext(ctx) + _, err = wait.CreateLogsInstanceWaitHandler(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, instanceId).WaitWithContext(ctx) return err }) if err != nil { @@ -125,7 +119,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(displayNameFlag, "", "Display name") cmd.Flags().String(descriptionFlag, "", "Description") cmd.Flags().StringSlice(aclFlag, []string{}, "Access control list") - cmd.Flags().Int64(retentionDaysFlag, 0, "The days for how long the logs should be stored before being cleaned up") + cmd.Flags().Int32(retentionDaysFlag, 0, "The days for how long the logs should be stored before being cleaned up") err := flags.MarkFlagsRequired(cmd, displayNameFlag, retentionDaysFlag) cobra.CheckErr(err) @@ -140,7 +134,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, model := inputModel{ GlobalFlagModel: globalFlags, DisplayName: flags.FlagToStringPointer(p, cmd, displayNameFlag), - RetentionDays: flags.FlagToInt64Pointer(p, cmd, retentionDaysFlag), + RetentionDays: flags.FlagToInt32Pointer(p, cmd, retentionDaysFlag), Description: flags.FlagToStringPointer(p, cmd, descriptionFlag), ACL: flags.FlagToStringSlicePointer(p, cmd, aclFlag), } @@ -150,13 +144,12 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiCreateLogsInstanceRequest { - req := apiClient.CreateLogsInstance(ctx, model.ProjectId, model.Region) - + req := apiClient.DefaultAPI.CreateLogsInstance(ctx, model.ProjectId, model.Region) req = req.CreateLogsInstancePayload(logs.CreateLogsInstancePayload{ - DisplayName: model.DisplayName, + DisplayName: utils.PtrString(model.DisplayName), Description: model.Description, - RetentionDays: model.RetentionDays, - Acl: model.ACL, + RetentionDays: utils.PtrValue(model.RetentionDays), + Acl: utils.GetSliceFromPointer(model.ACL), }) return req } @@ -173,7 +166,7 @@ func outputResult(p *print.Printer, model *inputModel, projectLabel string, resp if model.Async { operationState = "Triggered creation of" } - p.Outputf("%s instance for project %q. Instance ID: %s\n", operationState, projectLabel, utils.PtrString(resp.Id)) + p.Outputf("%s instance for project %q. Instance ID: %s\n", operationState, projectLabel, resp.Id) return nil }) } diff --git a/internal/cmd/logs/instance/create/create_test.go b/internal/cmd/logs/instance/create/create_test.go index 011c37c79..a0f28130b 100644 --- a/internal/cmd/logs/instance/create/create_test.go +++ b/internal/cmd/logs/instance/create/create_test.go @@ -5,7 +5,7 @@ import ( "strconv" "testing" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/testparams" "github.com/stackitcloud/stackit-cli/internal/pkg/testutils" @@ -31,7 +31,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() ) @@ -61,7 +61,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { }, DisplayName: utils.Ptr(testDisplayName), Description: utils.Ptr(testDescription), - RetentionDays: utils.Ptr(int64(testRetentionDays)), + RetentionDays: utils.Ptr(int32(testRetentionDays)), ACL: utils.Ptr([]string{testAcl}), } for _, mod := range mods { @@ -72,12 +72,12 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { // Request func fixtureRequest(mods ...func(request *logs.ApiCreateLogsInstanceRequest)) logs.ApiCreateLogsInstanceRequest { - request := testClient.CreateLogsInstance(testCtx, testProjectId, testRegion) + request := testClient.DefaultAPI.CreateLogsInstance(testCtx, testProjectId, testRegion) request = request.CreateLogsInstancePayload(logs.CreateLogsInstancePayload{ - DisplayName: utils.Ptr(testDisplayName), + DisplayName: testDisplayName, Description: utils.Ptr(testDescription), - RetentionDays: utils.Ptr(int64(testRetentionDays)), - Acl: utils.Ptr([]string{testAcl}), + RetentionDays: testRetentionDays, + Acl: []string{testAcl}, }) for _, mod := range mods { @@ -179,8 +179,8 @@ func TestBuildRequest(t *testing.T) { model.ACL = nil }), expectedRequest: fixtureRequest().CreateLogsInstancePayload(logs.CreateLogsInstancePayload{ - DisplayName: utils.Ptr(testDisplayName), - RetentionDays: utils.Ptr(int64(testRetentionDays)), + DisplayName: testDisplayName, + RetentionDays: int32(testRetentionDays), Description: nil, Acl: nil, }), @@ -193,6 +193,8 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(tt.expectedRequest, request, cmp.AllowUnexported(tt.expectedRequest), cmpopts.EquateComparable(testCtx), + cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"), + cmpopts.EquateEmpty(), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/instance/delete/delete.go b/internal/cmd/logs/instance/delete/delete.go index d00f33fc8..8ffa95e44 100644 --- a/internal/cmd/logs/instance/delete/delete.go +++ b/internal/cmd/logs/instance/delete/delete.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" "github.com/stackitcloud/stackit-cli/internal/pkg/spinner" @@ -19,7 +19,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/print" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" - "github.com/stackitcloud/stackit-sdk-go/services/logs/wait" + "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api/wait" "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/client" logsUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/utils" @@ -66,7 +66,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { projectLabel = model.ProjectId } - instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceID) + instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceID) if err != nil { params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceID @@ -89,7 +89,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { // Wait for async operation, if async mode not enabled if !model.Async { err := spinner.Run(params.Printer, "Deleting instance", func() error { - _, err = wait.DeleteLogsInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.Region, model.InstanceID).WaitWithContext(ctx) + _, err = wait.DeleteLogsInstanceWaitHandler(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceID).WaitWithContext(ctx) return err }) if err != nil { @@ -127,6 +127,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiDeleteLogsInstanceRequest { - req := apiClient.DeleteLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) + req := apiClient.DefaultAPI.DeleteLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) return req } diff --git a/internal/cmd/logs/instance/delete/delete_test.go b/internal/cmd/logs/instance/delete/delete_test.go index 64501bf2e..e9f7e9d97 100644 --- a/internal/cmd/logs/instance/delete/delete_test.go +++ b/internal/cmd/logs/instance/delete/delete_test.go @@ -7,7 +7,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/testutils" @@ -21,7 +21,7 @@ type testCtxKey struct{} var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() ) @@ -67,7 +67,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { // Request func fixtureRequest(mods ...func(request *logs.ApiDeleteLogsInstanceRequest)) logs.ApiDeleteLogsInstanceRequest { - request := testClient.DeleteLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.DeleteLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) for _, mod := range mods { mod(&request) } @@ -165,7 +165,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/instance/describe/describe.go b/internal/cmd/logs/instance/describe/describe.go index b145e6e66..fa37d0c8e 100644 --- a/internal/cmd/logs/instance/describe/describe.go +++ b/internal/cmd/logs/instance/describe/describe.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/types" @@ -84,7 +84,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiGetLogsInstanceRequest { - return apiClient.GetLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) + return apiClient.DefaultAPI.GetLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) } func outputResult(p *print.Printer, outputFormat string, instance *logs.LogsInstance) error { @@ -93,13 +93,13 @@ func outputResult(p *print.Printer, outputFormat string, instance *logs.LogsInst } return p.OutputResult(outputFormat, instance, func() error { table := tables.NewTable() - table.AddRow("ID", utils.PtrString(instance.Id)) + table.AddRow("ID", instance.Id) table.AddSeparator() - table.AddRow("DISPLAY NAME", utils.PtrString(instance.DisplayName)) + table.AddRow("DISPLAY NAME", instance.DisplayName) table.AddSeparator() - table.AddRow("RETENTION DAYS", utils.PtrString(instance.RetentionDays)) + table.AddRow("RETENTION DAYS", instance.RetentionDays) table.AddSeparator() - table.AddRow("ACL IP RANGES", utils.PtrString(instance.Acl)) + table.AddRow("ACL IP RANGES", instance.Acl) table.AddSeparator() table.AddRow("DATA SOURCE", utils.PtrString(instance.DatasourceUrl)) table.AddSeparator() diff --git a/internal/cmd/logs/instance/describe/describe_test.go b/internal/cmd/logs/instance/describe/describe_test.go index 49e000d64..13b11a75a 100644 --- a/internal/cmd/logs/instance/describe/describe_test.go +++ b/internal/cmd/logs/instance/describe/describe_test.go @@ -7,7 +7,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/globalflags" "github.com/stackitcloud/stackit-cli/internal/pkg/print" @@ -18,7 +18,7 @@ import ( type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &logs.APIClient{} +var testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} var testProjectId = uuid.NewString() var testInstanceId = uuid.NewString() @@ -51,7 +51,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiGetLogsInstanceRequest)) logs.ApiGetLogsInstanceRequest { - request := testClient.GetLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.GetLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) for _, mod := range mods { mod(&request) } @@ -140,7 +140,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/instance/list/list.go b/internal/cmd/logs/instance/list/list.go index 153a4c2a9..ac2d29497 100644 --- a/internal/cmd/logs/instance/list/list.go +++ b/internal/cmd/logs/instance/list/list.go @@ -7,7 +7,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/types" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/args" "github.com/stackitcloud/stackit-cli/internal/pkg/errors" @@ -18,7 +18,6 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/projectname" "github.com/stackitcloud/stackit-cli/internal/pkg/services/logs/client" "github.com/stackitcloud/stackit-cli/internal/pkg/tables" - "github.com/stackitcloud/stackit-cli/internal/pkg/utils" ) type inputModel struct { @@ -117,7 +116,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel, } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiListLogsInstancesRequest { - request := apiClient.ListLogsInstances(ctx, model.ProjectId, model.Region) + request := apiClient.DefaultAPI.ListLogsInstances(ctx, model.ProjectId, model.Region) return request } @@ -133,9 +132,9 @@ func outputResult(p *print.Printer, outputFormat, projectLabel string, instances table.SetHeader("NAME", "ID", "STATUS") for _, instance := range instances { table.AddRow( - utils.PtrString(instance.DisplayName), - utils.PtrString(instance.Id), - utils.PtrString(instance.Status), + instance.DisplayName, + instance.Id, + instance.Status, ) } err := table.Display(p) diff --git a/internal/cmd/logs/instance/list/list_test.go b/internal/cmd/logs/instance/list/list_test.go index 70fa2ff9a..f013006be 100644 --- a/internal/cmd/logs/instance/list/list_test.go +++ b/internal/cmd/logs/instance/list/list_test.go @@ -12,7 +12,7 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/google/uuid" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -22,7 +22,7 @@ const ( type testCtxKey struct{} var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") -var testClient = &logs.APIClient{} +var testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} var testProjectId = uuid.NewString() func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string { @@ -53,7 +53,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiListLogsInstancesRequest)) logs.ApiListLogsInstancesRequest { - request := testClient.ListLogsInstances(testCtx, testProjectId, testRegion) + request := testClient.DefaultAPI.ListLogsInstances(testCtx, testProjectId, testRegion) for _, mod := range mods { mod(&request) } @@ -142,7 +142,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), - cmpopts.EquateComparable(testCtx), + cmpopts.EquateComparable(testCtx, tt.expectedRequest), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/cmd/logs/instance/update/update.go b/internal/cmd/logs/instance/update/update.go index 8898a2969..e370d104e 100644 --- a/internal/cmd/logs/instance/update/update.go +++ b/internal/cmd/logs/instance/update/update.go @@ -18,7 +18,7 @@ import ( "github.com/stackitcloud/stackit-cli/internal/pkg/utils" "github.com/spf13/cobra" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) const ( @@ -34,7 +34,7 @@ type inputModel struct { *globalflags.GlobalFlagModel InstanceID string DisplayName *string - RetentionDays *int64 + RetentionDays *int32 ACL *[]string Description *string } @@ -77,7 +77,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command { projectLabel = model.ProjectId } - instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.Region, model.InstanceID) + instanceLabel, err := logsUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceID) if err != nil { params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err) instanceLabel = model.InstanceID @@ -108,7 +108,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().String(displayNameFlag, "", "Display name") cmd.Flags().String(descriptionFlag, "", "Description") cmd.Flags().StringSlice(aclFlag, []string{}, "Access control list") - cmd.Flags().Int64(retentionDaysFlag, 0, "The days for how long the logs should be stored before being cleaned up") + cmd.Flags().Int32(retentionDaysFlag, 0, "The days for how long the logs should be stored before being cleaned up") } func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inputModel, error) { @@ -120,7 +120,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } displayName := flags.FlagToStringPointer(p, cmd, displayNameFlag) - retentionDays := flags.FlagToInt64Pointer(p, cmd, retentionDaysFlag) + retentionDays := flags.FlagToInt32Pointer(p, cmd, retentionDaysFlag) acl := flags.FlagToStringSlicePointer(p, cmd, aclFlag) description := flags.FlagToStringPointer(p, cmd, descriptionFlag) @@ -142,10 +142,11 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu } func buildRequest(ctx context.Context, model *inputModel, apiClient *logs.APIClient) logs.ApiUpdateLogsInstanceRequest { - req := apiClient.UpdateLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) + req := apiClient.DefaultAPI.UpdateLogsInstance(ctx, model.ProjectId, model.Region, model.InstanceID) + req = req.UpdateLogsInstancePayload(logs.UpdateLogsInstancePayload{ DisplayName: model.DisplayName, - Acl: model.ACL, + Acl: utils.PtrValue(model.ACL), RetentionDays: model.RetentionDays, Description: model.Description, }) @@ -159,7 +160,7 @@ func outputResult(p *print.Printer, model *inputModel, projectLabel string, inst return fmt.Errorf("input model is nil") } return p.OutputResult(model.OutputFormat, instance, func() error { - p.Outputf("Updated instance %q for project %q.\n", utils.PtrString(instance.DisplayName), projectLabel) + p.Outputf("Updated instance %q for project %q.\n", instance.DisplayName, projectLabel) return nil }) } diff --git a/internal/cmd/logs/instance/update/update_test.go b/internal/cmd/logs/instance/update/update_test.go index 385fe554d..f7d54f07b 100644 --- a/internal/cmd/logs/instance/update/update_test.go +++ b/internal/cmd/logs/instance/update/update_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/testparams" "github.com/stackitcloud/stackit-cli/internal/pkg/testutils" @@ -26,7 +26,7 @@ const ( var ( testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo") - testClient = &logs.APIClient{} + testClient = &logs.APIClient{DefaultAPI: &logs.DefaultAPIService{}} testProjectId = uuid.NewString() testInstanceId = uuid.NewString() ) @@ -66,7 +66,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { InstanceID: testInstanceId, DisplayName: utils.Ptr("name"), ACL: utils.Ptr([]string{"0.0.0.0/0"}), - RetentionDays: utils.Ptr(int64(60)), + RetentionDays: utils.Ptr(int32(60)), Description: utils.Ptr("Example"), } for _, mod := range mods { @@ -76,11 +76,11 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel { } func fixtureRequest(mods ...func(request *logs.ApiUpdateLogsInstanceRequest)) logs.ApiUpdateLogsInstanceRequest { - request := testClient.UpdateLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) + request := testClient.DefaultAPI.UpdateLogsInstance(testCtx, testProjectId, testRegion, testInstanceId) request = request.UpdateLogsInstancePayload(logs.UpdateLogsInstancePayload{ DisplayName: utils.Ptr("name"), - Acl: utils.Ptr([]string{"0.0.0.0/0"}), - RetentionDays: utils.Ptr(int64(60)), + Acl: []string{"0.0.0.0/0"}, + RetentionDays: utils.Ptr(int32(60)), Description: utils.Ptr("Example"), }) for _, mod := range mods { @@ -160,7 +160,7 @@ func TestParseInput(t *testing.T) { InstanceID: testInstanceId, DisplayName: utils.Ptr("display-name"), ACL: utils.Ptr([]string{"0.0.0.0/24"}), - RetentionDays: utils.Ptr(int64(60)), + RetentionDays: utils.Ptr(int32(60)), Description: utils.Ptr("description"), }, }, @@ -230,7 +230,7 @@ func TestBuildRequest(t *testing.T) { }, InstanceID: testInstanceId, }, - expectedRequest: testClient.UpdateLogsInstance(testCtx, testProjectId, testRegion, testInstanceId). + expectedRequest: testClient.DefaultAPI.UpdateLogsInstance(testCtx, testProjectId, testRegion, testInstanceId). UpdateLogsInstancePayload(logs.UpdateLogsInstancePayload{}), }, } @@ -242,6 +242,7 @@ func TestBuildRequest(t *testing.T) { diff := cmp.Diff(request, tt.expectedRequest, cmp.AllowUnexported(tt.expectedRequest), cmpopts.EquateComparable(testCtx), + cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"), ) if diff != "" { t.Fatalf("Data does not match: %s", diff) diff --git a/internal/pkg/services/logs/client/client.go b/internal/pkg/services/logs/client/client.go index a5297b31a..fa8abe391 100644 --- a/internal/pkg/services/logs/client/client.go +++ b/internal/pkg/services/logs/client/client.go @@ -1,7 +1,7 @@ package client import ( - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/config" genericclient "github.com/stackitcloud/stackit-cli/internal/pkg/generic-client" @@ -11,5 +11,5 @@ import ( ) func ConfigureClient(p *print.Printer, cliVersion string) (*logs.APIClient, error) { - return genericclient.ConfigureClientGeneric(p, cliVersion, viper.GetString(config.LogsCustomEndpointKey), false, genericclient.CreateApiClient[*logs.APIClient](logs.NewAPIClient)) + return genericclient.ConfigureClientGeneric(p, cliVersion, viper.GetString(config.LogsCustomEndpointKey), false, logs.NewAPIClient) } diff --git a/internal/pkg/services/logs/utils/utils.go b/internal/pkg/services/logs/utils/utils.go index d67272254..16186d618 100644 --- a/internal/pkg/services/logs/utils/utils.go +++ b/internal/pkg/services/logs/utils/utils.go @@ -5,39 +5,29 @@ import ( "errors" "fmt" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" ) var ( ErrResponseNil = errors.New("response is nil") - ErrNameNil = errors.New("display name is nil") ) -type LogsClient interface { - GetLogsInstanceExecute(ctx context.Context, projectId, regionId, instanceId string) (*logs.LogsInstance, error) - GetAccessTokenExecute(ctx context.Context, projectId string, regionId string, instanceId string, tId string) (*logs.AccessToken, error) -} - -func GetInstanceName(ctx context.Context, apiClient LogsClient, projectId, regionId, instanceId string) (string, error) { - resp, err := apiClient.GetLogsInstanceExecute(ctx, projectId, regionId, instanceId) +func GetInstanceName(ctx context.Context, apiClient logs.DefaultAPI, projectId, regionId, instanceId string) (string, error) { + resp, err := apiClient.GetLogsInstance(ctx, projectId, regionId, instanceId).Execute() if err != nil { return "", fmt.Errorf("get Logs instance: %w", err) } else if resp == nil { return "", ErrResponseNil - } else if resp.DisplayName == nil { - return "", ErrNameNil } - return *resp.DisplayName, nil + return resp.DisplayName, nil } -func GetAccessTokenName(ctx context.Context, apiClient LogsClient, projectId, regionId, instanceId, accessTokenId string) (string, error) { - resp, err := apiClient.GetAccessTokenExecute(ctx, projectId, regionId, instanceId, accessTokenId) +func GetAccessTokenName(ctx context.Context, apiClient logs.DefaultAPI, projectId, regionId, instanceId, accessTokenId string) (string, error) { + resp, err := apiClient.GetAccessToken(ctx, projectId, regionId, instanceId, accessTokenId).Execute() if err != nil { return "", fmt.Errorf("get Logs access token: %w", err) } else if resp == nil { return "", ErrResponseNil - } else if resp.DisplayName == nil { - return "", ErrNameNil } - return *resp.DisplayName, nil + return resp.DisplayName, nil } diff --git a/internal/pkg/services/logs/utils/utils_test.go b/internal/pkg/services/logs/utils/utils_test.go index 0f780c1d6..e51dfdad5 100644 --- a/internal/pkg/services/logs/utils/utils_test.go +++ b/internal/pkg/services/logs/utils/utils_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - "github.com/stackitcloud/stackit-sdk-go/services/logs" + logs "github.com/stackitcloud/stackit-sdk-go/services/logs/v1api" "github.com/stackitcloud/stackit-cli/internal/pkg/utils" @@ -23,25 +23,28 @@ const ( testRegion = "eu01" ) -type logsClientMocked struct { +type mockSettings struct { getInstanceFails bool getInstanceResp *logs.LogsInstance getAccessTokenFails bool getAccessTokenResp *logs.AccessToken } -func (m *logsClientMocked) GetLogsInstanceExecute(_ context.Context, _, _, _ string) (*logs.LogsInstance, error) { - if m.getInstanceFails { - return nil, fmt.Errorf("could not get instance") - } - return m.getInstanceResp, nil -} - -func (m *logsClientMocked) GetAccessTokenExecute(_ context.Context, _, _, _, _ string) (*logs.AccessToken, error) { - if m.getAccessTokenFails { - return nil, fmt.Errorf("could not get access token") +func newAPIMock(s mockSettings) logs.DefaultAPI { + return &logs.DefaultAPIServiceMock{ + GetLogsInstanceExecuteMock: utils.Ptr(func(_ logs.ApiGetLogsInstanceRequest) (*logs.LogsInstance, error) { + if s.getInstanceFails { + return nil, fmt.Errorf("could not get instance") + } + return s.getInstanceResp, nil + }), + GetAccessTokenExecuteMock: utils.Ptr(func(_ logs.ApiGetAccessTokenRequest) (*logs.AccessToken, error) { + if s.getAccessTokenFails { + return nil, fmt.Errorf("could not get access token") + } + return s.getAccessTokenResp, nil + }), } - return m.getAccessTokenResp, nil } func TestGetInstanceName(t *testing.T) { @@ -55,7 +58,7 @@ func TestGetInstanceName(t *testing.T) { { description: "base", getInstanceResp: &logs.LogsInstance{ - DisplayName: utils.Ptr(testInstanceName), + DisplayName: testInstanceName, }, isValid: true, expectedOutput: testInstanceName, @@ -71,24 +74,16 @@ func TestGetInstanceName(t *testing.T) { getInstanceResp: nil, isValid: false, }, - { - description: "name in response is nil", - getInstanceFails: false, - getInstanceResp: &logs.LogsInstance{ - DisplayName: nil, - }, - isValid: false, - }, } for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &logsClientMocked{ + client := mockSettings{ getInstanceFails: tt.getInstanceFails, getInstanceResp: tt.getInstanceResp, } - output, err := GetInstanceName(context.Background(), client, testProjectId, testRegion, testInstanceId) + output, err := GetInstanceName(context.Background(), newAPIMock(client), testProjectId, testRegion, testInstanceId) if tt.isValid && err != nil { t.Errorf("failed on valid input") @@ -117,7 +112,7 @@ func TestGetAccessTokenName(t *testing.T) { { description: "base", getAccessTokenResp: &logs.AccessToken{ - DisplayName: utils.Ptr(testInstanceName), + DisplayName: testInstanceName, }, isValid: true, expectedOutput: testInstanceName, @@ -133,24 +128,16 @@ func TestGetAccessTokenName(t *testing.T) { getAccessTokenResp: nil, isValid: false, }, - { - description: "name in response is nil", - getAccessTokenFails: false, - getAccessTokenResp: &logs.AccessToken{ - DisplayName: nil, - }, - isValid: false, - }, } for _, tt := range tests { t.Run(tt.description, func(t *testing.T) { - client := &logsClientMocked{ + client := mockSettings{ getAccessTokenFails: tt.getAccessTokenFails, getAccessTokenResp: tt.getAccessTokenResp, } - output, err := GetAccessTokenName(context.Background(), client, testProjectId, testRegion, testInstanceId, testAccessTokenId) + output, err := GetAccessTokenName(context.Background(), newAPIMock(client), testProjectId, testRegion, testInstanceId, testAccessTokenId) if tt.isValid && err != nil { t.Errorf("failed on valid input")