Write a moved contributor's declared defaults into the provisioner client tests' stand-in mesh-config (issue 1780)
This commit is contained in:
@@ -703,3 +703,23 @@ func TestNatsResticsFilesFillFromTheBackupPlacement(t *testing.T) {
|
||||
b.assign(t, "restic", plan("# a\n/srv/a\n", "# a\nstate\n"))
|
||||
eventually(t, "a module taken away refills backups.conf", func() bool { return e.read(t, backups) == head+"# a\n/srv/a\n" })
|
||||
}
|
||||
|
||||
// defaults writes the defaults a module's manifest declares as mesh-config resolves them (source default), for a
|
||||
// moved module whose templates read config values (issue 1780).
|
||||
func (b *aBus) defaults(t *testing.T, module string, manifest []byte) {
|
||||
t.Helper()
|
||||
var m struct {
|
||||
Config map[string]struct {
|
||||
Default json.RawMessage `json:"default"`
|
||||
} `json:"config"`
|
||||
}
|
||||
if err := json.Unmarshal(manifest, &m); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for key, d := range m.Config {
|
||||
if len(d.Default) > 0 && string(d.Default) != "null" {
|
||||
b.put(t, ConfigBucket, node+"."+module+"."+key, fmt.Sprintf(`{"node":%q,"module":%q,"key":%q,"value":%s,`+
|
||||
`"source":"default"}`, node, module, key, d.Default))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,7 @@ func TestNatsTheEnvironmentOfTheCataloguesModulesIsWhatTheOldFormComposed(t *tes
|
||||
if !manifest.Moved || len(manifest.Items) == 0 {
|
||||
t.Fatalf("%s is not a moved contributor of items", m)
|
||||
}
|
||||
b.defaults(t, m, read(m+"/module.json"))
|
||||
texts := map[string]string{}
|
||||
var planned []PlannedItem
|
||||
for _, it := range manifest.Items {
|
||||
|
||||
@@ -63,6 +63,7 @@ func TestNatsTheSessionFilesFilledFromTheirContributorsItemsAreWhatTheOldFormCom
|
||||
if !c.Moved || len(c.Shell) != 0 {
|
||||
t.Fatalf("%s is not moved or still holds shell entries", m)
|
||||
}
|
||||
b.defaults(t, m, []byte(read(m+"/module.json")))
|
||||
texts := map[string]string{}
|
||||
var planned []PlannedItem
|
||||
for _, it := range c.Items {
|
||||
|
||||
Reference in New Issue
Block a user