From bb7b565457adfe4fcd942852d7f6ce96c1e10d4b Mon Sep 17 00:00:00 2001 From: Volodymyr Zotov Date: Mon, 16 Jun 2025 22:04:23 -0500 Subject: [PATCH] As we check for vault name, we can't initialize the array of exact size as don't know how many items well have ther --- pkg/onepassword/client/connect/connect.go | 7 +++-- .../client/connect/connect_test.go | 26 ++++++++++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/pkg/onepassword/client/connect/connect.go b/pkg/onepassword/client/connect/connect.go index 992fa49..64bd344 100644 --- a/pkg/onepassword/client/connect/connect.go +++ b/pkg/onepassword/client/connect/connect.go @@ -71,14 +71,13 @@ func (c *Connect) GetVaultsByTitle(vaultQuery string) ([]model.Vault, error) { return nil, fmt.Errorf("1Password Connect error: %w", err) } - vaults := make([]model.Vault, len(connectVaults)) - for i, connectVault := range connectVaults { + var vaults []model.Vault + for _, connectVault := range connectVaults { if vaultQuery == connectVault.Name { var vault model.Vault vault.FromConnectVault(&connectVault) - vaults[i] = vault + vaults = append(vaults, vault) } } - return vaults, nil } diff --git a/pkg/onepassword/client/connect/connect_test.go b/pkg/onepassword/client/connect/connect_test.go index ef21b90..0eef3be 100644 --- a/pkg/onepassword/client/connect/connect_test.go +++ b/pkg/onepassword/client/connect/connect_test.go @@ -3,6 +3,7 @@ package connect import ( "errors" "testing" + "time" "github.com/stretchr/testify/require" @@ -159,6 +160,7 @@ func TestConnect_GetFileContent(t *testing.T) { } func TestConnect_GetVaultsByTitle(t *testing.T) { + now := time.Now() testCases := map[string]struct { mockClient func() *mock.ConnectClientMock check func(t *testing.T, vaults []model.Vault, err error) @@ -168,12 +170,14 @@ func TestConnect_GetVaultsByTitle(t *testing.T) { mockConnectClient := &mock.ConnectClientMock{} mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{ { - ID: "test-id", - Name: VaultTitleEmployee, + ID: "test-id", + Name: VaultTitleEmployee, + CreatedAt: now, }, { - ID: "test-id-2", - Name: "Some other vault", + ID: "test-id-2", + Name: "Some other vault", + CreatedAt: now, }, }, nil) return mockConnectClient @@ -182,6 +186,7 @@ func TestConnect_GetVaultsByTitle(t *testing.T) { require.NoError(t, err) require.Len(t, vaults, 1) require.Equal(t, "test-id", vaults[0].ID) + require.Equal(t, now, vaults[0].CreatedAt) }, }, "should return a two vaults": { @@ -189,12 +194,14 @@ func TestConnect_GetVaultsByTitle(t *testing.T) { mockConnectClient := &mock.ConnectClientMock{} mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{ { - ID: "test-id", - Name: VaultTitleEmployee, + ID: "test-id", + Name: VaultTitleEmployee, + CreatedAt: now, }, { - ID: "test-id-2", - Name: VaultTitleEmployee, + ID: "test-id-2", + Name: VaultTitleEmployee, + CreatedAt: now, }, }, nil) return mockConnectClient @@ -204,8 +211,9 @@ func TestConnect_GetVaultsByTitle(t *testing.T) { require.Len(t, vaults, 2) // Check the first vault require.Equal(t, "test-id", vaults[0].ID) + require.Equal(t, now, vaults[0].CreatedAt) // Check the second vault - require.Equal(t, "test-id-2", vaults[1].ID) + require.Equal(t, now, vaults[1].CreatedAt) }, }, "should return an error": {