mirror of
https://github.com/argoproj/argo-cd
synced 2026-04-21 17:07:16 +00:00
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:
parent
4c6ad9dcc1
commit
8f281996c6
8 changed files with 270 additions and 283 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
115
reposerver/cache/cache_test.go
vendored
115
reposerver/cache/cache_test.go
vendored
|
|
@ -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})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue