Skip to content

Merge pull request #7 from Optum/init3 #13

Merge pull request #7 from Optum/init3

Merge pull request #7 from Optum/init3 #13

GitHub Actions / Test Report - Java 11 succeeded Feb 26, 2025 in 1s

109 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
envvars-lib/target/surefire-reports/TEST-com.optum.envvars.EnvVarEngineSpec.xml 42✅ 68ms
envvars-lib/target/surefire-reports/TEST-com.optum.envvars.EnvVarMapDataEngineSpec.xml 50✅ 591ms
envvars-yaml/target/surefire-reports/TEST-com.optum.envvars.mapdata.yaml.YamlEnvVarsVariableFiltersSpec.xml 11✅ 137ms
envvars-yaml/target/surefire-reports/TEST-com.optum.envvars.mapdata.yaml.YamlKeySourceOfTruthSpec.xml 6✅ 386ms

✅ envvars-lib/target/surefire-reports/TEST-com.optum.envvars.EnvVarEngineSpec.xml

42 tests were completed in 68ms with 42 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.optum.envvars.EnvVarEngineSpec 42✅ 68ms

✅ com.optum.envvars.EnvVarEngineSpec

✅ CONTEXT: Missing required context
✅ CONTEXT: Missing optional context
✅ SELECTOR: Missing required selector
✅ SELECTOR: Missing optional selector
✅ Missing injectEnvvars reference in app1
✅ Missing injectQualifiedEnvvars reference in app2
✅ Read primary keys from EnvVarsEngine
✅ Unreferenced define are not injected.
✅ Referenced define are injected.
✅ Remap gives right value.
✅ Remap does not inject
✅ Remap gives right value for values manually (externally) injected.
✅ Remap gives right value for undefined values injected.  This lets you 'from' without a default.
✅ Duplicate unreferenced define is allowed.
✅ Secrets are injected as secrets.
✅ Qualified resolves.
✅ Unqualified resolves.
✅ Indirect qualified resolves.
✅ Blank indirect qualified resolves.
✅ Unqualified secret resolves.
✅ Qualified secret resolves.
✅ Indirect qualified secret resolves.
✅ Default processing works.
✅ Default processing works 2.
✅ Double quotes are correctly escaped.
✅ Validate Primary Keys in EnvVarsEngine
✅ Validate Primary Keys in EnvVarsEngine throws exception with missing key
✅ Template Substitution.
✅ Template Nested Substitution - Missing Value.
✅ Template Nested Substitution - First Value.
✅ Template Nested Substitution - Second Value.
✅ Basic Declares
✅ Parameterized Declares
✅ Parameterized Uppercase Declares
✅ Cascading Declares
✅ Inline Skip Injects
✅ Recursive Injects
✅ Infinitly Recursive Injects
✅ Missing Inject Set
✅ Unresolved reference blows up generateBridgeData for env1, since PIECE is used but undefined in env1
✅ Unresolved reference in env1 does NOT blow up generateSparseBridgeData or when accessing SAFE from env1
✅ Unresolved reference in env1 does NOT blow up generateSparseBridgeData but DOES blow up when accessing KEY from env1

✅ envvars-lib/target/surefire-reports/TEST-com.optum.envvars.EnvVarMapDataEngineSpec.xml

50 tests were completed in 591ms with 50 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.optum.envvars.EnvVarMapDataEngineSpec 50✅ 591ms

✅ com.optum.envvars.EnvVarMapDataEngineSpec

✅ CONTEXT: Missing required context
✅ CONTEXT: Missing optional context
✅ SELECTOR: Missing required selector
✅ SELECTOR: Missing optional selector
✅ BLOCK: Bad envvars
✅ BLOCK: Bad secretEnvvars
✅ BLOCK: Bad injectEnvvars
✅ BLOCK: Bad context type
✅ BLOCK: Bad selector type
✅ VALUE: EnvVars Blank key not allowed
✅ VALUE: EnvVars Blank value is allowed
✅ VALUE: EnvVars Double quote in key not allowed
✅ VALUE: EnvVars Double quote in value allowed
✅ VALUE: EnvVars Boolean in value not allowed
✅ VALUE: EnvVars Number in value not allowed
✅ VALUE: InjectedEnvvars Blank key not allowed
✅ VALUE: InjectedEnvvars Double quote in key not allowed
✅ VALUE: Define does not do escape processing.
✅ VALUE: DefineSecrets does not do escape processing.
✅ VALUE: non String key
✅ INJECT: Injecting iterates more than one.
✅ REMAP: Remap missing from.
✅ DEFAULT: Forbidden default is present.
✅ DEFAULT: Required default is missing.
✅ FOREIGN KEYS: Foreign key is missing.
✅ Resolve Foreign Keys from Environment
✅ Missing non-required context (the actual cloudProviders block) doesn't blow up
✅ Simple found environment and no subNodes defined
✅ Simple found environment and no subNodes defined not confused by unused subNodes
✅ Simple found environment and found cloudProvider
✅ Simple two matching subNodes takes second - A
✅ Simple two matching subNodes takes second - B
✅ Nothing in envvars doesn't choke
✅ Nothing in envvars with DefaultProcessing.IGNORED doesn't choke
✅ Missing envvars is allowed
✅ Node Guard: Null context
✅ Node Guard: Empty context
✅ Node Guard: Null selector
✅ Node Guard: Empty selector
✅ Node Guard: Reserved selector 'default'
✅ Node Guard: Null node list
✅ Def is loaded, but not injected
✅ Ref is loaded with default def value
✅ Qualified resolves
✅ Inject Set resolves
✅ Remapped Set resolves
✅ Cannot Remapped Set with a non-from inject
✅ Cannot Remapped Set with optional inject
✅ Define allowed but Declare is not allowed
✅ Declare allowed but Define is not allowed

✅ envvars-yaml/target/surefire-reports/TEST-com.optum.envvars.mapdata.yaml.YamlEnvVarsVariableFiltersSpec.xml

11 tests were completed in 137ms with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.optum.envvars.mapdata.yaml.YamlEnvVarsVariableFiltersSpec 11✅ 137ms

✅ com.optum.envvars.mapdata.yaml.YamlEnvVarsVariableFiltersSpec

✅ Raw Definitions Parsing from a String to test the Yaml parsing
✅ Success: Variable Name Matches OneOf
✅ Fail: Variable Name Doesn't Match OneOf
✅ Fail: Variable Name Matches NoneOf
✅ Fail: Variable Name Does Not Match AllOf
✅ Bad Schema
✅ Remote Schema Good
✅ Remote Schema Bad
✅ Remote Schema No Allof
✅ Remote Schema No Noneof
✅ Remote Schema No Oneof

✅ envvars-yaml/target/surefire-reports/TEST-com.optum.envvars.mapdata.yaml.YamlKeySourceOfTruthSpec.xml

6 tests were completed in 386ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.optum.envvars.mapdata.yaml.YamlKeySourceOfTruthSpec 6✅ 386ms

✅ com.optum.envvars.mapdata.yaml.YamlKeySourceOfTruthSpec

✅ Load a key set from a file
✅ Load two key sets from a single file
✅ Load a key set from a file with a null value throws exception
✅ Load a key set from a file with a numeric key throws exception
✅ Load a key set from a file with a complex key throws exception
✅ Load a key set from a file without the expected context throws exception