Skip to content

Commit ca9db20

Browse files
authored
refactor(tests): convert the medium-high risk slice-to-map table tests (#323)
* refactor(tests): use tests/tc naming in table tests using the slice pattern * test: update map pattern table tests to use common naming pattern * test: update slice pattern table tests to map pattern (simple use-cases) * refactor(tests): cleanup formatting * refactor(tests): convert the low-risk slice-to-map table tests * test: change TODO to a regular comment * refactor(tests): convert the medium-risk slice-to-map table tests * refactor(tests): convert the medium-high risk slice-to-map table tests * refactor(tests): update test name casing
1 parent a76e0a5 commit ca9db20

5 files changed

Lines changed: 186 additions & 185 deletions

File tree

internal/pkg/externalauth/prompt_provider_auth_select_test.go

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,20 @@ func TestPrompt_ProviderAuthSelectPrompt_no_selected_auth(t *testing.T) {
5959
},
6060
}
6161

62-
tests := []struct {
62+
tests := map[string]struct {
6363
ProviderFlag string
6464
Selection iostreams.SelectPromptResponse
6565
ExpectedProvider types.ProvidersInfo
6666
}{
67-
{
67+
"Prompt selection": {
6868
Selection: iostreams.SelectPromptResponse{
6969
Prompt: true,
7070
Option: "provider_a",
7171
Index: 0,
7272
},
7373
ExpectedProvider: workflowsInfo.Providers[0],
7474
},
75-
{
75+
"Flag selection": {
7676
ProviderFlag: "provider_a",
7777
Selection: iostreams.SelectPromptResponse{
7878
Flag: true,
@@ -82,26 +82,28 @@ func TestPrompt_ProviderAuthSelectPrompt_no_selected_auth(t *testing.T) {
8282
},
8383
}
8484

85-
for _, tc := range tests {
86-
var mockProviderFlag string
87-
ctx := slackcontext.MockContext(t.Context())
88-
clientsMock := shared.NewClientsMock()
89-
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
90-
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
91-
if tc.ProviderFlag != "" {
92-
_ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag)
93-
}
94-
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
95-
Flag: clients.Config.Flags.Lookup("provider"),
96-
})).Return(tc.Selection, nil)
85+
for name, tc := range tests {
86+
t.Run(name, func(t *testing.T) {
87+
var mockProviderFlag string
88+
ctx := slackcontext.MockContext(t.Context())
89+
clientsMock := shared.NewClientsMock()
90+
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
91+
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
92+
if tc.ProviderFlag != "" {
93+
_ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag)
94+
}
95+
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
96+
Flag: clients.Config.Flags.Lookup("provider"),
97+
})).Return(tc.Selection, nil)
9798

98-
clientsMock.AddDefaultMocks()
99+
clientsMock.AddDefaultMocks()
99100

100-
selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo)
101-
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
102-
require.Equal(t, selectedProvider, workflowsInfo.Providers[0])
103-
require.NoError(t, err)
104-
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
101+
selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo)
102+
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
103+
require.Equal(t, selectedProvider, workflowsInfo.Providers[0])
104+
require.NoError(t, err)
105+
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
106+
})
105107
}
106108
}
107109

@@ -126,20 +128,20 @@ func TestPrompt_ProviderAuthSelectPrompt_with_selected_auth(t *testing.T) {
126128
},
127129
}
128130

129-
tests := []struct {
131+
tests := map[string]struct {
130132
ProviderFlag string
131133
Selection iostreams.SelectPromptResponse
132134
ExpectedProvider types.ProvidersInfo
133135
}{
134-
{
136+
"Prompt selection": {
135137
Selection: iostreams.SelectPromptResponse{
136138
Prompt: true,
137139
Option: "provider_b",
138140
Index: 1,
139141
},
140142
ExpectedProvider: workflowsInfo.Providers[1],
141143
},
142-
{
144+
"Flag selection": {
143145
ProviderFlag: "provider_b",
144146
Selection: iostreams.SelectPromptResponse{
145147
Flag: true,
@@ -149,21 +151,23 @@ func TestPrompt_ProviderAuthSelectPrompt_with_selected_auth(t *testing.T) {
149151
},
150152
}
151153

152-
for _, tc := range tests {
153-
var mockProviderFlag string
154-
ctx := slackcontext.MockContext(t.Context())
155-
clientsMock := shared.NewClientsMock()
156-
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
157-
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
158-
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
159-
Flag: clientsMock.Config.Flags.Lookup("provider"),
160-
})).Return(tc.Selection, nil)
161-
clientsMock.AddDefaultMocks()
154+
for name, tc := range tests {
155+
t.Run(name, func(t *testing.T) {
156+
var mockProviderFlag string
157+
ctx := slackcontext.MockContext(t.Context())
158+
clientsMock := shared.NewClientsMock()
159+
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
160+
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
161+
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
162+
Flag: clientsMock.Config.Flags.Lookup("provider"),
163+
})).Return(tc.Selection, nil)
164+
clientsMock.AddDefaultMocks()
162165

163-
selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo)
164-
require.Equal(t, selectedProvider.ProviderKey, "provider_b")
165-
require.Equal(t, selectedProvider, workflowsInfo.Providers[1])
166-
require.NoError(t, err)
167-
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
166+
selectedProvider, err := ProviderAuthSelectPrompt(ctx, clients, workflowsInfo)
167+
require.Equal(t, selectedProvider.ProviderKey, "provider_b")
168+
require.Equal(t, selectedProvider, workflowsInfo.Providers[1])
169+
require.NoError(t, err)
170+
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
171+
})
168172
}
169173
}

