diff --git a/internal/pkg/externalauth/prompt_provider_auth_select_test.go b/internal/pkg/externalauth/prompt_provider_auth_select_test.go index 38c1855..995f285 100644 --- a/internal/pkg/externalauth/prompt_provider_auth_select_test.go +++ b/internal/pkg/externalauth/prompt_provider_auth_select_test.go @@ -59,12 +59,12 @@ func TestPrompt_ProviderAuthSelectPrompt_no_selected_auth(t *testing.T) { }, } - tests := []struct { + tests := map[string]struct { ProviderFlag string Selection iostreams.SelectPromptResponse ExpectedProvider types.ProvidersInfo }{ - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "provider_a", @@ -72,7 +72,7 @@ func TestPrompt_ProviderAuthSelectPrompt_no_selected_auth(t *testing.T) { }, ExpectedProvider: workflowsInfo.Providers[0], }, - { + "Flag selection": { ProviderFlag: "provider_a", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -82,26 +82,28 @@ func TestPrompt_ProviderAuthSelectPrompt_no_selected_auth(t *testing.T) { }, } - for _, tc := range tests { - var mockProviderFlag string - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") - if tc.ProviderFlag != "" { - _ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag) - } - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clients.Config.Flags.Lookup("provider"), - })).Return(tc.Selection, nil) + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var mockProviderFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") + if tc.ProviderFlag != "" { + _ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag) + } + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clients.Config.Flags.Lookup("provider"), + })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + clientsMock.AddDefaultMocks() - selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo) - require.Equal(t, selectedProvider.ProviderKey, "provider_a") - require.Equal(t, selectedProvider, workflowsInfo.Providers[0]) - require.NoError(t, err) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo) + require.Equal(t, selectedProvider.ProviderKey, "provider_a") + require.Equal(t, selectedProvider, workflowsInfo.Providers[0]) + require.NoError(t, err) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + }) } } @@ -126,12 +128,12 @@ func TestPrompt_ProviderAuthSelectPrompt_with_selected_auth(t *testing.T) { }, } - tests := []struct { + tests := map[string]struct { ProviderFlag string Selection iostreams.SelectPromptResponse ExpectedProvider types.ProvidersInfo }{ - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "provider_b", @@ -139,7 +141,7 @@ func TestPrompt_ProviderAuthSelectPrompt_with_selected_auth(t *testing.T) { }, ExpectedProvider: workflowsInfo.Providers[1], }, - { + "Flag selection": { ProviderFlag: "provider_b", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -149,21 +151,23 @@ func TestPrompt_ProviderAuthSelectPrompt_with_selected_auth(t *testing.T) { }, } - for _, tc := range tests { - var mockProviderFlag string - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clientsMock.Config.Flags.Lookup("provider"), - })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var mockProviderFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clientsMock.Config.Flags.Lookup("provider"), + })).Return(tc.Selection, nil) + clientsMock.AddDefaultMocks() - selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo) - require.Equal(t, selectedProvider.ProviderKey, "provider_b") - require.Equal(t, selectedProvider, workflowsInfo.Providers[1]) - require.NoError(t, err) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo) + require.Equal(t, selectedProvider.ProviderKey, "provider_b") + require.Equal(t, selectedProvider, workflowsInfo.Providers[1]) + require.NoError(t, err) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + }) } } diff --git a/internal/pkg/externalauth/prompt_provider_select_test.go b/internal/pkg/externalauth/prompt_provider_select_test.go index 9d42dfb..5ad2393 100644 --- a/internal/pkg/externalauth/prompt_provider_select_test.go +++ b/internal/pkg/externalauth/prompt_provider_select_test.go @@ -49,12 +49,12 @@ func TestPrompt_ProviderSelectPrompt_no_token(t *testing.T) { }, }} - tests := []struct { + tests := map[string]struct { ProviderFlag string Selection iostreams.SelectPromptResponse ExpectedAuthorization types.ExternalAuthorizationInfo }{ - { + "Flag selection": { ProviderFlag: "provider_a", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -62,7 +62,7 @@ func TestPrompt_ProviderSelectPrompt_no_token(t *testing.T) { }, ExpectedAuthorization: authorizationInfoLists.Authorizations[0], }, - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "provider_a", @@ -72,22 +72,24 @@ func TestPrompt_ProviderSelectPrompt_no_token(t *testing.T) { }, } - for _, tc := range tests { - var mockProviderFlag string - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clientsMock.Config.Flags.Lookup("provider"), - })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var mockProviderFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clientsMock.Config.Flags.Lookup("provider"), + })).Return(tc.Selection, nil) + clientsMock.AddDefaultMocks() - selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists) - require.Equal(t, selectedProvider.ProviderKey, "provider_a") - require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0]) - require.NoError(t, err) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists) + require.Equal(t, selectedProvider.ProviderKey, "provider_a") + require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0]) + require.NoError(t, err) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + }) } } @@ -111,12 +113,12 @@ func TestPrompt_ProviderSelectPrompt_with_token(t *testing.T) { }, }} - tests := []struct { + tests := map[string]struct { ProviderFlag string Selection iostreams.SelectPromptResponse ExpectedAuthorization types.ExternalAuthorizationInfo }{ - { + "Flag selection": { ProviderFlag: "provider_a", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -124,7 +126,7 @@ func TestPrompt_ProviderSelectPrompt_with_token(t *testing.T) { }, ExpectedAuthorization: authorizationInfoLists.Authorizations[0], }, - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "provider_a", @@ -134,24 +136,26 @@ func TestPrompt_ProviderSelectPrompt_with_token(t *testing.T) { }, } - for _, tc := range tests { - var mockProviderFlag string - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") - if tc.ProviderFlag != "" { - _ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag) - } - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clientsMock.Config.Flags.Lookup("provider"), - })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var mockProviderFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag") + if tc.ProviderFlag != "" { + _ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag) + } + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clientsMock.Config.Flags.Lookup("provider"), + })).Return(tc.Selection, nil) + clientsMock.AddDefaultMocks() - selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists) - require.Equal(t, selectedProvider.ProviderKey, "provider_a") - require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0]) - require.NoError(t, err) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists) + require.Equal(t, selectedProvider.ProviderKey, "provider_a") + require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0]) + require.NoError(t, err) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything) + }) } } diff --git a/internal/pkg/externalauth/prompt_token_select_test.go b/internal/pkg/externalauth/prompt_token_select_test.go index 3ab25f7..2ee5984 100644 --- a/internal/pkg/externalauth/prompt_token_select_test.go +++ b/internal/pkg/externalauth/prompt_token_select_test.go @@ -61,18 +61,18 @@ func TestPrompt_TokenSelectPrompt_with_token(t *testing.T) { }, } - tests := []struct { + tests := map[string]struct { ExternalAccountFlag string Selection iostreams.SelectPromptResponse }{ - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "xyz2@salesforce.com", Index: 1, }, }, - { + "Flag selection": { ExternalAccountFlag: "xyz2@salesforce.com", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -81,27 +81,29 @@ func TestPrompt_TokenSelectPrompt_with_token(t *testing.T) { }, } - var externalAccountFlag string - for _, tc := range tests { - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&externalAccountFlag, "external-account", "", "mock external-account flag") - if tc.ExternalAccountFlag != "" { - _ = clientsMock.Config.Flags.Set("external-account", tc.ExternalAccountFlag) - } - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select an external account", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clientsMock.Config.Flags.Lookup("external-account"), - })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var externalAccountFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&externalAccountFlag, "external-account", "", "mock external-account flag") + if tc.ExternalAccountFlag != "" { + _ = clientsMock.Config.Flags.Set("external-account", tc.ExternalAccountFlag) + } + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select an external account", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clientsMock.Config.Flags.Lookup("external-account"), + })).Return(tc.Selection, nil) + clientsMock.AddDefaultMocks() - selectedToken, err := TokenSelectPrompt(ctx, clients, authorizationInfo) - require.NoError(t, err) - require.Equal(t, selectedToken, types.ExternalTokenInfo{ - ExternalTokenID: "Et0548LABCDE2", - ExternalUserID: "xyz2@salesforce.com", - DateUpdated: 1682021192, + selectedToken, err := TokenSelectPrompt(ctx, clients, authorizationInfo) + require.NoError(t, err) + require.Equal(t, selectedToken, types.ExternalTokenInfo{ + ExternalTokenID: "Et0548LABCDE2", + ExternalUserID: "xyz2@salesforce.com", + DateUpdated: 1682021192, + }) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select an external account", mock.Anything, mock.Anything) }) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select an external account", mock.Anything, mock.Anything) } } diff --git a/internal/pkg/externalauth/prompt_workflow_select_test.go b/internal/pkg/externalauth/prompt_workflow_select_test.go index 1c2e9eb..24e99bf 100644 --- a/internal/pkg/externalauth/prompt_workflow_select_test.go +++ b/internal/pkg/externalauth/prompt_workflow_select_test.go @@ -122,18 +122,18 @@ func TestPrompt_WorkflowSelectPrompt_with_workflows(t *testing.T) { }, } - tests := []struct { + tests := map[string]struct { WorkflowFlag string Selection iostreams.SelectPromptResponse }{ - { + "Prompt selection": { Selection: iostreams.SelectPromptResponse{ Prompt: true, Option: "my_callback_id2", Index: 1, }, }, - { + "Flag selection": { WorkflowFlag: "my_callback_id2", Selection: iostreams.SelectPromptResponse{ Flag: true, @@ -142,41 +142,43 @@ func TestPrompt_WorkflowSelectPrompt_with_workflows(t *testing.T) { }, } - for _, tc := range tests { - var mockWorkflowFlag string - ctx := slackcontext.MockContext(t.Context()) - clientsMock := shared.NewClientsMock() - clients := shared.NewClientFactory(clientsMock.MockClientFactory()) - clientsMock.Config.Flags.StringVar(&mockWorkflowFlag, "workflow", "", "mock workflow flag") - if tc.WorkflowFlag != "" { - _ = clientsMock.Config.Flags.Set("workflow", tc.WorkflowFlag) - } - clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a workflow", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ - Flag: clientsMock.Config.Flags.Lookup("workflow"), - })).Return(tc.Selection, nil) - clientsMock.AddDefaultMocks() + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var mockWorkflowFlag string + ctx := slackcontext.MockContext(t.Context()) + clientsMock := shared.NewClientsMock() + clients := shared.NewClientFactory(clientsMock.MockClientFactory()) + clientsMock.Config.Flags.StringVar(&mockWorkflowFlag, "workflow", "", "mock workflow flag") + if tc.WorkflowFlag != "" { + _ = clientsMock.Config.Flags.Set("workflow", tc.WorkflowFlag) + } + clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a workflow", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{ + Flag: clientsMock.Config.Flags.Lookup("workflow"), + })).Return(tc.Selection, nil) + clientsMock.AddDefaultMocks() - selectedWorkflow, err := WorkflowSelectPrompt(ctx, clients, authorizationInfoLists) - require.NoError(t, err) - require.Equal(t, selectedWorkflow, types.WorkflowsInfo{ - WorkflowID: "Wf0548LABCD2", - CallbackID: "my_callback_id2", - Providers: []types.ProvidersInfo{ - { - ProviderKey: "provider_a", - ProviderName: "Provider_A", - }, - { - ProviderKey: "provider_b", - ProviderName: "Provider_B", - SelectedAuth: types.ExternalTokenInfo{ - ExternalTokenID: "Et0548LABCDE", - ExternalUserID: "user_a@gmail.com", - DateUpdated: 1682021142, + selectedWorkflow, err := WorkflowSelectPrompt(ctx, clients, authorizationInfoLists) + require.NoError(t, err) + require.Equal(t, selectedWorkflow, types.WorkflowsInfo{ + WorkflowID: "Wf0548LABCD2", + CallbackID: "my_callback_id2", + Providers: []types.ProvidersInfo{ + { + ProviderKey: "provider_a", + ProviderName: "Provider_A", + }, + { + ProviderKey: "provider_b", + ProviderName: "Provider_B", + SelectedAuth: types.ExternalTokenInfo{ + ExternalTokenID: "Et0548LABCDE", + ExternalUserID: "user_a@gmail.com", + DateUpdated: 1682021142, + }, }, }, - }, + }) + clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a workflow", mock.Anything, mock.Anything) }) - clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a workflow", mock.Anything, mock.Anything) } } diff --git a/internal/shared/types/permissions_test.go b/internal/shared/types/permissions_test.go index d85adfb..410abee 100644 --- a/internal/shared/types/permissions_test.go +++ b/internal/shared/types/permissions_test.go @@ -160,56 +160,48 @@ func Test_Permissions_IsNamedEntityFlag(t *testing.T) { workspacesValue string } - tests := []struct { - name string + tests := map[string]struct { flags TestFlags expectedIsNamedEntityFlag bool }{ - { - name: "--channels flag is set", + "--channels flag is set": { flags: TestFlags{ channelsValue: "C1234", }, expectedIsNamedEntityFlag: true, }, - { - name: "--organizations flag is set", + "--organizations flag is set": { flags: TestFlags{ organizationsValue: "E1234", }, expectedIsNamedEntityFlag: true, }, - { - name: "--users flag is set", + "--users flag is set": { flags: TestFlags{ usersValue: "U1234", }, expectedIsNamedEntityFlag: true, }, - { - name: "--workspaces flag is set", + "--workspaces flag is set": { flags: TestFlags{ workspacesValue: "T1234", }, expectedIsNamedEntityFlag: true, }, - { - name: "Multiple valid entities are set", + "Multiple valid entities are set": { flags: TestFlags{ channelsValue: "C1234", workspacesValue: "T1234", }, expectedIsNamedEntityFlag: true, }, - { - name: "--everyone is set", + "--everyone is set": { flags: TestFlags{ everyoneValue: true, }, expectedIsNamedEntityFlag: false, }, - { - name: "--everyone and a valid entitle are set", + "--everyone and a valid entitle are set": { flags: TestFlags{ everyoneValue: true, channelsValue: "C1234", @@ -217,36 +209,36 @@ func Test_Permissions_IsNamedEntityFlag(t *testing.T) { expectedIsNamedEntityFlag: false, }, } - for _, tc := range tests { - flags := pflag.NewFlagSet("entities", pflag.ContinueOnError) + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + flags := pflag.NewFlagSet("entities", pflag.ContinueOnError) - // Define the flags - flags.StringP("channels", "", "", "channels usage") - flags.BoolP("everyone", "", false, "everyone usage") - flags.StringP("organizations", "", "", "organizations usage") - flags.StringP("users", "", "", "users usage") - flags.StringP("workspaces", "", "", "workspaces usage") + // Define the flags + flags.StringP("channels", "", "", "channels usage") + flags.BoolP("everyone", "", false, "everyone usage") + flags.StringP("organizations", "", "", "organizations usage") + flags.StringP("users", "", "", "users usage") + flags.StringP("workspaces", "", "", "workspaces usage") - // Set the flags based on the test values - everyoneFlag := "" - if tc.flags.everyoneValue { - everyoneFlag = "--everyone" - } + // Set the flags based on the test values + everyoneFlag := "" + if tc.flags.everyoneValue { + everyoneFlag = "--everyone" + } - args := []string{ - everyoneFlag, - fmt.Sprintf("--channels=%s", tc.flags.channelsValue), - fmt.Sprintf("--organizations=%s", tc.flags.organizationsValue), - fmt.Sprintf("--users=%s", tc.flags.usersValue), - fmt.Sprintf("--workspaces=%s", tc.flags.workspacesValue), - } + args := []string{ + everyoneFlag, + fmt.Sprintf("--channels=%s", tc.flags.channelsValue), + fmt.Sprintf("--organizations=%s", tc.flags.organizationsValue), + fmt.Sprintf("--users=%s", tc.flags.usersValue), + fmt.Sprintf("--workspaces=%s", tc.flags.workspacesValue), + } - // Parse the flagset - if err := flags.Parse(args); err != nil { - require.Fail(t, err.Error(), "Flags parse error") - } + // Parse the flagset + if err := flags.Parse(args); err != nil { + require.Fail(t, err.Error(), "Flags parse error") + } - t.Run(tc.name, func(t *testing.T) { returnedIsNamedEntityFlag := IsNamedEntityFlag(flags) require.Equal(t, tc.expectedIsNamedEntityFlag, returnedIsNamedEntityFlag) }) @@ -254,13 +246,11 @@ func Test_Permissions_IsNamedEntityFlag(t *testing.T) { } func Test_Permissions_GetAccessTypeDescriptionForEveryone(t *testing.T) { - tests := []struct { - name string + tests := map[string]struct { app App expectedString string }{ - { - name: "Enterprise App", + "Enterprise App": { app: App{ // app.IsEnterpriseApp() == true AppID: "A1234", TeamID: "E1234", @@ -268,8 +258,7 @@ func Test_Permissions_GetAccessTypeDescriptionForEveryone(t *testing.T) { }, expectedString: "everyone in all workspaces in this org granted to this app", }, - { - name: "Workspace App", + "Workspace App": { app: App{ // app.IsEnterpriseApp() == false AppID: "A1234", TeamID: "T1234", @@ -277,8 +266,8 @@ func Test_Permissions_GetAccessTypeDescriptionForEveryone(t *testing.T) { expectedString: "everyone in the workspace", }, } - for _, tc := range tests { - t.Run(tc.name, func(t *testing.T) { + for name, tc := range tests { + t.Run(name, func(t *testing.T) { returnedString := GetAccessTypeDescriptionForEveryone(tc.app) require.Equal(t, tc.expectedString, returnedString) })