chore: enable require-error from testifylint on cmpserver and reposerver folders (#18702)

* chore: enable require-error from testifylint on cmpserver and reposerver folders

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

* Update app_k8s_events_test.go

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
This commit is contained in:
Matthieu MOREL 2024-06-18 03:35:35 +02:00 committed by GitHub
parent 4c6ad9dcc1
commit 8f281996c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 270 additions and 283 deletions

View file

@ -2,11 +2,6 @@ issues:
exclude:
- SA1019
- SA5011
exclude-rules:
- path: "(cmpserver|reposerver)/"
text: "require-error:"
linters:
- testifylint
max-issues-per-linter: 0
max-same-issues: 0
linters:

View file

@ -159,9 +159,9 @@ spec:
require.NoError(t, err)
config, err := ReadPluginConfig(tempDir)
if tcc.expectedErr != "" {
assert.EqualError(t, err, tcc.expectedErr)
require.EqualError(t, err, tcc.expectedErr)
} else {
assert.NoError(t, err)
require.NoError(t, err)
}
assert.Equal(t, tcc.expected, config)
})

View file

@ -103,7 +103,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, match)
assert.True(t, discovery)
})
@ -118,7 +118,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.False(t, match)
assert.True(t, discovery)
})
@ -133,7 +133,7 @@ func TestMatchRepository(t *testing.T) {
_, _, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.ErrorContains(t, err, "syntax error")
require.ErrorContains(t, err, "syntax error")
})
t.Run("will match plugin by glob", func(t *testing.T) {
// given
@ -148,7 +148,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, match)
assert.True(t, discovery)
})
@ -165,7 +165,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.False(t, match)
assert.True(t, discovery)
})
@ -182,7 +182,7 @@ func TestMatchRepository(t *testing.T) {
_, _, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.ErrorContains(t, err, "error finding glob match for pattern")
require.ErrorContains(t, err, "error finding glob match for pattern")
})
t.Run("will match plugin by command when returns any output", func(t *testing.T) {
// given
@ -199,7 +199,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, match)
assert.True(t, discovery)
})
@ -217,7 +217,7 @@ func TestMatchRepository(t *testing.T) {
// when
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.False(t, match)
assert.True(t, discovery)
})
@ -236,7 +236,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, match)
assert.True(t, discovery)
})
@ -256,7 +256,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.False(t, match)
assert.True(t, discovery)
})
@ -275,7 +275,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.Error(t, err)
require.Error(t, err)
assert.False(t, match)
assert.True(t, discovery)
})
@ -288,7 +288,7 @@ func TestMatchRepository(t *testing.T) {
match, discovery, err := f.service.matchRepository(context.Background(), f.path, f.env, ".")
// then
assert.NoError(t, err)
require.NoError(t, err)
assert.False(t, match)
assert.False(t, discovery)
})
@ -323,7 +323,7 @@ func TestGenerateManifest(t *testing.T) {
service.WithGenerateCommand(Command{Command: []string{"bad-command"}})
res, err := service.generateManifest(context.Background(), "testdata/kustomize", nil)
assert.ErrorContains(t, err, "executable file not found")
require.ErrorContains(t, err, "executable file not found")
assert.Nil(t, res.Manifests)
})
t.Run("bad yaml output", func(t *testing.T) {
@ -332,7 +332,7 @@ func TestGenerateManifest(t *testing.T) {
service.WithGenerateCommand(Command{Command: []string{"echo", "invalid yaml: }"}})
res, err := service.generateManifest(context.Background(), "testdata/kustomize", nil)
assert.ErrorContains(t, err, "failed to unmarshal manifest")
require.ErrorContains(t, err, "failed to unmarshal manifest")
assert.Nil(t, res.Manifests)
})
}
@ -345,7 +345,7 @@ func TestGenerateManifest_deadline_exceeded(t *testing.T) {
expiredCtx, cancel := context.WithTimeout(context.Background(), time.Second*0)
defer cancel()
_, err = service.generateManifest(expiredCtx, "", nil)
assert.ErrorContains(t, err, "context deadline exceeded")
require.ErrorContains(t, err, "context deadline exceeded")
}
// TestRunCommandContextTimeout makes sure the command dies at timeout rather than sleeping past the timeout.
@ -360,13 +360,13 @@ func TestRunCommandContextTimeout(t *testing.T) {
before := time.Now()
_, err := runCommand(ctx, command, "", []string{})
after := time.Now()
assert.Error(t, err) // The command should time out, causing an error.
require.Error(t, err) // The command should time out, causing an error.
assert.Less(t, after.Sub(before), 1*time.Second)
}
func TestRunCommandEmptyCommand(t *testing.T) {
_, err := runCommand(context.Background(), Command{}, "", nil)
assert.ErrorContains(t, err, "Command is empty")
require.ErrorContains(t, err, "Command is empty")
}
// TestRunCommandContextTimeoutWithCleanup makes sure that the process is given enough time to cleanup before sending SIGKILL.
@ -385,7 +385,7 @@ func TestRunCommandContextTimeoutWithCleanup(t *testing.T) {
output, err := runCommand(ctx, command, "", []string{})
after := time.Now()
assert.Error(t, err) // The command should time out, causing an error.
require.Error(t, err) // The command should time out, causing an error.
assert.Less(t, after.Sub(before), 1*time.Second)
// The command should still have completed the cleanup after termination.
assert.Contains(t, output, "cleanup completed")
@ -451,7 +451,7 @@ func Test_getParametersAnnouncement_invalid_json(t *testing.T) {
Args: []string{`[`},
}
_, err := getParametersAnnouncement(context.Background(), "", []*repoclient.ParameterAnnouncement{}, command, []*apiclient.EnvEntry{})
assert.Error(t, err)
require.Error(t, err)
assert.Contains(t, err.Error(), "unexpected end of JSON input")
}
@ -461,7 +461,7 @@ func Test_getParametersAnnouncement_bad_command(t *testing.T) {
Args: []string{"1"},
}
_, err := getParametersAnnouncement(context.Background(), "", []*repoclient.ParameterAnnouncement{}, command, []*apiclient.EnvEntry{})
assert.Error(t, err)
require.Error(t, err)
assert.Contains(t, err.Error(), "error executing dynamic parameter output command")
}
@ -472,7 +472,7 @@ func Test_getTempDirMustCleanup(t *testing.T) {
err := os.Chmod(tempDir, 0o000)
require.NoError(t, err)
_, _, err = getTempDirMustCleanup(path.Join(tempDir, "test"))
assert.ErrorContains(t, err, "error creating temp dir")
require.ErrorContains(t, err, "error creating temp dir")
err = os.Chmod(tempDir, 0o700)
require.NoError(t, err)
@ -500,13 +500,13 @@ func TestService_Init(t *testing.T) {
require.NoError(t, err)
s := NewService(CMPServerInitConstants{PluginConfig: PluginConfig{}})
err = s.Init(workDir)
assert.ErrorContains(t, err, "error removing workdir", "Init must throw an error if it can't remove the work directory")
require.ErrorContains(t, err, "error removing workdir", "Init must throw an error if it can't remove the work directory")
// Make the base directory writable so Init's cleanup succeeds.
err = os.Chmod(tempDir, 0o700)
require.NoError(t, err)
err = s.Init(workDir)
assert.NoError(t, err)
require.NoError(t, err)
assert.DirExists(t, workDir)
assert.NoFileExists(t, testfile)
}

View file

@ -4,6 +4,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/argoproj/argo-cd/v2/reposerver/apiclient"
"github.com/argoproj/argo-cd/v2/reposerver/apiclient/mocks"
@ -16,7 +17,7 @@ func TestNewRepoServerClient_CorrectClientReturned(t *testing.T) {
closer, client, err := mockClientset.NewRepoServerClient()
assert.NoError(t, err)
require.NoError(t, err)
assert.NotNil(t, closer)
assert.NotNil(t, client)
assert.Equal(t, mockClientset.RepoServerServiceClient, client)
@ -59,7 +60,7 @@ func TestNewConnection_TLSWithStrictValidation(t *testing.T) {
conn, err := apiclient.NewConnection("example.com:443", 10, &tlsConfig)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotNil(t, conn)
}
@ -72,7 +73,7 @@ func TestNewConnection_TLSWithStrictValidationAndCertificates(t *testing.T) {
conn, err := apiclient.NewConnection("example.com:443", 10, &tlsConfig)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotNil(t, conn)
}
@ -86,6 +87,6 @@ func TestNewConnection_InsecureConnection(t *testing.T) {
conn, err := apiclient.NewConnection("example.com:80", 10, &tlsConfig)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotNil(t, conn)
}

View file

@ -12,6 +12,7 @@ import (
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
. "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
appv1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
@ -48,7 +49,7 @@ func TestCache_GetRevisionMetadata(t *testing.T) {
mockCache.RedisClient.AssertCalled(t, "Get", mock.Anything, mock.Anything)
// populate cache
err = cache.SetRevisionMetadata("my-repo-url", "my-revision", &RevisionMetadata{Message: "my-message"})
assert.NoError(t, err)
require.NoError(t, err)
// cache miss
_, err = cache.GetRevisionMetadata("other-repo-url", "my-revision")
assert.Equal(t, ErrCacheMiss, err)
@ -57,7 +58,7 @@ func TestCache_GetRevisionMetadata(t *testing.T) {
assert.Equal(t, ErrCacheMiss, err)
// cache hit
value, err := cache.GetRevisionMetadata("my-repo-url", "my-revision")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, &RevisionMetadata{Message: "my-message"}, value)
mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 4})
}
@ -72,7 +73,7 @@ func TestCache_ListApps(t *testing.T) {
assert.Equal(t, ErrCacheMiss, err)
// populate cache
err = cache.SetApps("my-repo-url", "my-revision", map[string]string{"foo": "bar"})
assert.NoError(t, err)
require.NoError(t, err)
// cache miss
_, err = cache.ListApps("other-repo-url", "my-revision")
assert.Equal(t, ErrCacheMiss, err)
@ -81,7 +82,7 @@ func TestCache_ListApps(t *testing.T) {
assert.Equal(t, ErrCacheMiss, err)
// cache hit
value, err := cache.ListApps("my-repo-url", "my-revision")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, map[string]string{"foo": "bar"}, value)
mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 4})
}
@ -99,7 +100,7 @@ func TestCache_GetManifests(t *testing.T) {
// populate cache
res := &CachedManifestResponse{ManifestResponse: &apiclient.ManifestResponse{SourceType: "my-source-type"}}
err = cache.SetManifests("my-revision", &ApplicationSource{}, q.RefSources, q, "my-namespace", "", "my-app-label-key", "my-app-label-value", res, nil)
assert.NoError(t, err)
require.NoError(t, err)
t.Run("expect cache miss because of changed revision", func(t *testing.T) {
err = cache.GetManifests("other-revision", &ApplicationSource{}, q.RefSources, q, "my-namespace", "", "my-app-label-key", "my-app-label-value", value, nil)
assert.Equal(t, ErrCacheMiss, err)
@ -128,10 +129,10 @@ func TestCache_GetManifests(t *testing.T) {
err = cache.SetManifests(
"my-revision1", &ApplicationSource{}, q.RefSources, q, "my-namespace", "", "my-app-label-key", "my-app-label-value",
&CachedManifestResponse{ManifestResponse: &apiclient.ManifestResponse{SourceType: "my-source-type", Revision: "my-revision2"}}, nil)
assert.NoError(t, err)
require.NoError(t, err)
err = cache.GetManifests("my-revision1", &ApplicationSource{}, q.RefSources, q, "my-namespace", "", "my-app-label-key", "my-app-label-value", value, nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "my-source-type", value.ManifestResponse.SourceType)
assert.Equal(t, "my-revision1", value.ManifestResponse.Revision)
@ -151,7 +152,7 @@ func TestCache_GetAppDetails(t *testing.T) {
assert.Equal(t, ErrCacheMiss, err)
res := &apiclient.RepoAppDetailsResponse{Type: "my-type"}
err = cache.SetAppDetails("my-revision", &ApplicationSource{}, emptyRefSources, res, "", nil)
assert.NoError(t, err)
require.NoError(t, err)
// cache miss
err = cache.GetAppDetails("other-revision", &ApplicationSource{}, emptyRefSources, value, "", nil)
assert.Equal(t, ErrCacheMiss, err)
@ -160,14 +161,14 @@ func TestCache_GetAppDetails(t *testing.T) {
assert.Equal(t, ErrCacheMiss, err)
// cache hit
err = cache.GetAppDetails("my-revision", &ApplicationSource{}, emptyRefSources, value, "", nil)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, &apiclient.RepoAppDetailsResponse{Type: "my-type"}, value)
mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 4})
}
func TestAddCacheFlagsToCmd(t *testing.T) {
cache, err := AddCacheFlagsToCmd(&cobra.Command{})()
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, 24*time.Hour, cache.repoCacheExpiration)
}
@ -347,7 +348,7 @@ func TestGetGitReferences(t *testing.T) {
cache := fixtures.cache
var references []*plumbing.Reference
lockOwner, err := cache.GetGitReferences("test-repo", &references)
assert.NoError(t, err, "Error is cache miss handled inside function")
require.NoError(t, err, "Error is cache miss handled inside function")
assert.Equal(t, "", lockOwner, "Lock owner should be empty")
assert.Nil(t, references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
@ -359,7 +360,7 @@ func TestGetGitReferences(t *testing.T) {
cache := fixtures.cache
var references []*plumbing.Reference
lockOwner, err := cache.GetGitReferences("test-repo", &references)
assert.NoError(t, err, "Error is cache miss handled inside function")
require.NoError(t, err, "Error is cache miss handled inside function")
assert.Equal(t, "", lockOwner, "Lock owner should be empty")
assert.Nil(t, references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
@ -370,10 +371,10 @@ func TestGetGitReferences(t *testing.T) {
t.Cleanup(fixtures.mockCache.StopRedisCallback)
cache := fixtures.cache
err := cache.SetGitReferences("test-repo", *GitRefCacheItemToReferences([][2]string{{"test-repo", "ref: test"}}))
assert.NoError(t, err)
require.NoError(t, err)
var references []*plumbing.Reference
lockOwner, err := cache.GetGitReferences("test-repo", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "", lockOwner, "Lock owner should be empty")
assert.Len(t, references, 1)
assert.Equal(t, "test", (references)[0].Target().String())
@ -389,7 +390,7 @@ func TestGetGitReferences(t *testing.T) {
fixtures.mockCache.RedisClient.On("Get", mock.Anything, mock.Anything).Return(errors.New("test cache error"))
var references []*plumbing.Reference
lockOwner, err := cache.GetGitReferences("test-repo", &references)
assert.ErrorContains(t, err, "test cache error", "Error should be propagated")
require.ErrorContains(t, err, "test cache error", "Error should be propagated")
assert.Equal(t, "", lockOwner, "Lock owner should be empty")
assert.Nil(t, references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
@ -428,32 +429,32 @@ func TestTryLockGitRefCache_OwnershipFlows(t *testing.T) {
// Test setting the lock
_, err := cache.TryLockGitRefCache("my-repo-url", "my-lock-id", &references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 1})
assert.NoError(t, err)
require.NoError(t, err)
var output [][2]string
key := fmt.Sprintf("git-refs|%s", "my-repo-url")
err = utilCache.GetItem(key, &output)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 2})
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "locked", output[0][0], "The lock should be set")
assert.Equal(t, "my-lock-id", output[0][1], "The lock should be set to the provided lock id")
// Test not being able to overwrite the lock
_, err = cache.TryLockGitRefCache("my-repo-url", "other-lock-id", &references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 2, ExternalGets: 3})
assert.NoError(t, err)
require.NoError(t, err)
err = utilCache.GetItem(key, &output)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 2, ExternalGets: 4})
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "locked", output[0][0], "The lock should not have changed")
assert.Equal(t, "my-lock-id", output[0][1], "The lock should not have changed")
// Test can overwrite once there is nothing set
err = utilCache.SetItem(key, [][2]string{}, &cacheutil.CacheActionOpts{Expiration: 0, Delete: true})
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 2, ExternalGets: 4, ExternalDeletes: 1})
assert.NoError(t, err)
require.NoError(t, err)
_, err = cache.TryLockGitRefCache("my-repo-url", "other-lock-id", &references)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 3, ExternalGets: 5, ExternalDeletes: 1})
assert.NoError(t, err)
require.NoError(t, err)
err = utilCache.GetItem(key, &output)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "locked", output[0][0], "The lock should be set")
assert.Equal(t, "other-lock-id", output[0][1], "The lock id should have changed to other-lock-id")
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 3, ExternalGets: 6, ExternalDeletes: 1})
@ -466,7 +467,7 @@ func TestGetOrLockGitReferences(t *testing.T) {
cache := fixtures.cache
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "test-lock-id", lockId)
assert.NotEqual(t, "", lockId, "Lock id should be set")
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1, ExternalGets: 2})
@ -477,10 +478,10 @@ func TestGetOrLockGitReferences(t *testing.T) {
t.Cleanup(fixtures.mockCache.StopRedisCallback)
cache := fixtures.cache
err := cache.SetGitReferences("test-repo", *GitRefCacheItemToReferences([][2]string{{"test-repo", "ref: test"}}))
assert.NoError(t, err)
require.NoError(t, err)
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotEqual(t, "test-lock-id", lockId)
assert.Equal(t, "", lockId, "Lock id should not be set")
assert.Equal(t, "test-repo", references[0].Name().String())
@ -498,10 +499,10 @@ func TestGetOrLockGitReferences(t *testing.T) {
&cacheutil.CacheActionOpts{
Expiration: 30 * time.Second,
})
assert.NoError(t, err)
require.NoError(t, err)
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotEqual(t, "test-lock-id", lockId)
assert.Equal(t, "", lockId, "Lock id should not be set")
assert.Equal(t, "test-repo", references[0].Name().String())
@ -518,11 +519,11 @@ func TestGetOrLockGitReferences(t *testing.T) {
fixtures.mockCache.RedisClient.On("Get", mock.Anything, mock.Anything).Unset()
fixtures.mockCache.RedisClient.On("Get", mock.Anything, mock.Anything).Return(cacheutil.ErrCacheMiss).Once().Run(func(args mock.Arguments) {
err := cache.SetGitReferences("test-repo", *GitRefCacheItemToReferences([][2]string{{"test-repo", "ref: test"}}))
assert.NoError(t, err)
require.NoError(t, err)
}).On("Get", mock.Anything, mock.Anything).Return(nil)
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.NotEqual(t, "test-lock-id", lockId)
assert.Equal(t, "", lockId, "Lock id should not be set")
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 2, ExternalGets: 2})
@ -534,11 +535,11 @@ func TestGetOrLockGitReferences(t *testing.T) {
cache := fixtures.cache
// Create conditions for cache hit, which would result in false on updateCache if we weren't reaching the timeout
err := cache.SetGitReferences("test-repo", *GitRefCacheItemToReferences([][2]string{{"test-repo", "ref: test"}}))
assert.NoError(t, err)
require.NoError(t, err)
cache.revisionCacheLockTimeout = -1 * time.Second
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "test-lock-id", lockId)
assert.NotEqual(t, "", lockId, "Lock id should be set")
cache.revisionCacheLockTimeout = 10 * time.Second
@ -555,7 +556,7 @@ func TestGetOrLockGitReferences(t *testing.T) {
On("Set", mock.Anything).Return(nil)
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "test-lock-id", lockId)
assert.NotEqual(t, "", lockId, "Lock id should be set")
fixtures.mockCache.RedisClient.AssertNumberOfCalls(t, "Set", 2)
@ -570,7 +571,7 @@ func TestUnlockGitReferences(t *testing.T) {
t.Run("Test not locked", func(t *testing.T) {
err := cache.UnlockGitReferences("test-repo", "")
assert.Error(t, err)
require.Error(t, err)
assert.Contains(t, err.Error(), "key is missing")
})
@ -578,12 +579,12 @@ func TestUnlockGitReferences(t *testing.T) {
// Get lock
var references []*plumbing.Reference
lockId, err := cache.GetOrLockGitReferences("test-repo", "test-lock-id", &references)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "test-lock-id", lockId)
assert.NotEqual(t, "", lockId, "Lock id should be set")
// Release lock
err = cache.UnlockGitReferences("test-repo", lockId)
assert.NoError(t, err)
require.NoError(t, err)
})
}
@ -592,17 +593,17 @@ func TestSetHelmIndex(t *testing.T) {
fixtures := newFixtures()
t.Cleanup(fixtures.mockCache.StopRedisCallback)
err := fixtures.cache.SetHelmIndex("test-repo", []byte("test-data"))
assert.NoError(t, err)
require.NoError(t, err)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalSets: 1})
})
t.Run("SetHelmIndex with nil", func(t *testing.T) {
fixtures := newFixtures()
t.Cleanup(fixtures.mockCache.StopRedisCallback)
err := fixtures.cache.SetHelmIndex("test-repo", nil)
assert.Error(t, err, "nil data should not be cached")
require.Error(t, err, "nil data should not be cached")
var indexData []byte
err = fixtures.cache.GetHelmIndex("test-repo", &indexData)
assert.Error(t, err)
require.Error(t, err)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
})
}
@ -612,7 +613,7 @@ func TestRevisionChartDetails(t *testing.T) {
fixtures := newFixtures()
t.Cleanup(fixtures.mockCache.StopRedisCallback)
details, err := fixtures.cache.GetRevisionChartDetails("test-repo", "test-revision", "v1.0.0")
assert.ErrorAs(t, err, &ErrCacheMiss)
require.ErrorAs(t, err, &ErrCacheMiss)
assert.Equal(t, &appv1.ChartDetails{}, details)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
})
@ -629,9 +630,9 @@ func TestRevisionChartDetails(t *testing.T) {
revisionChartDetailsKey("test-repo", "test-revision", "v1.0.0"),
expectedItem,
&cacheutil.CacheActionOpts{Expiration: 30 * time.Second})
assert.NoError(t, err)
require.NoError(t, err)
details, err := fixtures.cache.GetRevisionChartDetails("test-repo", "test-revision", "v1.0.0")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, details)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -649,9 +650,9 @@ func TestRevisionChartDetails(t *testing.T) {
revisionChartDetailsKey("test-repo", "test-revision", "v1.0.0"),
expectedItem,
&cacheutil.CacheActionOpts{Expiration: 30 * time.Second})
assert.NoError(t, err)
require.NoError(t, err)
details, err := fixtures.cache.GetRevisionChartDetails("test-repo", "test-revision", "v1.0.0")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, details)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -665,9 +666,9 @@ func TestRevisionChartDetails(t *testing.T) {
Maintainers: []string{"test-maintainer"},
}
err := fixtures.cache.SetRevisionChartDetails("test-repo", "test-revision", "v1.0.0", expectedItem)
assert.NoError(t, err)
require.NoError(t, err)
details, err := fixtures.cache.GetRevisionChartDetails("test-repo", "test-revision", "v1.0.0")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, details)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -678,7 +679,7 @@ func TestGetGitDirectories(t *testing.T) {
fixtures := newFixtures()
t.Cleanup(fixtures.mockCache.StopRedisCallback)
directories, err := fixtures.cache.GetGitDirectories("test-repo", "test-revision")
assert.ErrorAs(t, err, &ErrCacheMiss)
require.ErrorAs(t, err, &ErrCacheMiss)
assert.Empty(t, directories)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
})
@ -691,9 +692,9 @@ func TestGetGitDirectories(t *testing.T) {
gitDirectoriesKey("test-repo", "test-revision"),
expectedItem,
&cacheutil.CacheActionOpts{Expiration: 30 * time.Second})
assert.NoError(t, err)
require.NoError(t, err)
directories, err := fixtures.cache.GetGitDirectories("test-repo", "test-revision")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, directories)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -707,9 +708,9 @@ func TestGetGitDirectories(t *testing.T) {
gitDirectoriesKey("test-repo", "test-revision"),
expectedItem,
&cacheutil.CacheActionOpts{Expiration: 30 * time.Second})
assert.NoError(t, err)
require.NoError(t, err)
directories, err := fixtures.cache.GetGitDirectories("test-repo", "test-revision")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, directories)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -719,9 +720,9 @@ func TestGetGitDirectories(t *testing.T) {
t.Cleanup(fixtures.mockCache.StopRedisCallback)
expectedItem := []string{"test/dir", "test/dir2"}
err := fixtures.cache.SetGitDirectories("test-repo", "test-revision", expectedItem)
assert.NoError(t, err)
require.NoError(t, err)
directories, err := fixtures.cache.GetGitDirectories("test-repo", "test-revision")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, directories)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -732,7 +733,7 @@ func TestGetGitFiles(t *testing.T) {
fixtures := newFixtures()
t.Cleanup(fixtures.mockCache.StopRedisCallback)
directories, err := fixtures.cache.GetGitFiles("test-repo", "test-revision", "*.json")
assert.ErrorAs(t, err, &ErrCacheMiss)
require.ErrorAs(t, err, &ErrCacheMiss)
assert.Empty(t, directories)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1})
})
@ -745,9 +746,9 @@ func TestGetGitFiles(t *testing.T) {
gitFilesKey("test-repo", "test-revision", "*.json"),
expectedItem,
&cacheutil.CacheActionOpts{Expiration: 30 * time.Second})
assert.NoError(t, err)
require.NoError(t, err)
files, err := fixtures.cache.GetGitFiles("test-repo", "test-revision", "*.json")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, files)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})
@ -757,9 +758,9 @@ func TestGetGitFiles(t *testing.T) {
t.Cleanup(fixtures.mockCache.StopRedisCallback)
expectedItem := map[string][]byte{"test/file.json": []byte("\"test\":\"contents\""), "test/file1.json": []byte("\"test1\":\"contents1\"")}
err := fixtures.cache.SetGitFiles("test-repo", "test-revision", "*.json", expectedItem)
assert.NoError(t, err)
require.NoError(t, err)
files, err := fixtures.cache.GetGitFiles("test-repo", "test-revision", "*.json")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, expectedItem, files)
fixtures.mockCache.AssertCacheCalledTimes(t, &mocks.CacheCallCounts{ExternalGets: 1, ExternalSets: 1})
})

View file

@ -4,6 +4,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func Test_getChartDetailsNotSet(t *testing.T) {
@ -12,7 +13,7 @@ name: mychart
version: 0.0.0`
cd, err := getChartDetails(chart1)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "", cd.Description)
assert.Equal(t, cd.Maintainers, []string(nil))
assert.Equal(t, "", cd.Home)
@ -30,7 +31,7 @@ maintainers:
`
cd, err := getChartDetails(chart1)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, "a good chart", cd.Description)
assert.Equal(t, []string{"alex <example@example.com>"}, cd.Maintainers)
assert.Equal(t, "https://example.com", cd.Home)
@ -44,7 +45,7 @@ maintainers:
- name: alex
`
cd, err = getChartDetails(chart1)
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, []string{"alex"}, cd.Maintainers)
}
@ -58,6 +59,6 @@ maintainers: alex
`
cd, err := getChartDetails(chart1)
assert.Error(t, err)
require.Error(t, err)
assert.Nil(t, cd)
}

File diff suppressed because it is too large Load diff

View file

@ -6,6 +6,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
. "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
@ -31,7 +32,7 @@ func TestLabelsOnAppK8sEvents(t *testing.T) {
events, err := KubeClientset.CoreV1().Events(app.Namespace).List(context.Background(), metav1.ListOptions{
FieldSelector: fmt.Sprintf("involvedObject.name=%s,involvedObject.kind=Application", app.Name),
})
assert.NoError(t, err)
require.NoError(t, err)
for _, event := range events.Items {
for k, v := range event.Labels {
ev, found := expectedLabels[k]
@ -56,7 +57,7 @@ func TestNoLabelsOnAppK8sEvents(t *testing.T) {
events, err := KubeClientset.CoreV1().Events(app.Namespace).List(context.Background(), metav1.ListOptions{
FieldSelector: fmt.Sprintf("involvedObject.name=%s,involvedObject.kind=Application", app.Name),
})
assert.NoError(t, err)
require.NoError(t, err)
for _, event := range events.Items {
assert.Nil(t, event.Labels)
}