Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComplianceTest ¶
func ComplianceTest[TDescriptor method.Descriptor, TConfig method.Config, TMethod method.Method]( t *testing.T, testConfig TestConfiguration[TDescriptor, TConfig, TMethod], )
ComplianceTest tests the functionality of a method to make sure it conforms to the expectations of the method interface.
Types ¶
type ConfigStructTestCase ¶
type ConfigStructTestCase[TConfig method.Config, TMethod method.Method] struct { Config TConfig ValidBuild bool Validate func(method TMethod) error }
ConfigStructTestCase validates that the config struct is behaving correctly when Build() is called.
type EncryptDecryptTestCase ¶
type EncryptDecryptTestCase[TConfig method.Config, TMethod method.Method] struct { // ValidEncryptOnlyConfig is a configuration that has no decryption key and can only be used for encryption. The // key must match ValidFullConfig. ValidEncryptOnlyConfig TConfig // ValidFullConfig is a configuration that contains both an encryption and decryption key. ValidFullConfig TConfig }
EncryptDecryptTestCase handles a full encryption-decryption cycle.
type HCLParseTestCase ¶
type HCLParseTestCase[TDescriptor method.Descriptor, TConfig method.Config, TMethod method.Method] struct { // HCL contains the code that should be parsed into the configuration structure. HCL string // ValidHCL indicates that the HCL block should be parsable into the configuration structure, but not necessarily // result in a valid Build() call. ValidHCL bool // ValidBuild indicates that calling the Build() function should not result in an error. ValidBuild bool // Validate is an extra optional validation function that can check if the configuration contains the correct // values parsed from HCL. If ValidBuild is true, the method will be passed as well. Validate func(config TConfig, method TMethod) error }
HCLParseTestCase contains a test case that parses HCL into a configuration.
type TestConfiguration ¶
type TestConfiguration[TDescriptor method.Descriptor, TConfig method.Config, TMethod method.Method] struct { Descriptor TDescriptor // HCLParseTestCases contains the test cases of parsing HCL configuration and then validating it using the Build() // function. HCLParseTestCases map[string]HCLParseTestCase[TDescriptor, TConfig, TMethod] // ConfigStructT validates that a certain config results or does not result in a valid Build() call. ConfigStructTestCases map[string]ConfigStructTestCase[TConfig, TMethod] // ProvideTestCase exercises the entire chain and generates two keys. EncryptDecryptTestCase EncryptDecryptTestCase[TConfig, TMethod] }
Click to show internal directories.
Click to hide internal directories.