internal/pkg/externalauth/prompt_provider_select_test.go

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ func TestPrompt_ProviderSelectPrompt_no_token(t *testing.T) {
4949
},
5050
}}
5151

52-
tests := []struct {
52+
tests := map[string]struct {
5353
ProviderFlag string
5454
Selection iostreams.SelectPromptResponse
5555
ExpectedAuthorization types.ExternalAuthorizationInfo
5656
}{
57-
{
57+
"Flag selection": {
5858
ProviderFlag: "provider_a",
5959
Selection: iostreams.SelectPromptResponse{
6060
Flag: true,
6161
Option: "provider_a",
6262
},
6363
ExpectedAuthorization: authorizationInfoLists.Authorizations[0],
6464
},
65-
{
65+
"Prompt selection": {
6666
Selection: iostreams.SelectPromptResponse{
6767
Prompt: true,
6868
Option: "provider_a",
@@ -72,22 +72,24 @@ func TestPrompt_ProviderSelectPrompt_no_token(t *testing.T) {
7272
},
7373
}
7474

75-
for _, tc := range tests {
76-
var mockProviderFlag string
77-
ctx := slackcontext.MockContext(t.Context())
78-
clientsMock := shared.NewClientsMock()
79-
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
80-
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
81-
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
82-
Flag: clientsMock.Config.Flags.Lookup("provider"),
83-
})).Return(tc.Selection, nil)
84-
clientsMock.AddDefaultMocks()
75+
for name, tc := range tests {
76+
t.Run(name, func(t *testing.T) {
77+
var mockProviderFlag string
78+
ctx := slackcontext.MockContext(t.Context())
79+
clientsMock := shared.NewClientsMock()
80+
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
81+
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
82+
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
83+
Flag: clientsMock.Config.Flags.Lookup("provider"),
84+
})).Return(tc.Selection, nil)
85+
clientsMock.AddDefaultMocks()
8586

86-
selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists)
87-
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
88-
require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0])
89-
require.NoError(t, err)
90-
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
87+
selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists)
88+
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
89+
require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0])
90+
require.NoError(t, err)
91+
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
92+
})
9193
}
9294
}
9395

@@ -111,20 +113,20 @@ func TestPrompt_ProviderSelectPrompt_with_token(t *testing.T) {
111113
},
112114
}}
113115

114-
tests := []struct {
116+
tests := map[string]struct {
115117
ProviderFlag string
116118
Selection iostreams.SelectPromptResponse
117119
ExpectedAuthorization types.ExternalAuthorizationInfo
118120
}{
119-
{
121+
"Flag selection": {
120122
ProviderFlag: "provider_a",
121123
Selection: iostreams.SelectPromptResponse{
122124
Flag: true,
123125
Option: "provider_a",
124126
},
125127
ExpectedAuthorization: authorizationInfoLists.Authorizations[0],
126128
},
127-
{
129+
"Prompt selection": {
128130
Selection: iostreams.SelectPromptResponse{
129131
Prompt: true,
130132
Option: "provider_a",
@@ -134,24 +136,26 @@ func TestPrompt_ProviderSelectPrompt_with_token(t *testing.T) {
134136
},
135137
}
136138

137-
for _, tc := range tests {
138-
var mockProviderFlag string
139-
ctx := slackcontext.MockContext(t.Context())
140-
clientsMock := shared.NewClientsMock()
141-
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
142-
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
143-
if tc.ProviderFlag != "" {
144-
_ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag)
145-
}
146-
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
147-
Flag: clientsMock.Config.Flags.Lookup("provider"),
148-
})).Return(tc.Selection, nil)
149-
clientsMock.AddDefaultMocks()
139+
for name, tc := range tests {
140+
t.Run(name, func(t *testing.T) {
141+
var mockProviderFlag string
142+
ctx := slackcontext.MockContext(t.Context())
143+
clientsMock := shared.NewClientsMock()
144+
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
145+
clientsMock.Config.Flags.StringVar(&mockProviderFlag, "provider", "", "mock provider flag")
146+
if tc.ProviderFlag != "" {
147+
_ = clientsMock.Config.Flags.Set("provider", tc.ProviderFlag)
148+
}
149+
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select a provider", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
150+
Flag: clientsMock.Config.Flags.Lookup("provider"),
151+
})).Return(tc.Selection, nil)
152+
clientsMock.AddDefaultMocks()
150153

151-
selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists)
152-
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
153-
require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0])
154-
require.NoError(t, err)
155-
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
154+
selectedProvider, err := ProviderSelectPrompt(ctx, clients, authorizationInfoLists)
155+
require.Equal(t, selectedProvider.ProviderKey, "provider_a")
156+
require.Equal(t, selectedProvider, authorizationInfoLists.Authorizations[0])
157+
require.NoError(t, err)
158+
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select a provider", mock.Anything, mock.Anything)
159+
})
156160
}
157161
}

