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)
}
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
}

View File

@@ -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": {