Configuration hardening
This commit is contained in:
@@ -69,6 +69,12 @@ paths:
|
||||
if got, want := effective.TopData.PackageHAK, "sow_top.hak"; got != want {
|
||||
t.Fatalf("expected default topdata HAK %q, got %q", want, got)
|
||||
}
|
||||
if got, want := strings.Join(effective.Validation.BuiltinScriptPrefixes, ","), "ga_,gc_,gen_,gui_,nw_,nwg_,ta_,x0_,x1_,x2_,x3_"; got != want {
|
||||
t.Fatalf("expected default built-in script prefixes %q, got %q", want, got)
|
||||
}
|
||||
if got := strings.Join(effective.Validation.RequiredFields["ifo"], ","); got != "Mod_Name" {
|
||||
t.Fatalf("expected default IFO required fields, got %#v", effective.Validation.RequiredFields)
|
||||
}
|
||||
if prov := effective.Provenance["paths.build"]; prov.Source != "toolkit default" {
|
||||
t.Fatalf("expected paths.build toolkit default provenance, got %#v", prov)
|
||||
}
|
||||
@@ -77,6 +83,37 @@ paths:
|
||||
}
|
||||
}
|
||||
|
||||
func TestEffectiveConfigHonorsValidationConfig(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
writeProjectFile(t, filepath.Join(root, ConfigFile), `
|
||||
module:
|
||||
name: Test Module
|
||||
resref: testmod
|
||||
paths:
|
||||
source: src
|
||||
validation:
|
||||
builtin_script_prefixes:
|
||||
- custom_
|
||||
- NW_
|
||||
required_fields:
|
||||
ifo:
|
||||
- Mod_Name
|
||||
- Mod_Hak
|
||||
`)
|
||||
|
||||
proj, err := Load(root)
|
||||
if err != nil {
|
||||
t.Fatalf("Load returned error: %v", err)
|
||||
}
|
||||
got := strings.Join(proj.EffectiveConfig().Validation.BuiltinScriptPrefixes, ",")
|
||||
if want := "custom_,nw_"; got != want {
|
||||
t.Fatalf("expected configured validation prefixes %q, got %q", want, got)
|
||||
}
|
||||
if got := strings.Join(proj.EffectiveConfig().Validation.RequiredFields["ifo"], ","); got != "Mod_Hak,Mod_Name" {
|
||||
t.Fatalf("expected configured required fields, got %#v", proj.EffectiveConfig().Validation.RequiredFields)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEffectiveConfigHonorsConfiguredOutputAndCacheFields(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
writeProjectFile(t, filepath.Join(root, ConfigFile), `
|
||||
|
||||
Reference in New Issue
Block a user