internal/pkg/externalauth/prompt_token_select_test.go

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,18 @@ func TestPrompt_TokenSelectPrompt_with_token(t *testing.T) {
6161
},
6262
}
6363

64-
tests := []struct {
64+
tests := map[string]struct {
6565
ExternalAccountFlag string
6666
Selection iostreams.SelectPromptResponse
6767
}{
68-
{
68+
"Prompt selection": {
6969
Selection: iostreams.SelectPromptResponse{
7070
Prompt: true,
7171
Option: "xyz2@salesforce.com",
7272
Index: 1,
7373
},
7474
},
75-
{
75+
"Flag selection": {
7676
ExternalAccountFlag: "xyz2@salesforce.com",
7777
Selection: iostreams.SelectPromptResponse{
7878
Flag: true,
@@ -81,27 +81,29 @@ func TestPrompt_TokenSelectPrompt_with_token(t *testing.T) {
8181
},
8282
}
8383

84-
var externalAccountFlag string
85-
for _, tc := range tests {
86-
ctx := slackcontext.MockContext(t.Context())
87-
clientsMock := shared.NewClientsMock()
88-
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
89-
clientsMock.Config.Flags.StringVar(&externalAccountFlag, "external-account", "", "mock external-account flag")
90-
if tc.ExternalAccountFlag != "" {
91-
_ = clientsMock.Config.Flags.Set("external-account", tc.ExternalAccountFlag)
92-
}
93-
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select an external account", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
94-
Flag: clientsMock.Config.Flags.Lookup("external-account"),
95-
})).Return(tc.Selection, nil)
96-
clientsMock.AddDefaultMocks()
84+
for name, tc := range tests {
85+
t.Run(name, func(t *testing.T) {
86+
var externalAccountFlag string
87+
ctx := slackcontext.MockContext(t.Context())
88+
clientsMock := shared.NewClientsMock()
89+
clients := shared.NewClientFactory(clientsMock.MockClientFactory())
90+
clientsMock.Config.Flags.StringVar(&externalAccountFlag, "external-account", "", "mock external-account flag")
91+
if tc.ExternalAccountFlag != "" {
92+
_ = clientsMock.Config.Flags.Set("external-account", tc.ExternalAccountFlag)
93+
}
94+
clientsMock.IO.On("SelectPrompt", mock.Anything, "Select an external account", mock.Anything, iostreams.MatchPromptConfig(iostreams.SelectPromptConfig{
95+
Flag: clientsMock.Config.Flags.Lookup("external-account"),
96+
})).Return(tc.Selection, nil)
97+
clientsMock.AddDefaultMocks()
9798

98-
selectedToken, err := TokenSelectPrompt(ctx, clients, authorizationInfo)
99-
require.NoError(t, err)
100-
require.Equal(t, selectedToken, types.ExternalTokenInfo{
101-
ExternalTokenID: "Et0548LABCDE2",
102-
ExternalUserID: "xyz2@salesforce.com",
103-
DateUpdated: 1682021192,
99+
selectedToken, err := TokenSelectPrompt(ctx, clients, authorizationInfo)
100+
require.NoError(t, err)
101+
require.Equal(t, selectedToken, types.ExternalTokenInfo{
102+
ExternalTokenID: "Et0548LABCDE2",
103+
ExternalUserID: "xyz2@salesforce.com",
104+
DateUpdated: 1682021192,
105+
})
106+
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select an external account", mock.Anything, mock.Anything)
104107
})
105-
clientsMock.IO.AssertCalled(t, "SelectPrompt", mock.Anything, "Select an external account", mock.Anything, mock.Anything)
106108
}
107109
}

0 commit comments

Comments
 (0)