latest from ai, it broke the tests

This commit is contained in:
2025-06-20 05:40:20 -07:00
parent 6958b2a6e2
commit 0b31fba663
19 changed files with 1201 additions and 328 deletions

View File

@@ -17,8 +17,7 @@
package cli
import (
"io"
"os"
"bytes"
"strings"
"testing"
"time"
@@ -78,20 +77,18 @@ func TestListVersionsCommand(t *testing.T) {
err = vlt.AddSecret("test/secret", []byte("version-2"), true)
require.NoError(t, err)
// Capture output
oldStdout := os.Stdout
r, w, _ := os.Pipe()
os.Stdout = w
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
cmd.SetErr(&buf)
// List versions
err = cli.ListVersions("test/secret")
err = cli.ListVersions(cmd, "test/secret")
require.NoError(t, err)
// Restore stdout and read output
w.Close()
os.Stdout = oldStdout
output, _ := io.ReadAll(r)
outputStr := string(output)
// Read output
outputStr := buf.String()
// Verify output contains version headers
assert.Contains(t, outputStr, "VERSION")
@@ -122,8 +119,14 @@ func TestListVersionsNonExistentSecret(t *testing.T) {
// Set up vault with long-term key
setupTestVault(t, fs, stateDir)
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
cmd.SetErr(&buf)
// Try to list versions of non-existent secret
err := cli.ListVersions("nonexistent/secret")
err := cli.ListVersions(cmd, "nonexistent/secret")
assert.Error(t, err)
assert.Contains(t, err.Error(), "not found")
}
@@ -163,19 +166,17 @@ func TestPromoteVersionCommand(t *testing.T) {
// Promote first version
firstVersion := versions[1] // Older version
// Capture output
oldStdout := os.Stdout
r, w, _ := os.Pipe()
os.Stdout = w
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
cmd.SetErr(&buf)
err = cli.PromoteVersion("test/secret", firstVersion)
err = cli.PromoteVersion(cmd, "test/secret", firstVersion)
require.NoError(t, err)
// Restore stdout and read output
w.Close()
os.Stdout = oldStdout
output, _ := io.ReadAll(r)
outputStr := string(output)
// Read output
outputStr := buf.String()
// Verify success message
assert.Contains(t, outputStr, "Promoted version")
@@ -202,8 +203,14 @@ func TestPromoteNonExistentVersion(t *testing.T) {
err = vlt.AddSecret("test/secret", []byte("value"), false)
require.NoError(t, err)
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
cmd.SetErr(&buf)
// Try to promote non-existent version
err = cli.PromoteVersion("test/secret", "20991231.999")
err = cli.PromoteVersion(cmd, "test/secret", "20991231.999")
assert.Error(t, err)
assert.Contains(t, err.Error(), "not found")
}
@@ -235,33 +242,22 @@ func TestGetSecretWithVersion(t *testing.T) {
require.NoError(t, err)
require.Len(t, versions, 2)
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
// Test getting current version (empty version string)
oldStdout := os.Stdout
r, w, _ := os.Pipe()
os.Stdout = w
err = cli.GetSecretWithVersion("test/secret", "")
err = cli.GetSecretWithVersion(cmd, "test/secret", "")
require.NoError(t, err)
w.Close()
os.Stdout = oldStdout
output, _ := io.ReadAll(r)
assert.Equal(t, "version-2", string(output))
assert.Equal(t, "version-2", buf.String())
// Test getting specific version
r, w, _ = os.Pipe()
os.Stdout = w
buf.Reset()
firstVersion := versions[1] // Older version
err = cli.GetSecretWithVersion("test/secret", firstVersion)
err = cli.GetSecretWithVersion(cmd, "test/secret", firstVersion)
require.NoError(t, err)
w.Close()
os.Stdout = oldStdout
output, _ = io.ReadAll(r)
assert.Equal(t, "version-1", string(output))
assert.Equal(t, "version-1", buf.String())
}
func TestVersionCommandStructure(t *testing.T) {
@@ -296,8 +292,14 @@ func TestListVersionsEmptyOutput(t *testing.T) {
err := fs.MkdirAll(secretDir, 0755)
require.NoError(t, err)
// Create a command for output capture
cmd := newRootCmd()
var buf bytes.Buffer
cmd.SetOut(&buf)
cmd.SetErr(&buf)
// List versions - should show "No versions found"
err = cli.ListVersions("test/secret")
err = cli.ListVersions(cmd, "test/secret")
// Should succeed even with no versions
assert.NoError(t, err)