diff --git a/internal/config/moduleconfig/module_config.go b/internal/config/moduleconfig/module_config.go index a604464d8..d1ff078c4 100644 --- a/internal/config/moduleconfig/module_config.go +++ b/internal/config/moduleconfig/module_config.go @@ -28,8 +28,8 @@ type Parameter struct { type TemplateConfig struct { StrictMode bool Delimiters []string - InputDir string - OutputDir string + InputDir string `yaml:"inputDir"` + OutputDir string `yaml:"outputDir"` } func LoadModuleConfig(filePath string) (ModuleConfig, error) { diff --git a/internal/module/module_test.go b/internal/module/module_test.go index 4b0d82a6e..888c0586f 100644 --- a/internal/module/module_test.go +++ b/internal/module/module_test.go @@ -27,7 +27,7 @@ func TestGetSourceDir(t *testing.T) { } } -func TestNewTemplateModule(t *testing.T) { +func TestParseModuleConfig(t *testing.T) { testModuleSource := "../../tests/test_data/modules/ci" var mod moduleconfig.ModuleConfig @@ -46,6 +46,13 @@ func TestNewTemplateModule(t *testing.T) { assert.Equal(t, "CI Platform", param.Label) }) + t.Run("TemplateConfig is unmarshaled", func(t *testing.T) { + mod, _ = module.ParseModuleConfig(testModuleSource) + assert.Equal(t, ".circleci", mod.TemplateConfig.OutputDir) + assert.Equal(t, "templates", mod.TemplateConfig.InputDir) + assert.Equal(t, []string{"<%", "%>"}, mod.TemplateConfig.Delimiters) + }) + } func findParameter(params []moduleconfig.Parameter, field string) (moduleconfig.Parameter, error) { diff --git a/tests/test_data/modules/ci/zero-module.yml b/tests/test_data/modules/ci/zero-module.yml index 969969055..d34d33fc0 100644 --- a/tests/test_data/modules/ci/zero-module.yml +++ b/tests/test_data/modules/ci/zero-module.yml @@ -10,7 +10,8 @@ template: delimiters: - "<%" - "%>" - output: "github/test" + inputDir: 'templates' + outputDir: ".circleci" # required context parameters: will throw a warning message at the end if any of the context parameters are not present # contextRequired: