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:
parent
b0e3cdd3d0
commit
e9d03987f9
@ -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,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user