refactor: remove redundant SecretName and Version fields from VersionMetadata - Removed SecretName and Version fields that were redundant with directory structure and parent SecretVersion struct - Updated tests to remove references to deleted fields - Follows DRY principle and prevents potential data inconsistency

This commit is contained in:
Jeffrey Paul 2025-06-09 17:26:57 -07:00
parent b0e3cdd3d0
commit e9d03987f9
2 changed files with 7 additions and 16 deletions

View File

@ -17,12 +17,10 @@ import (
// VersionMetadata contains information about a secret version
type VersionMetadata struct {
ID string `json:"id"` // ULID
SecretName string `json:"secretName"` // Parent secret name
CreatedAt *time.Time `json:"createdAt,omitempty"` // When version was created
NotBefore *time.Time `json:"notBefore,omitempty"` // When this version becomes active
NotAfter *time.Time `json:"notAfter,omitempty"` // When this version expires (nil = current)
Version string `json:"version"` // Version string (e.g., "20231215.001")
ID string `json:"id"` // ULID
CreatedAt *time.Time `json:"createdAt,omitempty"` // When version was created
NotBefore *time.Time `json:"notBefore,omitempty"` // When this version becomes active
NotAfter *time.Time `json:"notAfter,omitempty"` // When this version expires (nil = current)
}
// SecretVersion represents a version of a secret
@ -59,10 +57,8 @@ func NewSecretVersion(vault VaultInterface, secretName string, version string) *
Directory: versionDir,
vault: vault,
Metadata: VersionMetadata{
ID: ulid.Make().String(),
SecretName: secretName,
CreatedAt: &now,
Version: version,
ID: ulid.Make().String(),
CreatedAt: &now,
},
}
}

View File

@ -136,7 +136,6 @@ func TestNewSecretVersion(t *testing.T) {
assert.Contains(t, sv.Directory, "test%secret/versions/20231215.001")
assert.NotEmpty(t, sv.Metadata.ID)
assert.NotNil(t, sv.Metadata.CreatedAt)
assert.Equal(t, "20231215.001", sv.Metadata.Version)
}
func TestSecretVersionSave(t *testing.T) {
@ -213,8 +212,6 @@ func TestSecretVersionLoadMetadata(t *testing.T) {
// Verify loaded metadata
assert.Equal(t, sv.Metadata.ID, sv2.Metadata.ID)
assert.Equal(t, sv.Metadata.SecretName, sv2.Metadata.SecretName)
assert.Equal(t, sv.Metadata.Version, sv2.Metadata.Version)
assert.NotNil(t, sv2.Metadata.NotBefore)
assert.Equal(t, epochPlusOne.Unix(), sv2.Metadata.NotBefore.Unix())
assert.NotNil(t, sv2.Metadata.NotAfter)
@ -330,9 +327,7 @@ func TestSetCurrentVersion(t *testing.T) {
func TestVersionMetadataTimestamps(t *testing.T) {
// Test that all timestamp fields behave consistently as pointers
vm := VersionMetadata{
ID: "test-id",
SecretName: "test/secret",
Version: "20231215.001",
ID: "test-id",
}
// All should be nil initially