Skip to content

Commit

Permalink
Add Workpace v3 state migration tests
Browse files Browse the repository at this point in the history
Use Preview Profile
SCALRCORE-17105
  • Loading branch information
vmotso committed Nov 23, 2020
1 parent ce65909 commit fb6e630
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 37 deletions.
9 changes: 1 addition & 8 deletions scalr/resource_scalr_variable_migrate_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package scalr

import (
"reflect"
"testing"

scalr "github.com/scalr/go-scalr"
Expand Down Expand Up @@ -30,11 +29,5 @@ func TestResourceScalrVariableStateUpgradeV0(t *testing.T) {

expected := testResourceScalrVariableStateDataV1()
actual, err := resourceScalrVariableStateUpgradeV0(testResourceScalrVariableStateDataV0(), client)
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
assertCorrectState(t, err, actual, expected)
}
33 changes: 4 additions & 29 deletions scalr/resource_scalr_workspace_migrate_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package scalr

import (
"reflect"
"testing"
)

Expand All @@ -22,13 +21,7 @@ func testResourceScalrWorkspaceStateDataV1() map[string]interface{} {
func TestResourceScalrWorkspaceStateUpgradeV0(t *testing.T) {
expected := testResourceScalrWorkspaceStateDataV1()
actual, err := resourceScalrWorkspaceStateUpgradeV0(testResourceScalrWorkspaceStateDataV0(), nil)
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
assertCorrectState(t, err, actual, expected)
}

func testResourceScalrWorkspaceStateDataV1VcsRepo() map[string]interface{} {
Expand Down Expand Up @@ -63,25 +56,13 @@ func testResourceScalrWorkspaceStateDataV2NoVcs() map[string]interface{} {
func TestResourceScalrWorkspaceStateUpgradeV1(t *testing.T) {
expected := testResourceScalrWorkspaceStateDataV2()
actual, err := resourceScalrWorkspaceStateUpgradeV1(testResourceScalrWorkspaceStateDataV1VcsRepo(), nil)
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
assertCorrectState(t, err, actual, expected)
}

func TestResourceScalrWorkspaceStateUpgradeV1NoVcs(t *testing.T) {
expected := testResourceScalrWorkspaceStateDataV2NoVcs()
actual, err := resourceScalrWorkspaceStateUpgradeV1(testResourceScalrWorkspaceStateDataV1(), nil)
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
assertCorrectState(t, err, actual, expected)
}

func testResourceScalrWorkspaceStateDataV3() map[string]interface{} {
Expand All @@ -93,11 +74,5 @@ func testResourceScalrWorkspaceStateDataV3() map[string]interface{} {
func TestResourceScalrWorkspaceStateUpgradeV2(t *testing.T) {
expected := testResourceScalrWorkspaceStateDataV3()
actual, err := resourceScalrWorkspaceStateUpgradeV2(testResourceScalrWorkspaceStateDataV2(), nil)
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
assertCorrectState(t, err, actual, expected)
}
12 changes: 12 additions & 0 deletions scalr/testing.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package scalr

import (
"reflect"
"testing"

scalr "github.com/scalr/go-scalr"
Expand All @@ -20,3 +21,14 @@ func testScalrClient(t *testing.T) *scalr.Client {

return client
}

func assertCorrectState(t *testing.T, err error, actual, expected map[string]interface{}) {
t.Helper()
if err != nil {
t.Fatalf("error migrating state: %s", err)
}

if !reflect.DeepEqual(expected, actual) {
t.Fatalf("\n\nexpected:\n\n%#v\n\ngot:\n\n%#v\n\n", expected, actual)
}
}

0 comments on commit fb6e630

Please sign in to comment.