Lint for using suite.T().Run instead of testify's suite.Run (#2664)

Includes fixups for calls that need updated

---

#### Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No

#### Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Test
- [x] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

#### Issue(s)

* #2373

#### Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
This commit is contained in:
ashmrtn 2023-04-11 09:39:39 -07:00 committed by GitHub
parent 21cd7210cb
commit cae3debd28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 74 additions and 46 deletions

View File

@ -44,6 +44,9 @@ linters-settings:
- '(errors|fmt)\.(New|Stack|Wrap|Error)f?\((# error handling should use clues pkg)?' - '(errors|fmt)\.(New|Stack|Wrap|Error)f?\((# error handling should use clues pkg)?'
# Avoid Warn-level logging in favor of Info or Error. # Avoid Warn-level logging in favor of Info or Error.
- 'Warn[wf]?\((# logging should use Info or Error)?' - 'Warn[wf]?\((# logging should use Info or Error)?'
# Prefer suite.Run(name, func() {}) for subtests as testify has it instead
# of suite.T().Run(name, func(t *testing.T) {}).
- '(T\(\)|\st[a-zA-Z0-9]*)\.Run(# prefer testify suite.Run(name, func()) )?'
lll: lll:
line-length: 120 line-length: 120
revive: revive:

View File

@ -1,8 +1,6 @@
package sharepoint package sharepoint
import ( import (
"testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/internal/connector/graph/betasdk/models" "github.com/alcionai/corso/src/internal/connector/graph/betasdk/models"
@ -37,7 +35,9 @@ func (suite *SharePointInfoSuite) TestSharePointInfo_Pages() {
}, },
} }
for _, test := range tests { for _, test := range tests {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
paged, expected := test.pageAndDeets() paged, expected := test.pageAndDeets()
info := sharePointPageInfo(paged, "", 0) info := sharePointPageInfo(paged, "", 0)
assert.Equal(t, expected.ItemType, info.ItemType) assert.Equal(t, expected.ItemType, info.ItemType)

View File

@ -687,7 +687,8 @@ func (suite *OperationsManifestsUnitSuite) TestProduceManifestsAndMetadata() {
if test.expectNilMans { if test.expectNilMans {
expectMans = nil expectMans = nil
} }
assert.Equal(t, expectMans, mans)
assert.ElementsMatch(t, expectMans, mans)
expect, got := []string{}, []string{} expect, got := []string{}, []string{}

View File

@ -43,7 +43,9 @@ func (suite *AccountSuite) TestNewAccount() {
{"m365 w/ error", ProviderM365, testConfig{"configVal", "", assert.AnError}, assert.Error}, {"m365 w/ error", ProviderM365, testConfig{"configVal", "", assert.AnError}, assert.Error},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
s, err := NewAccount(test.p, test.c) s, err := NewAccount(test.p, test.c)
test.errCheck(t, err, clues.ToCore(err)) test.errCheck(t, err, clues.ToCore(err))
// remaining tests are dependent upon error-free state // remaining tests are dependent upon error-free state

View File

@ -82,9 +82,9 @@ func (suite *M365CfgSuite) TestAccount_M365Config_InvalidCases() {
{"missing tenant ID", makeTestM365Cfg("cid", "cs", "")}, {"missing tenant ID", makeTestM365Cfg("cid", "cs", "")},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
_, err := account.NewAccount(account.ProviderUnknown, test.cfg) _, err := account.NewAccount(account.ProviderUnknown, test.cfg)
assert.Error(t, err) assert.Error(suite.T(), err)
}) })
} }
@ -113,7 +113,9 @@ func (suite *M365CfgSuite) TestAccount_M365Config_InvalidCases() {
}, },
} }
for _, test := range table2 { for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
st, err := account.NewAccount(account.ProviderUnknown, goodM365Config) st, err := account.NewAccount(account.ProviderUnknown, goodM365Config)
assert.NoError(t, err, clues.ToCore(err)) assert.NoError(t, err, clues.ToCore(err))
test.amend(st) test.amend(st)

View File

@ -191,7 +191,9 @@ func (suite *FiltersSuite) TestIn_MultipleTargets() {
{"oof", assert.False, assert.True}, {"oof", assert.False, assert.True},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.input, func(t *testing.T) { suite.Run(test.input, func() {
t := suite.T()
test.expectF(t, f.Compare(test.input), "filter") test.expectF(t, f.Compare(test.input), "filter")
test.expectNF(t, nf.Compare(test.input), "negated filter") test.expectNF(t, nf.Compare(test.input), "negated filter")
}) })
@ -213,7 +215,9 @@ func (suite *FiltersSuite) TestIn_MultipleTargets_Joined() {
{"arf,oof", assert.False, assert.True}, {"arf,oof", assert.False, assert.True},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.input, func(t *testing.T) { suite.Run(test.input, func() {
t := suite.T()
test.expectF(t, f.Compare(test.input), "filter") test.expectF(t, f.Compare(test.input), "filter")
test.expectNF(t, nf.Compare(test.input), "negated filter") test.expectNF(t, nf.Compare(test.input), "negated filter")
}) })

View File

@ -253,11 +253,11 @@ func (suite *PathUnitSuite) TestEscapedFailure() {
target := "i_s" target := "i_s"
for c := range charactersToEscape { for c := range charactersToEscape {
suite.T().Run(fmt.Sprintf("Unescaped-%c", c), func(t *testing.T) { suite.Run(fmt.Sprintf("Unescaped-%c", c), func() {
tmp := strings.ReplaceAll(target, "_", string(c)) tmp := strings.ReplaceAll(target, "_", string(c))
_, err := Builder{}.UnescapeAndAppend("this", tmp, "path") _, err := Builder{}.UnescapeAndAppend("this", tmp, "path")
assert.Errorf(t, err, "path with unescaped %s did not error", string(c)) assert.Errorf(suite.T(), err, "path with unescaped %s did not error", string(c))
}) })
} }
} }
@ -267,12 +267,12 @@ func (suite *PathUnitSuite) TestBadEscapeSequenceErrors() {
notEscapes := []rune{'a', 'b', '#', '%'} notEscapes := []rune{'a', 'b', '#', '%'}
for _, c := range notEscapes { for _, c := range notEscapes {
suite.T().Run(fmt.Sprintf("Escaped-%c", c), func(t *testing.T) { suite.Run(fmt.Sprintf("Escaped-%c", c), func() {
tmp := strings.ReplaceAll(target, "_", string(c)) tmp := strings.ReplaceAll(target, "_", string(c))
_, err := Builder{}.UnescapeAndAppend("this", tmp, "path") _, err := Builder{}.UnescapeAndAppend("this", tmp, "path")
assert.Errorf( assert.Errorf(
t, suite.T(),
err, err,
"path with bad escape sequence %c%c did not error", "path with bad escape sequence %c%c did not error",
escapeCharacter, escapeCharacter,
@ -285,14 +285,14 @@ func (suite *PathUnitSuite) TestTrailingEscapeChar() {
base := []string{"this", "is", "a", "path"} base := []string{"this", "is", "a", "path"}
for i := 0; i < len(base); i++ { for i := 0; i < len(base); i++ {
suite.T().Run(fmt.Sprintf("Element%v", i), func(t *testing.T) { suite.Run(fmt.Sprintf("Element%v", i), func() {
path := make([]string, len(base)) path := make([]string, len(base))
copy(path, base) copy(path, base)
path[i] = path[i] + string(escapeCharacter) path[i] = path[i] + string(escapeCharacter)
_, err := Builder{}.UnescapeAndAppend(path...) _, err := Builder{}.UnescapeAndAppend(path...)
assert.Error( assert.Error(
t, suite.T(),
err, err,
"path with trailing escape character did not error") "path with trailing escape character did not error")
}) })
@ -673,9 +673,10 @@ func (suite *PathUnitSuite) TestFromString() {
for service, cats := range serviceCategories { for service, cats := range serviceCategories {
for cat := range cats { for cat := range cats {
for _, item := range isItem { for _, item := range isItem {
suite.T().Run(fmt.Sprintf("%s-%s-%s", service, cat, item.name), func(t1 *testing.T) { suite.Run(fmt.Sprintf("%s-%s-%s", service, cat, item.name), func() {
for _, test := range table { for _, test := range table {
t1.Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
testPath := fmt.Sprintf(test.unescapedPath, service, cat) testPath := fmt.Sprintf(test.unescapedPath, service, cat)
p, err := FromDataLayerPath(testPath, item.isItem) p, err := FromDataLayerPath(testPath, item.isItem)

View File

@ -467,7 +467,9 @@ func (suite *ExchangeSelectorSuite) TestExchangeBackup_Scopes() {
for _, sc := range scopes { for _, sc := range scopes {
cat := sc.Category() cat := sc.Category()
suite.T().Run(cat.String(), func(t *testing.T) { suite.Run(cat.String(), func() {
t := suite.T()
switch sc.Category() { switch sc.Category() {
case ExchangeContactFolder: case ExchangeContactFolder:
assert.True(t, sc.IsAny(ExchangeContact)) assert.True(t, sc.IsAny(ExchangeContact))
@ -506,13 +508,13 @@ func (suite *ExchangeSelectorSuite) TestExchangeScope_Category() {
{ExchangeUser, ExchangeCategoryUnknown, assert.NotEqual}, {ExchangeUser, ExchangeCategoryUnknown, assert.NotEqual},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.is.String()+test.expect.String(), func(t *testing.T) { suite.Run(test.is.String()+test.expect.String(), func() {
eb := NewExchangeBackup(Any()) eb := NewExchangeBackup(Any())
eb.Includes = []scope{ eb.Includes = []scope{
{scopeKeyCategory: filters.Identity(test.is.String())}, {scopeKeyCategory: filters.Identity(test.is.String())},
} }
scope := eb.Scopes()[0] scope := eb.Scopes()[0]
test.check(t, test.expect, scope.Category()) test.check(suite.T(), test.expect, scope.Category())
}) })
} }
} }
@ -549,13 +551,13 @@ func (suite *ExchangeSelectorSuite) TestExchangeScope_IncludesCategory() {
{ExchangeUser, ExchangeEventCalendar, assert.True}, {ExchangeUser, ExchangeEventCalendar, assert.True},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.is.String()+test.expect.String(), func(t *testing.T) { suite.Run(test.is.String()+test.expect.String(), func() {
eb := NewExchangeBackup(Any()) eb := NewExchangeBackup(Any())
eb.Includes = []scope{ eb.Includes = []scope{
{scopeKeyCategory: filters.Identity(test.is.String())}, {scopeKeyCategory: filters.Identity(test.is.String())},
} }
scope := eb.Scopes()[0] scope := eb.Scopes()[0]
test.check(t, scope.IncludesCategory(test.expect)) test.check(suite.T(), scope.IncludesCategory(test.expect))
}) })
} }
} }
@ -574,7 +576,9 @@ func (suite *ExchangeSelectorSuite) TestExchangeScope_Get() {
ExchangeMailFolder, ExchangeMailFolder,
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.String(), func(t *testing.T) { suite.Run(test.String(), func() {
t := suite.T()
for _, sc := range scopes { for _, sc := range scopes {
switch sc.Category() { switch sc.Category() {
case ExchangeContactFolder: case ExchangeContactFolder:
@ -1449,8 +1453,8 @@ func (suite *ExchangeSelectorSuite) TestExchangeCategory_leafCat() {
{ExchangeEvent, ExchangeEvent}, {ExchangeEvent, ExchangeEvent},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.cat.String(), func(t *testing.T) { suite.Run(test.cat.String(), func() {
assert.Equal(t, test.expect, test.cat.leafCat(), test.cat.String()) assert.Equal(suite.T(), test.expect, test.cat.leafCat(), test.cat.String())
}) })
} }
} }
@ -1484,7 +1488,8 @@ func (suite *ExchangeSelectorSuite) TestExchangeCategory_PathValues() {
{ExchangeMail, mailPath, mailMap}, {ExchangeMail, mailPath, mailMap},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(string(test.cat), func(t *testing.T) { suite.Run(string(test.cat), func() {
t := suite.T()
ent := details.DetailsEntry{ ent := details.DetailsEntry{
RepoRef: test.path.String(), RepoRef: test.path.String(),
ShortRef: "short", ShortRef: "short",
@ -1516,8 +1521,8 @@ func (suite *ExchangeSelectorSuite) TestExchangeCategory_PathKeys() {
{ExchangeUser, user}, {ExchangeUser, user},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(string(test.cat), func(t *testing.T) { suite.Run(string(test.cat), func() {
assert.Equal(t, test.cat.pathKeys(), test.expect) assert.Equal(suite.T(), test.cat.pathKeys(), test.expect)
}) })
} }
} }
@ -1584,8 +1589,8 @@ func (suite *ExchangeSelectorSuite) TestCategory_PathType() {
{ExchangeInfoEventSubject, path.EventsCategory}, {ExchangeInfoEventSubject, path.EventsCategory},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.cat.String(), func(t *testing.T) { suite.Run(test.cat.String(), func() {
assert.Equal(t, test.pathType, test.cat.PathType()) assert.Equal(suite.T(), test.pathType, test.cat.PathType())
}) })
} }
} }

View File

@ -354,8 +354,8 @@ func (suite *OneDriveSelectorSuite) TestCategory_PathType() {
{FileInfoModifiedBefore, path.FilesCategory}, {FileInfoModifiedBefore, path.FilesCategory},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.cat.String(), func(t *testing.T) { suite.Run(test.cat.String(), func() {
assert.Equal(t, test.pathType, test.cat.PathType()) assert.Equal(suite.T(), test.pathType, test.cat.PathType())
}) })
} }
} }

View File

@ -73,7 +73,9 @@ func (suite *SharePointSelectorSuite) TestSharePointSelector_AllData() {
cat = spsc.Category() cat = spsc.Category()
) )
suite.T().Run(test.name+"-"+cat.String(), func(t *testing.T) { suite.Run(test.name+"-"+cat.String(), func() {
t := suite.T()
switch cat { switch cat {
case SharePointLibraryItem: case SharePointLibraryItem:
scopeMustHave( scopeMustHave(
@ -471,8 +473,8 @@ func (suite *SharePointSelectorSuite) TestCategory_PathType() {
{SharePointList, path.ListsCategory}, {SharePointList, path.ListsCategory},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.cat.String(), func(t *testing.T) { suite.Run(test.cat.String(), func() {
assert.Equal(t, test.pathType, test.cat.PathType()) assert.Equal(suite.T(), test.pathType, test.cat.PathType())
}) })
} }
} }

View File

@ -37,8 +37,8 @@ func (suite *CommonCfgSuite) TestCommonConfig_Config() {
{"common_corsoPassphrase", cfg.CorsoPassphrase}, {"common_corsoPassphrase", cfg.CorsoPassphrase},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.key, func(t *testing.T) { suite.Run(test.key, func() {
assert.Equal(t, test.expect, c[test.key]) assert.Equal(suite.T(), test.expect, c[test.key])
}) })
} }
} }
@ -64,9 +64,9 @@ func (suite *CommonCfgSuite) TestStorage_CommonConfig_InvalidCases() {
{"missing passphrase", storage.CommonConfig{}}, {"missing passphrase", storage.CommonConfig{}},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
_, err := storage.NewStorage(storage.ProviderUnknown, test.cfg) _, err := storage.NewStorage(storage.ProviderUnknown, test.cfg)
assert.Error(t, err) assert.Error(suite.T(), err)
}) })
} }
@ -83,7 +83,9 @@ func (suite *CommonCfgSuite) TestStorage_CommonConfig_InvalidCases() {
}, },
} }
for _, test := range table2 { for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
st, err := storage.NewStorage(storage.ProviderUnknown, goodCommonConfig) st, err := storage.NewStorage(storage.ProviderUnknown, goodCommonConfig)
assert.NoError(t, err, clues.ToCore(err)) assert.NoError(t, err, clues.ToCore(err))
test.amend(st) test.amend(st)

View File

@ -85,9 +85,9 @@ func (suite *S3CfgSuite) TestStorage_S3Config_invalidCases() {
{"missing bucket", makeTestS3Cfg("", "end", "pre/")}, {"missing bucket", makeTestS3Cfg("", "end", "pre/")},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
_, err := NewStorage(ProviderUnknown, test.cfg) _, err := NewStorage(ProviderUnknown, test.cfg)
assert.Error(t, err) assert.Error(suite.T(), err)
}) })
} }
@ -104,7 +104,9 @@ func (suite *S3CfgSuite) TestStorage_S3Config_invalidCases() {
}, },
} }
for _, test := range table2 { for _, test := range table2 {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
st, err := NewStorage(ProviderUnknown, goodS3Config) st, err := NewStorage(ProviderUnknown, goodS3Config)
assert.NoError(t, err, clues.ToCore(err)) assert.NoError(t, err, clues.ToCore(err))
test.amend(st) test.amend(st)
@ -149,7 +151,9 @@ func (suite *S3CfgSuite) TestStorage_S3Config_StringConfig() {
}, },
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
result, err := test.input.StringConfig() result, err := test.input.StringConfig()
require.NoError(t, err, clues.ToCore(err)) require.NoError(t, err, clues.ToCore(err))
assert.Equal(t, test.expect, result) assert.Equal(t, test.expect, result)

View File

@ -38,7 +38,9 @@ func (suite *StorageSuite) TestNewStorage() {
{"s3 w/ error", ProviderS3, testConfig{"configVal", assert.AnError}, assert.Error}, {"s3 w/ error", ProviderS3, testConfig{"configVal", assert.AnError}, assert.Error},
} }
for _, test := range table { for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) { suite.Run(test.name, func() {
t := suite.T()
s, err := NewStorage(test.p, test.c) s, err := NewStorage(test.p, test.c)
test.errCheck(t, err, clues.ToCore(err)) test.errCheck(t, err, clues.ToCore(err))