Documentation
¶
Index ¶
- func AssertBenchmarkImprovement(t *testing.T, baseline, current time.Duration, minImprovementPercent float64)
- func AssertConcurrentSafe(t *testing.T, fn func(), goroutines int, iterations int)
- func AssertEnvFileContains(t *testing.T, file *env.File, expected map[string]string)
- func AssertEnvFileEqual(t *testing.T, expected, actual *env.File)
- func AssertEnvFileNotContains(t *testing.T, file *env.File, keys []string)
- func AssertEnvFileOrder(t *testing.T, file *env.File, expectedOrder []string)
- func AssertEnvFileSize(t *testing.T, file *env.File, expectedSize int)
- func AssertErrorContains(t *testing.T, err error, expectedSubstring string)
- func AssertErrorNotContains(t *testing.T, err error, substring string)
- func AssertErrorType(t *testing.T, err error, expectedType interface{})
- func AssertEventuallyTrue(t *testing.T, condition func() bool, timeout time.Duration, ...)
- func AssertFileExists(t *testing.T, path string)
- func AssertFileNotExists(t *testing.T, path string)
- func AssertFunctionNotPanic(t *testing.T, fn func())
- func AssertFunctionPanic(t *testing.T, fn func(), expectedPanicMsg string)
- func AssertJSONEqual(t *testing.T, expected, actual string)
- func AssertMapContains(t *testing.T, container, subset map[string]string)
- func AssertMapEqual(t *testing.T, expected, actual map[string]string)
- func AssertMapKeys(t *testing.T, m map[string]string, expectedKeys []string)
- func AssertMapNotSubset(t *testing.T, superset, subset map[string]string)
- func AssertMapSubset(t *testing.T, superset, subset map[string]string)
- func AssertMemoryUsage(t *testing.T, fn func(), maxMemoryMB float64)
- func AssertNoErrorOrSkip(t *testing.T, err error, skipCondition bool, skipMsg string)
- func AssertPathExists(t *testing.T, path string)
- func AssertPathNotExists(t *testing.T, path string)
- func AssertPerformance(t *testing.T, fn func(), maxDuration time.Duration, description string)
- func AssertRetry(t *testing.T, condition func() bool, maxRetries int, delay time.Duration, ...)
- func AssertStringContains(t *testing.T, str, substr string)
- func AssertStringNotContains(t *testing.T, str, substr string)
- func AssertStringSliceContains(t *testing.T, slice []string, expected []string)
- func AssertStringSliceEqual(t *testing.T, expected, actual []string)
- func AssertStringSliceNotContains(t *testing.T, slice []string, items []string)
- func AssertVariableNotSensitive(t *testing.T, key string)
- func AssertVariableSensitive(t *testing.T, key string)
- func AssertWithTimeout(t *testing.T, timeout time.Duration, condition func() bool, ...)
- func BytesBuffer() *bytes.Buffer
- func CaptureOutput(t *testing.T, fn func()) (stdout, stderr string)
- func CaptureStdout(buf *bytes.Buffer) *os.File
- func ChangeDir(t *testing.T, dir string)
- func CreateCancelContext() (context.Context, context.CancelFunc)
- func CreateComplexEnvContent() string
- func CreateContext(timeout time.Duration) context.Context
- func CreateLargeTestEnvFile(size int) *env.File
- func CreateTestConfig() *config.Config
- func CreateTestEnvContent() string
- func CreateTestEnvFile() *env.File
- func MustParseDuration(t *testing.T, s string) time.Duration
- func MustParseTime(t *testing.T, layout, value string) time.Time
- func ReadFile(t *testing.T, path string) string
- func RequireEnvVar(t *testing.T, key string) string
- func RestoreStdout(oldStdout *os.File)
- func RunTestTable(t *testing.T, testCases []TestCase, testFunc func(*testing.T, TestCase))
- func SetEnv(t *testing.T, key, value string)
- func SkipIfNoAWS(t *testing.T)
- func SkipIfNoDocker(t *testing.T)
- func SkipIfShort(t *testing.T)
- func StringReader(s string) io.Reader
- func TempDir(t *testing.T) string
- func TempFile(t *testing.T, content string) string
- func UnsetEnv(t *testing.T, key string)
- func WaitWithTimeout(t *testing.T, timeout time.Duration, condition func() bool)
- func WriteFile(t *testing.T, dir, filename, content string) string
- type AssertHelper
- func (a *AssertHelper) DirEmpty(path string)
- func (a *AssertHelper) DirNotEmpty(path string)
- func (a *AssertHelper) EnvVarEquals(key, expected string)
- func (a *AssertHelper) EnvVarNotSet(key string)
- func (a *AssertHelper) EnvVarSet(key string)
- func (a *AssertHelper) FilePermissions(path string, expected os.FileMode)
- type GoldenFile
- type MockAWSManager
- func (m *MockAWSManager) GetErrorInjector() *MockErrorInjector
- func (m *MockAWSManager) GetSSMClient() *MockSSMClient
- func (m *MockAWSManager) GetSecretsManagerClient() *MockSecretsManagerClient
- func (m *MockAWSManager) SetupParameterStore(parameters map[string]ParameterData)
- func (m *MockAWSManager) SetupSecretsManager(secrets map[string]SecretData)
- type MockErrorInjector
- type MockFileSystem
- func (m *MockFileSystem) Clear()
- func (m *MockFileSystem) DeleteFile(path string) error
- func (m *MockFileSystem) FileExists(path string) bool
- func (m *MockFileSystem) ListFiles() []string
- func (m *MockFileSystem) ReadFile(path string) (string, error)
- func (m *MockFileSystem) WriteFile(path, content string) error
- type MockParameterStoreClient
- func (m *MockParameterStoreClient) GetCallCount(operation string) int
- func (m *MockParameterStoreClient) GetParameter(ctx context.Context, params *ssm.GetParameterInput, ...) (*ssm.GetParameterOutput, error)
- func (m *MockParameterStoreClient) SetFailureRate(rate float64)
- func (m *MockParameterStoreClient) SetLatencySimulation(latency time.Duration)
- type MockSSMClient
- func (m *MockSSMClient) ClearParameters()
- func (m *MockSSMClient) DeleteParameter(ctx context.Context, params *ssm.DeleteParameterInput, ...) (*ssm.DeleteParameterOutput, error)
- func (m *MockSSMClient) DeleteParameters(ctx context.Context, params *ssm.DeleteParametersInput, ...) (*ssm.DeleteParametersOutput, error)
- func (m *MockSSMClient) GetParameter(ctx context.Context, params *ssm.GetParameterInput, ...) (*ssm.GetParameterOutput, error)
- func (m *MockSSMClient) GetParameterCount() int
- func (m *MockSSMClient) GetParameters(ctx context.Context, params *ssm.GetParametersInput, ...) (*ssm.GetParametersOutput, error)
- func (m *MockSSMClient) GetParametersByPath(ctx context.Context, params *ssm.GetParametersByPathInput, ...) (*ssm.GetParametersByPathOutput, error)
- func (m *MockSSMClient) PutParameter(ctx context.Context, params *ssm.PutParameterInput, ...) (*ssm.PutParameterOutput, error)
- func (m *MockSSMClient) SetParameter(name, value string, paramType ssmtypes.ParameterType)
- type MockSecretsManagerAdvanced
- func (m *MockSecretsManagerAdvanced) GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, ...) (*secretsmanager.GetSecretValueOutput, error)
- func (m *MockSecretsManagerAdvanced) SetLatencySimulation(latency time.Duration)
- func (m *MockSecretsManagerAdvanced) SetSecretVersion(secretName, version, value string)
- type MockSecretsManagerClient
- func (m *MockSecretsManagerClient) ClearSecrets()
- func (m *MockSecretsManagerClient) CreateSecret(ctx context.Context, params *secretsmanager.CreateSecretInput, ...) (*secretsmanager.CreateSecretOutput, error)
- func (m *MockSecretsManagerClient) DeleteSecret(ctx context.Context, params *secretsmanager.DeleteSecretInput, ...) (*secretsmanager.DeleteSecretOutput, error)
- func (m *MockSecretsManagerClient) GetSecretCount() int
- func (m *MockSecretsManagerClient) GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, ...) (*secretsmanager.GetSecretValueOutput, error)
- func (m *MockSecretsManagerClient) ListSecrets(ctx context.Context, params *secretsmanager.ListSecretsInput, ...) (*secretsmanager.ListSecretsOutput, error)
- func (m *MockSecretsManagerClient) SetSecret(name, value string)
- func (m *MockSecretsManagerClient) UpdateSecret(ctx context.Context, params *secretsmanager.UpdateSecretInput, ...) (*secretsmanager.UpdateSecretOutput, error)
- type MockTime
- type ParameterData
- type PerformanceMetrics
- type ScenarioManager
- type SecretData
- type TestCase
- type TestDataOptions
- type TestDataValidator
- type TestEnvBuilder
- func (b *TestEnvBuilder) Build(h *TestHelper)
- func (b *TestEnvBuilder) WithAWSConfig(key string, value interface{}) *TestEnvBuilder
- func (b *TestEnvBuilder) WithFile(path, content string) *TestEnvBuilder
- func (b *TestEnvBuilder) WithVar(key, value string) *TestEnvBuilder
- func (b *TestEnvBuilder) WithVars(vars map[string]string) *TestEnvBuilder
- type TestFixtures
- func (f *TestFixtures) AWSParameterStoreData() map[string]string
- func (f *TestFixtures) AWSSecretsManagerData() map[string]map[string]string
- func (f *TestFixtures) Base64EncodedValue() string
- func (f *TestFixtures) BenchmarkDataOptions() TestDataOptions
- func (f *TestFixtures) ComplexEnvContent() string
- func (f *TestFixtures) ConfigYAML() string
- func (f *TestFixtures) ConfigYAMLInvalid() string
- func (f *TestFixtures) ConfigYAMLMinimal() string
- func (f *TestFixtures) DefaultTestDataOptions() TestDataOptions
- func (f *TestFixtures) EnvContentLarge(size int) string
- func (f *TestFixtures) EnvContentMalformed() string
- func (f *TestFixtures) EnvContentWithComments() string
- func (f *TestFixtures) EnvContentWithQuotes() string
- func (f *TestFixtures) EnvContentWithSpecialCases() string
- func (f *TestFixtures) GenerateTestData(opts TestDataOptions) map[string]string
- func (f *TestFixtures) JSONSecretValue() string
- func (f *TestFixtures) MultilineValue() string
- func (f *TestFixtures) NonSensitiveVariableNames() []string
- func (f *TestFixtures) SensitiveVariableNames() []string
- func (f *TestFixtures) SimpleEnvContent() string
- func (f *TestFixtures) TableTestCases() interface{}
- func (f *TestFixtures) URLValue() string
- func (f *TestFixtures) UnicodeValue() string
- type TestHelper
- func (h *TestHelper) AddCleanup(fn func())
- func (h *TestHelper) Cleanup()
- func (h *TestHelper) CreateTempEnvFile(name string, vars map[string]string) string
- func (h *TestHelper) CreateTempFile(name, content string) string
- func (h *TestHelper) SetupEnvVars(vars map[string]string)
- func (h *TestHelper) TempDir() string
- type TestScenario
- type TimeHelper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertBenchmarkImprovement ¶
func AssertBenchmarkImprovement(t *testing.T, baseline, current time.Duration, minImprovementPercent float64)
AssertBenchmarkImprovement asserts that benchmark results show improvement
func AssertConcurrentSafe ¶
AssertConcurrentSafe asserts that a function is safe to call concurrently
func AssertEnvFileContains ¶
AssertEnvFileContains asserts that an env file contains specific variables
func AssertEnvFileEqual ¶
AssertEnvFileEqual asserts that two env files have the same variables
func AssertEnvFileNotContains ¶
AssertEnvFileNotContains asserts that an env file does not contain specific variables
func AssertEnvFileOrder ¶
AssertEnvFileOrder asserts that variables are in a specific order
func AssertEnvFileSize ¶
AssertEnvFileSize asserts that an env file has a specific number of variables
func AssertErrorContains ¶
AssertErrorContains asserts that an error message contains a specific substring
func AssertErrorNotContains ¶
AssertErrorNotContains asserts that an error message does not contain a specific substring
func AssertErrorType ¶
AssertErrorType asserts that an error is of a specific type
func AssertEventuallyTrue ¶
func AssertEventuallyTrue(t *testing.T, condition func() bool, timeout time.Duration, msgAndArgs ...interface{})
AssertEventuallyTrue asserts that a condition becomes true within timeout
func AssertFileExists ¶
AssertFileExists asserts that a file exists
func AssertFileNotExists ¶
AssertFileNotExists asserts that a file does not exist
func AssertFunctionNotPanic ¶
AssertFunctionNotPanic asserts that a function does not panic
func AssertFunctionPanic ¶
AssertFunctionPanic asserts that a function panics
func AssertJSONEqual ¶
AssertJSONEqual asserts that two JSON strings are equal
func AssertMapContains ¶
AssertMapContains asserts that a map contains all key-value pairs from another map
func AssertMapEqual ¶
AssertMapEqual asserts that two maps are equal
func AssertMapKeys ¶
AssertMapKeys asserts that a map has exactly the expected keys
func AssertMapNotSubset ¶
AssertMapNotSubset asserts that a map does not contain all key-value pairs from a subset map
func AssertMapSubset ¶
AssertMapSubset asserts that a map contains all key-value pairs from a subset map
func AssertMemoryUsage ¶
AssertMemoryUsage asserts that memory usage is within acceptable limits
func AssertNoErrorOrSkip ¶
AssertNoErrorOrSkip asserts no error or skips the test if error is expected
func AssertPathExists ¶
AssertPathExists asserts that a file or directory path exists
func AssertPathNotExists ¶
AssertPathNotExists asserts that a file or directory path does not exist
func AssertPerformance ¶
AssertPerformance asserts that a function completes within a time limit
func AssertRetry ¶
func AssertRetry(t *testing.T, condition func() bool, maxRetries int, delay time.Duration, msg string)
AssertRetry asserts that a condition eventually becomes true with retries
func AssertStringContains ¶
AssertStringContains asserts that a string contains a substring
func AssertStringNotContains ¶
AssertStringNotContains asserts that a string does not contain a substring
func AssertStringSliceContains ¶
AssertStringSliceContains asserts that a string slice contains all expected items
func AssertStringSliceEqual ¶
AssertStringSliceEqual asserts that two string slices are equal
func AssertStringSliceNotContains ¶
AssertStringSliceNotContains asserts that a string slice does not contain any of the items
func AssertVariableNotSensitive ¶
AssertVariableNotSensitive asserts that a variable is not considered sensitive
func AssertVariableSensitive ¶
AssertVariableSensitive asserts that a variable is considered sensitive
func AssertWithTimeout ¶
func AssertWithTimeout(t *testing.T, timeout time.Duration, condition func() bool, msgAndArgs ...interface{})
AssertWithTimeout asserts a condition within a timeout period
func CaptureOutput ¶
CaptureOutput captures stdout and stderr for testing
func CaptureStdout ¶
CaptureStdout captures stdout to a buffer
func CreateCancelContext ¶
func CreateCancelContext() (context.Context, context.CancelFunc)
CreateCancelContext creates a test context that can be cancelled
func CreateComplexEnvContent ¶
func CreateComplexEnvContent() string
CreateComplexEnvContent creates complex .env file content with various formats
func CreateContext ¶
CreateContext creates a test context with timeout
func CreateLargeTestEnvFile ¶
CreateLargeTestEnvFile creates a large env file for performance testing
func CreateTestConfig ¶
CreateTestConfig creates a test configuration
func CreateTestEnvContent ¶
func CreateTestEnvContent() string
CreateTestEnvContent creates test .env file content
func CreateTestEnvFile ¶
CreateTestEnvFile creates a test env file with common variables
func MustParseDuration ¶
MustParseDuration parses duration string or fails test
func MustParseTime ¶
MustParseTime parses time string or fails test
func RequireEnvVar ¶
RequireEnvVar requires an environment variable to be set
func RestoreStdout ¶
RestoreStdout restores the original stdout
func RunTestTable ¶
RunTestTable runs table-driven tests
func SkipIfNoAWS ¶
SkipIfNoAWS skips test if AWS credentials are not available
func SkipIfNoDocker ¶
SkipIfNoDocker skips test if Docker is not available
func StringReader ¶
StringReader creates a string reader for testing
func WaitWithTimeout ¶
WaitWithTimeout waits for a condition with timeout
Types ¶
type AssertHelper ¶
type AssertHelper struct {
// contains filtered or unexported fields
}
AssertHelper provides enhanced assertions
func NewAssertHelper ¶
func NewAssertHelper(t *testing.T) *AssertHelper
NewAssertHelper creates a new assert helper
func (*AssertHelper) DirEmpty ¶
func (a *AssertHelper) DirEmpty(path string)
DirEmpty asserts directory is empty
func (*AssertHelper) DirNotEmpty ¶
func (a *AssertHelper) DirNotEmpty(path string)
DirNotEmpty asserts directory is not empty
func (*AssertHelper) EnvVarEquals ¶
func (a *AssertHelper) EnvVarEquals(key, expected string)
EnvVarEquals asserts environment variable has specific value
func (*AssertHelper) EnvVarNotSet ¶
func (a *AssertHelper) EnvVarNotSet(key string)
EnvVarNotSet asserts environment variable is not set
func (*AssertHelper) EnvVarSet ¶
func (a *AssertHelper) EnvVarSet(key string)
EnvVarSet asserts environment variable is set
func (*AssertHelper) FilePermissions ¶
func (a *AssertHelper) FilePermissions(path string, expected os.FileMode)
FilePermissions asserts file has specific permissions
type GoldenFile ¶
type GoldenFile struct {
// contains filtered or unexported fields
}
GoldenFile manages golden file testing
func NewGoldenFile ¶
func NewGoldenFile(t *testing.T, dir string) *GoldenFile
NewGoldenFile creates a new golden file helper
func (*GoldenFile) Assert ¶
func (g *GoldenFile) Assert(name string, actual []byte)
Assert compares actual output with golden file
type MockAWSManager ¶
MockAWSManager provides a comprehensive mock for AWS operations
func NewMockAWSManager ¶
func NewMockAWSManager() *MockAWSManager
NewMockAWSManager creates a new mock AWS manager
func (*MockAWSManager) GetErrorInjector ¶
func (m *MockAWSManager) GetErrorInjector() *MockErrorInjector
GetErrorInjector returns the error injector for testing error conditions
func (*MockAWSManager) GetSSMClient ¶
func (m *MockAWSManager) GetSSMClient() *MockSSMClient
GetSSMClient returns the mock SSM client
func (*MockAWSManager) GetSecretsManagerClient ¶
func (m *MockAWSManager) GetSecretsManagerClient() *MockSecretsManagerClient
GetSecretsManagerClient returns the mock Secrets Manager client
func (*MockAWSManager) SetupParameterStore ¶
func (m *MockAWSManager) SetupParameterStore(parameters map[string]ParameterData)
SetupParameterStore sets up parameter store with test data
func (*MockAWSManager) SetupSecretsManager ¶
func (m *MockAWSManager) SetupSecretsManager(secrets map[string]SecretData)
SetupSecretsManager sets up secrets manager with test data
type MockErrorInjector ¶
type MockErrorInjector struct {
// contains filtered or unexported fields
}
MockErrorInjector allows injecting errors for testing error handling
func NewMockErrorInjector ¶
func NewMockErrorInjector() *MockErrorInjector
NewMockErrorInjector creates a new error injector
func (*MockErrorInjector) ClearErrors ¶
func (m *MockErrorInjector) ClearErrors()
ClearErrors clears all injected errors
func (*MockErrorInjector) GetError ¶
func (m *MockErrorInjector) GetError(operation string) error
GetError returns the injected error for an operation
func (*MockErrorInjector) InjectError ¶
func (m *MockErrorInjector) InjectError(operation string, err error)
InjectError injects an error for a specific operation
func (*MockErrorInjector) ShouldError ¶
func (m *MockErrorInjector) ShouldError(operation string) bool
ShouldError checks if an error should be returned for an operation
type MockFileSystem ¶
type MockFileSystem struct {
// contains filtered or unexported fields
}
MockFileSystem provides file system mocking for tests
func NewMockFileSystem ¶
func NewMockFileSystem() *MockFileSystem
NewMockFileSystem creates a new mock file system
func (*MockFileSystem) DeleteFile ¶
func (m *MockFileSystem) DeleteFile(path string) error
DeleteFile deletes a file
func (*MockFileSystem) FileExists ¶
func (m *MockFileSystem) FileExists(path string) bool
FileExists checks if a file exists
func (*MockFileSystem) ListFiles ¶
func (m *MockFileSystem) ListFiles() []string
ListFiles lists all files
func (*MockFileSystem) ReadFile ¶
func (m *MockFileSystem) ReadFile(path string) (string, error)
ReadFile mocks reading a file
func (*MockFileSystem) WriteFile ¶
func (m *MockFileSystem) WriteFile(path, content string) error
WriteFile mocks writing a file
type MockParameterStoreClient ¶
type MockParameterStoreClient struct {
MockSSMClient
// contains filtered or unexported fields
}
MockParameterStoreClient provides advanced parameter store mocking
func NewMockParameterStoreClient ¶
func NewMockParameterStoreClient() *MockParameterStoreClient
NewMockParameterStoreClient creates a new mock parameter store client
func (*MockParameterStoreClient) GetCallCount ¶
func (m *MockParameterStoreClient) GetCallCount(operation string) int
GetCallCount returns the number of calls for a specific operation
func (*MockParameterStoreClient) GetParameter ¶
func (m *MockParameterStoreClient) GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
GetParameter overrides the base implementation with additional features
func (*MockParameterStoreClient) SetFailureRate ¶
func (m *MockParameterStoreClient) SetFailureRate(rate float64)
SetFailureRate sets a failure rate for testing error conditions
func (*MockParameterStoreClient) SetLatencySimulation ¶
func (m *MockParameterStoreClient) SetLatencySimulation(latency time.Duration)
SetLatencySimulation sets artificial latency for testing
type MockSSMClient ¶
MockSSMClient is a mock implementation of SSM client
func NewMockSSMClient ¶
func NewMockSSMClient() *MockSSMClient
NewMockSSMClient creates a new mock SSM client
func (*MockSSMClient) ClearParameters ¶
func (m *MockSSMClient) ClearParameters()
ClearParameters clears all parameters
func (*MockSSMClient) DeleteParameter ¶
func (m *MockSSMClient) DeleteParameter(ctx context.Context, params *ssm.DeleteParameterInput, optFns ...func(*ssm.Options)) (*ssm.DeleteParameterOutput, error)
DeleteParameter mocks DeleteParameter operation
func (*MockSSMClient) DeleteParameters ¶
func (m *MockSSMClient) DeleteParameters(ctx context.Context, params *ssm.DeleteParametersInput, optFns ...func(*ssm.Options)) (*ssm.DeleteParametersOutput, error)
DeleteParameters mocks DeleteParameters operation
func (*MockSSMClient) GetParameter ¶
func (m *MockSSMClient) GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
GetParameter mocks GetParameter operation
func (*MockSSMClient) GetParameterCount ¶
func (m *MockSSMClient) GetParameterCount() int
GetParameterCount returns the number of stored parameters
func (*MockSSMClient) GetParameters ¶
func (m *MockSSMClient) GetParameters(ctx context.Context, params *ssm.GetParametersInput, optFns ...func(*ssm.Options)) (*ssm.GetParametersOutput, error)
GetParameters mocks GetParameters operation
func (*MockSSMClient) GetParametersByPath ¶
func (m *MockSSMClient) GetParametersByPath(ctx context.Context, params *ssm.GetParametersByPathInput, optFns ...func(*ssm.Options)) (*ssm.GetParametersByPathOutput, error)
GetParametersByPath mocks GetParametersByPath operation
func (*MockSSMClient) PutParameter ¶
func (m *MockSSMClient) PutParameter(ctx context.Context, params *ssm.PutParameterInput, optFns ...func(*ssm.Options)) (*ssm.PutParameterOutput, error)
PutParameter mocks PutParameter operation
func (*MockSSMClient) SetParameter ¶
func (m *MockSSMClient) SetParameter(name, value string, paramType ssmtypes.ParameterType)
SetParameter sets a parameter for testing
type MockSecretsManagerAdvanced ¶
type MockSecretsManagerAdvanced struct {
MockSecretsManagerClient
// contains filtered or unexported fields
}
MockSecretsManagerAdvanced provides advanced secrets manager mocking
func NewMockSecretsManagerAdvanced ¶
func NewMockSecretsManagerAdvanced() *MockSecretsManagerAdvanced
NewMockSecretsManagerAdvanced creates a new advanced mock secrets manager client
func (*MockSecretsManagerAdvanced) GetSecretValue ¶
func (m *MockSecretsManagerAdvanced) GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.GetSecretValueOutput, error)
GetSecretValue overrides the base implementation with version support
func (*MockSecretsManagerAdvanced) SetLatencySimulation ¶
func (m *MockSecretsManagerAdvanced) SetLatencySimulation(latency time.Duration)
SetLatencySimulation sets artificial latency for testing
func (*MockSecretsManagerAdvanced) SetSecretVersion ¶
func (m *MockSecretsManagerAdvanced) SetSecretVersion(secretName, version, value string)
SetSecretVersion sets a specific version of a secret
type MockSecretsManagerClient ¶
MockSecretsManagerClient is a mock implementation of Secrets Manager client
func NewMockSecretsManagerClient ¶
func NewMockSecretsManagerClient() *MockSecretsManagerClient
NewMockSecretsManagerClient creates a new mock Secrets Manager client
func (*MockSecretsManagerClient) ClearSecrets ¶
func (m *MockSecretsManagerClient) ClearSecrets()
ClearSecrets clears all secrets
func (*MockSecretsManagerClient) CreateSecret ¶
func (m *MockSecretsManagerClient) CreateSecret(ctx context.Context, params *secretsmanager.CreateSecretInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.CreateSecretOutput, error)
CreateSecret mocks CreateSecret operation
func (*MockSecretsManagerClient) DeleteSecret ¶
func (m *MockSecretsManagerClient) DeleteSecret(ctx context.Context, params *secretsmanager.DeleteSecretInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.DeleteSecretOutput, error)
DeleteSecret mocks DeleteSecret operation
func (*MockSecretsManagerClient) GetSecretCount ¶
func (m *MockSecretsManagerClient) GetSecretCount() int
GetSecretCount returns the number of stored secrets
func (*MockSecretsManagerClient) GetSecretValue ¶
func (m *MockSecretsManagerClient) GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.GetSecretValueOutput, error)
GetSecretValue mocks GetSecretValue operation
func (*MockSecretsManagerClient) ListSecrets ¶
func (m *MockSecretsManagerClient) ListSecrets(ctx context.Context, params *secretsmanager.ListSecretsInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.ListSecretsOutput, error)
ListSecrets mocks ListSecrets operation
func (*MockSecretsManagerClient) SetSecret ¶
func (m *MockSecretsManagerClient) SetSecret(name, value string)
SetSecret sets a secret for testing
func (*MockSecretsManagerClient) UpdateSecret ¶
func (m *MockSecretsManagerClient) UpdateSecret(ctx context.Context, params *secretsmanager.UpdateSecretInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.UpdateSecretOutput, error)
UpdateSecret mocks UpdateSecret operation
type MockTime ¶
type MockTime struct {
// contains filtered or unexported fields
}
MockTime provides time mocking for tests
type ParameterData ¶
ParameterData represents parameter store data for testing
type PerformanceMetrics ¶
type PerformanceMetrics struct {
OperationCounts map[string]int
TotalDuration map[string]time.Duration
MaxDuration map[string]time.Duration
MinDuration map[string]time.Duration
ErrorCounts map[string]int
// contains filtered or unexported fields
}
PerformanceMetrics tracks performance metrics during testing
func NewPerformanceMetrics ¶
func NewPerformanceMetrics() *PerformanceMetrics
NewPerformanceMetrics creates a new performance metrics tracker
func (*PerformanceMetrics) GetAverageDuration ¶
func (pm *PerformanceMetrics) GetAverageDuration(operation string) time.Duration
GetAverageDuration returns the average duration for an operation
func (*PerformanceMetrics) GetErrorRate ¶
func (pm *PerformanceMetrics) GetErrorRate(operation string) float64
GetErrorRate returns the error rate for an operation
func (*PerformanceMetrics) RecordOperation ¶
func (pm *PerformanceMetrics) RecordOperation(operation string, duration time.Duration, success bool)
RecordOperation records metrics for an operation
type ScenarioManager ¶
type ScenarioManager struct {
// contains filtered or unexported fields
}
ScenarioManager manages test scenarios
func CreateCommonScenarios ¶
func CreateCommonScenarios() *ScenarioManager
CreateCommonScenarios creates commonly used test scenarios
func NewScenarioManager ¶
func NewScenarioManager() *ScenarioManager
NewScenarioManager creates a new scenario manager
func (*ScenarioManager) AddScenario ¶
func (sm *ScenarioManager) AddScenario(scenario *TestScenario)
AddScenario adds a test scenario
func (*ScenarioManager) GetCurrentScenario ¶
func (sm *ScenarioManager) GetCurrentScenario() *TestScenario
GetCurrentScenario returns the current scenario
func (*ScenarioManager) LoadScenario ¶
func (sm *ScenarioManager) LoadScenario(name string, awsManager *MockAWSManager) error
LoadScenario loads a specific test scenario
type SecretData ¶
type SecretData struct {
Value string
KeyValue map[string]string
Description string
Tags map[string]string
}
SecretData represents secrets manager data for testing
type TestCase ¶
type TestCase struct {
Name string
Input interface{}
Expected interface{}
Error bool
Setup func(*testing.T)
Cleanup func(*testing.T)
}
CreateTestTable creates a test table structure for table-driven tests
type TestDataOptions ¶
TestDataOptions defines options for generating test data
type TestDataValidator ¶
type TestDataValidator struct{}
TestDataValidator provides validation for test data
func (*TestDataValidator) ValidateParameterStoreData ¶
func (v *TestDataValidator) ValidateParameterStoreData(data map[string]ParameterData) error
ValidateParameterStoreData validates parameter store test data
func (*TestDataValidator) ValidateSecretsManagerData ¶
func (v *TestDataValidator) ValidateSecretsManagerData(data map[string]SecretData) error
ValidateSecretsManagerData validates secrets manager test data
type TestEnvBuilder ¶
type TestEnvBuilder struct {
// contains filtered or unexported fields
}
TestEnvBuilder builds test environment configurations
func NewTestEnvBuilder ¶
func NewTestEnvBuilder() *TestEnvBuilder
NewTestEnvBuilder creates a new test environment builder
func (*TestEnvBuilder) Build ¶
func (b *TestEnvBuilder) Build(h *TestHelper)
Build creates the test environment
func (*TestEnvBuilder) WithAWSConfig ¶
func (b *TestEnvBuilder) WithAWSConfig(key string, value interface{}) *TestEnvBuilder
WithAWSConfig adds AWS configuration
func (*TestEnvBuilder) WithFile ¶
func (b *TestEnvBuilder) WithFile(path, content string) *TestEnvBuilder
WithFile adds a file to be created
func (*TestEnvBuilder) WithVar ¶
func (b *TestEnvBuilder) WithVar(key, value string) *TestEnvBuilder
WithVar adds an environment variable
func (*TestEnvBuilder) WithVars ¶
func (b *TestEnvBuilder) WithVars(vars map[string]string) *TestEnvBuilder
WithVars adds multiple environment variables
type TestFixtures ¶
type TestFixtures struct{}
TestFixtures provides common test data and fixtures
func NewTestFixtures ¶
func NewTestFixtures() *TestFixtures
NewTestFixtures creates a new test fixtures instance
func (*TestFixtures) AWSParameterStoreData ¶
func (f *TestFixtures) AWSParameterStoreData() map[string]string
AWSParameterStoreData returns sample AWS Parameter Store data
func (*TestFixtures) AWSSecretsManagerData ¶
func (f *TestFixtures) AWSSecretsManagerData() map[string]map[string]string
AWSSecretsManagerData returns sample AWS Secrets Manager data
func (*TestFixtures) Base64EncodedValue ¶
func (f *TestFixtures) Base64EncodedValue() string
Base64EncodedValue returns a base64 encoded value
func (*TestFixtures) BenchmarkDataOptions ¶
func (f *TestFixtures) BenchmarkDataOptions() TestDataOptions
BenchmarkDataOptions returns options for benchmark testing
func (*TestFixtures) ComplexEnvContent ¶
func (f *TestFixtures) ComplexEnvContent() string
ComplexEnvContent returns complex .env file content with various formats
func (*TestFixtures) ConfigYAML ¶
func (f *TestFixtures) ConfigYAML() string
ConfigYAML returns sample .envyrc configuration
func (*TestFixtures) ConfigYAMLInvalid ¶
func (f *TestFixtures) ConfigYAMLInvalid() string
ConfigYAMLInvalid returns invalid .envyrc configuration for error testing
func (*TestFixtures) ConfigYAMLMinimal ¶
func (f *TestFixtures) ConfigYAMLMinimal() string
ConfigYAMLMinimal returns minimal .envyrc configuration
func (*TestFixtures) DefaultTestDataOptions ¶
func (f *TestFixtures) DefaultTestDataOptions() TestDataOptions
DefaultTestDataOptions returns default test data options
func (*TestFixtures) EnvContentLarge ¶
func (f *TestFixtures) EnvContentLarge(size int) string
EnvContentLarge returns large .env content for performance testing
func (*TestFixtures) EnvContentMalformed ¶
func (f *TestFixtures) EnvContentMalformed() string
EnvContentMalformed returns malformed .env content for error testing
func (*TestFixtures) EnvContentWithComments ¶
func (f *TestFixtures) EnvContentWithComments() string
EnvContentWithComments returns .env content with inline comments
func (*TestFixtures) EnvContentWithQuotes ¶
func (f *TestFixtures) EnvContentWithQuotes() string
EnvContentWithQuotes returns .env content with various quote formats
func (*TestFixtures) EnvContentWithSpecialCases ¶
func (f *TestFixtures) EnvContentWithSpecialCases() string
EnvContentWithSpecialCases returns .env content with edge cases
func (*TestFixtures) GenerateTestData ¶
func (f *TestFixtures) GenerateTestData(opts TestDataOptions) map[string]string
GenerateTestData generates test data with specified parameters
func (*TestFixtures) JSONSecretValue ¶
func (f *TestFixtures) JSONSecretValue() string
JSONSecretValue returns a JSON formatted secret value
func (*TestFixtures) MultilineValue ¶
func (f *TestFixtures) MultilineValue() string
MultilineValue returns a multiline value
func (*TestFixtures) NonSensitiveVariableNames ¶
func (f *TestFixtures) NonSensitiveVariableNames() []string
NonSensitiveVariableNames returns common non-sensitive variable names
func (*TestFixtures) SensitiveVariableNames ¶
func (f *TestFixtures) SensitiveVariableNames() []string
SensitiveVariableNames returns common sensitive variable name patterns
func (*TestFixtures) SimpleEnvContent ¶
func (f *TestFixtures) SimpleEnvContent() string
SimpleEnvContent returns simple .env file content
func (*TestFixtures) TableTestCases ¶
func (f *TestFixtures) TableTestCases() interface{}
TableTestCases returns common table test case structures
func (*TestFixtures) URLValue ¶
func (f *TestFixtures) URLValue() string
URLValue returns a sample URL value
func (*TestFixtures) UnicodeValue ¶
func (f *TestFixtures) UnicodeValue() string
UnicodeValue returns a value with unicode characters
type TestHelper ¶
type TestHelper struct {
// contains filtered or unexported fields
}
TestHelper provides common test utilities
func NewTestHelper ¶
func NewTestHelper(t *testing.T) *TestHelper
NewTestHelper creates a new test helper
func Parallel ¶
func Parallel(t *testing.T) *TestHelper
Parallel marks test as parallel-safe and returns helper
func (*TestHelper) AddCleanup ¶
func (h *TestHelper) AddCleanup(fn func())
AddCleanup adds a cleanup function
func (*TestHelper) CreateTempEnvFile ¶
func (h *TestHelper) CreateTempEnvFile(name string, vars map[string]string) string
CreateTempEnvFile creates a temporary .env file
func (*TestHelper) CreateTempFile ¶
func (h *TestHelper) CreateTempFile(name, content string) string
CreateTempFile creates a temporary file with the given content
func (*TestHelper) SetupEnvVars ¶
func (h *TestHelper) SetupEnvVars(vars map[string]string)
SetupEnvVars sets up environment variables for testing
func (*TestHelper) TempDir ¶
func (h *TestHelper) TempDir() string
TempDir returns the test temporary directory, creating it if needed
type TestScenario ¶
type TestScenario struct {
Name string
ParameterStoreData map[string]ParameterData
SecretsManagerData map[string]SecretData
ErrorConditions map[string]error
LatencySimulation time.Duration
ExpectedResults map[string]interface{}
}
TestScenario represents a test scenario with specific setup
type TimeHelper ¶
type TimeHelper struct {
// contains filtered or unexported fields
}
TimeHelper provides time-related test utilities
func (*TimeHelper) Advance ¶
func (th *TimeHelper) Advance(d time.Duration)
Advance advances the mocked time
func (*TimeHelper) Mock ¶
func (th *TimeHelper) Mock(t time.Time)
Mock sets a fixed time for testing
func (*TimeHelper) Now ¶
func (th *TimeHelper) Now() time.Time
Now returns the current time (mocked or real)