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

This commit is contained in:
Volodymyr Zotov
2025-06-16 22:04:23 -05:00
parent 17d44d90bd
commit bb7b565457
2 changed files with 20 additions and 13 deletions

View File

@@ -71,14 +71,13 @@ func (c *Connect) GetVaultsByTitle(vaultQuery string) ([]model.Vault, error) {
return nil, fmt.Errorf("1Password Connect error: %w", err) return nil, fmt.Errorf("1Password Connect error: %w", err)
} }
vaults := make([]model.Vault, len(connectVaults)) var vaults []model.Vault
for i, connectVault := range connectVaults { for _, connectVault := range connectVaults {
if vaultQuery == connectVault.Name { if vaultQuery == connectVault.Name {
var vault model.Vault var vault model.Vault
vault.FromConnectVault(&connectVault) vault.FromConnectVault(&connectVault)
vaults[i] = vault vaults = append(vaults, vault)
} }
} }
return vaults, nil return vaults, nil
} }

View File

@@ -3,6 +3,7 @@ package connect
import ( import (
"errors" "errors"
"testing" "testing"
"time"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@@ -159,6 +160,7 @@ func TestConnect_GetFileContent(t *testing.T) {
} }
func TestConnect_GetVaultsByTitle(t *testing.T) { func TestConnect_GetVaultsByTitle(t *testing.T) {
now := time.Now()
testCases := map[string]struct { testCases := map[string]struct {
mockClient func() *mock.ConnectClientMock mockClient func() *mock.ConnectClientMock
check func(t *testing.T, vaults []model.Vault, err error) check func(t *testing.T, vaults []model.Vault, err error)
@@ -168,12 +170,14 @@ func TestConnect_GetVaultsByTitle(t *testing.T) {
mockConnectClient := &mock.ConnectClientMock{} mockConnectClient := &mock.ConnectClientMock{}
mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{ mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{
{ {
ID: "test-id", ID: "test-id",
Name: VaultTitleEmployee, Name: VaultTitleEmployee,
CreatedAt: now,
}, },
{ {
ID: "test-id-2", ID: "test-id-2",
Name: "Some other vault", Name: "Some other vault",
CreatedAt: now,
}, },
}, nil) }, nil)
return mockConnectClient return mockConnectClient
@@ -182,6 +186,7 @@ func TestConnect_GetVaultsByTitle(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Len(t, vaults, 1) require.Len(t, vaults, 1)
require.Equal(t, "test-id", vaults[0].ID) require.Equal(t, "test-id", vaults[0].ID)
require.Equal(t, now, vaults[0].CreatedAt)
}, },
}, },
"should return a two vaults": { "should return a two vaults": {
@@ -189,12 +194,14 @@ func TestConnect_GetVaultsByTitle(t *testing.T) {
mockConnectClient := &mock.ConnectClientMock{} mockConnectClient := &mock.ConnectClientMock{}
mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{ mockConnectClient.On("GetVaultsByTitle", VaultTitleEmployee).Return([]onepassword.Vault{
{ {
ID: "test-id", ID: "test-id",
Name: VaultTitleEmployee, Name: VaultTitleEmployee,
CreatedAt: now,
}, },
{ {
ID: "test-id-2", ID: "test-id-2",
Name: VaultTitleEmployee, Name: VaultTitleEmployee,
CreatedAt: now,
}, },
}, nil) }, nil)
return mockConnectClient return mockConnectClient
@@ -204,8 +211,9 @@ func TestConnect_GetVaultsByTitle(t *testing.T) {
require.Len(t, vaults, 2) require.Len(t, vaults, 2)
// Check the first vault // Check the first vault
require.Equal(t, "test-id", vaults[0].ID) require.Equal(t, "test-id", vaults[0].ID)
require.Equal(t, now, vaults[0].CreatedAt)
// Check the second vault // Check the second vault
require.Equal(t, "test-id-2", vaults[1].ID) require.Equal(t, now, vaults[1].CreatedAt)
}, },
}, },
"should return an error": { "should return an error": {