fix swapped old/new multiregion plan diffs (#8378)
The multiregion plan diffs swap the old and new versions for each region when they're edited (rather than added/removed). The `multiregionRegionDiff` function call incorrectly reversed its arguments for existing regions.
This commit is contained in:
parent
1098ca6ef1
commit
ec96ddf648
|
@ -1054,7 +1054,7 @@ func multiregionDiff(old, new *Multiregion, contextual bool) *ObjectDiff {
|
||||||
for name, oldRegion := range oldMap {
|
for name, oldRegion := range oldMap {
|
||||||
// Diff the same, deleted and edited
|
// Diff the same, deleted and edited
|
||||||
newRegion := newMap[name]
|
newRegion := newMap[name]
|
||||||
rdiff := multiregionRegionDiff(newRegion, oldRegion, contextual)
|
rdiff := multiregionRegionDiff(oldRegion, newRegion, contextual)
|
||||||
if rdiff != nil {
|
if rdiff != nil {
|
||||||
diff.Objects = append(diff.Objects, rdiff)
|
diff.Objects = append(diff.Objects, rdiff)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1210,8 +1210,8 @@ func TestJobDiff(t *testing.T) {
|
||||||
Regions: []*MultiregionRegion{
|
Regions: []*MultiregionRegion{
|
||||||
{
|
{
|
||||||
Name: "west",
|
Name: "west",
|
||||||
Count: 1,
|
Count: 3,
|
||||||
Datacenters: []string{"west-1"},
|
Datacenters: []string{"west-2"},
|
||||||
Meta: map[string]string{"region_code": "W"},
|
Meta: map[string]string{"region_code": "W"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1223,7 +1223,6 @@ func TestJobDiff(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
Expected: &JobDiff{
|
Expected: &JobDiff{
|
||||||
Type: DiffTypeEdited,
|
Type: DiffTypeEdited,
|
||||||
Objects: []*ObjectDiff{
|
Objects: []*ObjectDiff{
|
||||||
|
@ -1231,6 +1230,38 @@ func TestJobDiff(t *testing.T) {
|
||||||
Type: DiffTypeEdited,
|
Type: DiffTypeEdited,
|
||||||
Name: "Multiregion",
|
Name: "Multiregion",
|
||||||
Objects: []*ObjectDiff{
|
Objects: []*ObjectDiff{
|
||||||
|
{
|
||||||
|
Type: DiffTypeEdited,
|
||||||
|
Name: "Region",
|
||||||
|
Fields: []*FieldDiff{
|
||||||
|
{
|
||||||
|
Type: DiffTypeEdited,
|
||||||
|
Name: "Count",
|
||||||
|
Old: "1",
|
||||||
|
New: "3",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Objects: []*ObjectDiff{
|
||||||
|
{
|
||||||
|
Type: DiffTypeEdited,
|
||||||
|
Name: "Datacenters",
|
||||||
|
Fields: []*FieldDiff{
|
||||||
|
{
|
||||||
|
Type: DiffTypeAdded,
|
||||||
|
Name: "Datacenters",
|
||||||
|
Old: "",
|
||||||
|
New: "west-2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Type: DiffTypeDeleted,
|
||||||
|
Name: "Datacenters",
|
||||||
|
Old: "west-1",
|
||||||
|
New: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Type: DiffTypeAdded,
|
Type: DiffTypeAdded,
|
||||||
Name: "Region",
|
Name: "Region",
|
||||||
|
|
Loading…
Reference in a new issue