From 9cbe0557919353ba87aff12fe4a3b45387d710b0 Mon Sep 17 00:00:00 2001 From: sneak Date: Tue, 15 Jul 2025 08:33:16 +0200 Subject: [PATCH] fmt --- internal/cli/secrets_size_test.go | 134 +++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/internal/cli/secrets_size_test.go b/internal/cli/secrets_size_test.go index e996c24..8e1dac8 100644 --- a/internal/cli/secrets_size_test.go +++ b/internal/cli/secrets_size_test.go @@ -74,60 +74,60 @@ func TestAddSecretVariousSizes(t *testing.T) { // Set up test environment fs := afero.NewMemMapFs() stateDir := "/test/state" - + // Set test mnemonic t.Setenv(secret.EnvMnemonic, "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about") - + // Create vault vaultName := "test-vault" _, err := vault.CreateVault(fs, stateDir, vaultName) require.NoError(t, err) - + // Set current vault currentVaultPath := filepath.Join(stateDir, "currentvault") vaultPath := filepath.Join(stateDir, "vaults.d", vaultName) err = afero.WriteFile(fs, currentVaultPath, []byte(vaultPath), 0o600) require.NoError(t, err) - + // Get vault and set up long-term key vlt, err := vault.GetCurrentVault(fs, stateDir) require.NoError(t, err) - + ltIdentity, err := agehd.DeriveIdentity("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", 0) require.NoError(t, err) vlt.Unlock(ltIdentity) - + // Generate test data of specified size testData := make([]byte, tt.size) _, err = rand.Read(testData) require.NoError(t, err) - + // Add newline that will be stripped testDataWithNewline := append(testData, '\n') - + // Create fake stdin stdin := bytes.NewReader(testDataWithNewline) - + // Create command with fake stdin cmd := &cobra.Command{} cmd.SetIn(stdin) - + // Create CLI instance cli := NewCLIInstance() cli.fs = fs cli.stateDir = stateDir cli.cmd = cmd - + // Test adding the secret secretName := fmt.Sprintf("test-secret-%d", tt.size) err = cli.AddSecret(secretName, false) - + if tt.shouldError { assert.Error(t, err) assert.Contains(t, err.Error(), tt.errorMsg) } else { require.NoError(t, err) - + // Verify the secret was stored correctly retrievedValue, err := vlt.GetSecret(secretName) require.NoError(t, err) @@ -193,57 +193,57 @@ func TestImportSecretVariousSizes(t *testing.T) { // Set up test environment fs := afero.NewMemMapFs() stateDir := "/test/state" - + // Set test mnemonic t.Setenv(secret.EnvMnemonic, "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about") - + // Create vault vaultName := "test-vault" _, err := vault.CreateVault(fs, stateDir, vaultName) require.NoError(t, err) - + // Set current vault currentVaultPath := filepath.Join(stateDir, "currentvault") vaultPath := filepath.Join(stateDir, "vaults.d", vaultName) err = afero.WriteFile(fs, currentVaultPath, []byte(vaultPath), 0o600) require.NoError(t, err) - + // Get vault and set up long-term key vlt, err := vault.GetCurrentVault(fs, stateDir) require.NoError(t, err) - + ltIdentity, err := agehd.DeriveIdentity("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", 0) require.NoError(t, err) vlt.Unlock(ltIdentity) - + // Generate test data of specified size testData := make([]byte, tt.size) _, err = rand.Read(testData) require.NoError(t, err) - + // Write test data to file testFile := fmt.Sprintf("/test/secret-%d.bin", tt.size) err = afero.WriteFile(fs, testFile, testData, 0o600) require.NoError(t, err) - + // Create command cmd := &cobra.Command{} - + // Create CLI instance cli := NewCLIInstance() cli.fs = fs cli.stateDir = stateDir - + // Test importing the secret secretName := fmt.Sprintf("imported-secret-%d", tt.size) err = cli.ImportSecret(cmd, secretName, testFile, false) - + if tt.shouldError { assert.Error(t, err) assert.Contains(t, err.Error(), tt.errorMsg) } else { require.NoError(t, err) - + // Verify the secret was stored correctly retrievedValue, err := vlt.GetSecret(secretName) require.NoError(t, err) @@ -257,22 +257,22 @@ func TestImportSecretVariousSizes(t *testing.T) { func TestAddSecretBufferGrowth(t *testing.T) { // Test various sizes that should trigger buffer growth sizes := []int{ - 1, // Single byte - 100, // Small - 4095, // Just under initial 4KB - 4096, // Exactly 4KB - 4097, // Just over 4KB - 8191, // Just under 8KB (first double) - 8192, // Exactly 8KB - 8193, // Just over 8KB - 12288, // 12KB (should trigger second double) - 16384, // 16KB - 32768, // 32KB (after more doublings) - 65536, // 64KB - 131072, // 128KB - 524288, // 512KB - 1048576, // 1MB - 2097152, // 2MB + 1, // Single byte + 100, // Small + 4095, // Just under initial 4KB + 4096, // Exactly 4KB + 4097, // Just over 4KB + 8191, // Just under 8KB (first double) + 8192, // Exactly 8KB + 8193, // Just over 8KB + 12288, // 12KB (should trigger second double) + 16384, // 16KB + 32768, // 32KB (after more doublings) + 65536, // 64KB + 131072, // 128KB + 524288, // 512KB + 1048576, // 1MB + 2097152, // 2MB } for _, size := range sizes { @@ -280,54 +280,54 @@ func TestAddSecretBufferGrowth(t *testing.T) { // Set up test environment fs := afero.NewMemMapFs() stateDir := "/test/state" - + // Set test mnemonic t.Setenv(secret.EnvMnemonic, "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about") - + // Create vault vaultName := "test-vault" _, err := vault.CreateVault(fs, stateDir, vaultName) require.NoError(t, err) - + // Set current vault currentVaultPath := filepath.Join(stateDir, "currentvault") vaultPath := filepath.Join(stateDir, "vaults.d", vaultName) err = afero.WriteFile(fs, currentVaultPath, []byte(vaultPath), 0o600) require.NoError(t, err) - + // Get vault and set up long-term key vlt, err := vault.GetCurrentVault(fs, stateDir) require.NoError(t, err) - + ltIdentity, err := agehd.DeriveIdentity("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", 0) require.NoError(t, err) vlt.Unlock(ltIdentity) - + // Create test data of exactly the specified size // Use a pattern that's easy to verify testData := make([]byte, size) for i := range testData { testData[i] = byte(i % 256) } - + // Create fake stdin without newline stdin := bytes.NewReader(testData) - + // Create command with fake stdin cmd := &cobra.Command{} cmd.SetIn(stdin) - + // Create CLI instance cli := NewCLIInstance() cli.fs = fs cli.stateDir = stateDir cli.cmd = cmd - + // Test adding the secret secretName := fmt.Sprintf("buffer-test-%d", size) err = cli.AddSecret(secretName, false) require.NoError(t, err) - + // Verify the secret was stored correctly retrievedValue, err := vlt.GetSecret(secretName) require.NoError(t, err) @@ -341,29 +341,29 @@ func TestAddSecretStreamingBehavior(t *testing.T) { // Set up test environment fs := afero.NewMemMapFs() stateDir := "/test/state" - + // Set test mnemonic t.Setenv(secret.EnvMnemonic, "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about") - + // Create vault vaultName := "test-vault" _, err := vault.CreateVault(fs, stateDir, vaultName) require.NoError(t, err) - + // Set current vault currentVaultPath := filepath.Join(stateDir, "currentvault") vaultPath := filepath.Join(stateDir, "vaults.d", vaultName) err = afero.WriteFile(fs, currentVaultPath, []byte(vaultPath), 0o600) require.NoError(t, err) - + // Get vault and set up long-term key vlt, err := vault.GetCurrentVault(fs, stateDir) require.NoError(t, err) - + ltIdentity, err := agehd.DeriveIdentity("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", 0) require.NoError(t, err) vlt.Unlock(ltIdentity) - + // Create a custom reader that simulates slow streaming input // This will help verify our buffer handling works correctly with partial reads testData := []byte(strings.Repeat("Hello, World! ", 1000)) // ~14KB @@ -371,21 +371,21 @@ func TestAddSecretStreamingBehavior(t *testing.T) { data: testData, chunkSize: 1000, // Read 1KB at a time } - + // Create command with slow reader as stdin cmd := &cobra.Command{} cmd.SetIn(slowReader) - + // Create CLI instance cli := NewCLIInstance() cli.fs = fs cli.stateDir = stateDir cli.cmd = cmd - + // Test adding the secret err = cli.AddSecret("streaming-test", false) require.NoError(t, err) - + // Verify the secret was stored correctly retrievedValue, err := vlt.GetSecret("streaming-test") require.NoError(t, err) @@ -403,7 +403,7 @@ func (r *slowReader) Read(p []byte) (n int, err error) { if r.offset >= len(r.data) { return 0, io.EOF } - + // Read at most chunkSize bytes remaining := len(r.data) - r.offset toRead := r.chunkSize @@ -413,13 +413,13 @@ func (r *slowReader) Read(p []byte) (n int, err error) { if toRead > len(p) { toRead = len(p) } - + n = copy(p, r.data[r.offset:r.offset+toRead]) r.offset += n - + if r.offset >= len(r.data) { err = io.EOF } - + return n, err -} \ No newline at end of file +}