Skip to content

Commit 00e3cb2

Browse files
author
Ivan Vlasic
committed
create package for test util
1 parent 96c6434 commit 00e3cb2

File tree

3 files changed

+48
-76
lines changed

3 files changed

+48
-76
lines changed

kit/testutil/testutil.go

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package testutil
2+
3+
import (
4+
"io/ioutil"
5+
"testing"
6+
7+
"github.com/mantil-io/mantil/kit/shell"
8+
)
9+
10+
func EqualFiles(t *testing.T, expected, actual string, update bool) {
11+
actualContent, err := ioutil.ReadFile(actual)
12+
if err != nil {
13+
t.Fatalf("failed reading actual file: %s", err)
14+
}
15+
16+
if update {
17+
t.Logf("update expected file %s", expected)
18+
if err := ioutil.WriteFile(expected, actualContent, 0644); err != nil {
19+
t.Fatalf("failed to update expectexd file: %s", err)
20+
}
21+
return
22+
}
23+
24+
expectedContent, err := ioutil.ReadFile(expected)
25+
if err != nil {
26+
t.Fatalf("failed reading expected file: %s", err)
27+
}
28+
29+
if string(actualContent) != string(expectedContent) {
30+
args := []string{"diff", expected, actual}
31+
out, err := shell.Output(shell.ExecOptions{Args: args})
32+
if err != nil {
33+
t.Logf("diff of files")
34+
t.Logf("expected %s, actual %s", expected, actual)
35+
t.Logf("%s", out)
36+
t.Fatalf("failed")
37+
}
38+
39+
}
40+
}

node/api/setup/setup_test.go

+3-37
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ package setup
22

33
import (
44
"flag"
5-
"io/ioutil"
65
"testing"
76

8-
"github.com/mantil-io/mantil/kit/shell"
7+
"github.com/mantil-io/mantil/kit/testutil"
98
"github.com/mantil-io/mantil/node/terraform"
109
"github.com/stretchr/testify/require"
1110
)
@@ -31,39 +30,6 @@ func TestTerraformRender(t *testing.T) {
3130
}
3231
tf, err := terraform.Setup(data)
3332
require.NoError(t, err)
34-
equalFiles(t, "./testdata/create.tf", tf.CreateTf())
35-
equalFiles(t, "./testdata/destroy.tf", tf.DestroyTf())
36-
}
37-
38-
// TODO: same function in terraform package
39-
func equalFiles(t *testing.T, expected, actual string) {
40-
actualContent, err := ioutil.ReadFile(actual)
41-
if err != nil {
42-
t.Fatalf("failed reading actual file: %s", err)
43-
}
44-
45-
if *update {
46-
t.Logf("update expected file %s", expected)
47-
if err := ioutil.WriteFile(expected, actualContent, 0644); err != nil {
48-
t.Fatalf("failed to update expectexd file: %s", err)
49-
}
50-
return
51-
}
52-
53-
expectedContent, err := ioutil.ReadFile(expected)
54-
if err != nil {
55-
t.Fatalf("failed reading expected file: %s", err)
56-
}
57-
58-
if string(actualContent) != string(expectedContent) {
59-
args := []string{"diff", expected, actual}
60-
out, err := shell.Output(shell.ExecOptions{Args: args})
61-
if err != nil {
62-
t.Logf("diff of files")
63-
t.Logf("expected %s, actual %s", expected, actual)
64-
t.Logf("%s", out)
65-
t.Fatalf("failed")
66-
}
67-
68-
}
33+
testutil.EqualFiles(t, "./testdata/create.tf", tf.CreateTf(), *update)
34+
testutil.EqualFiles(t, "./testdata/destroy.tf", tf.DestroyTf(), *update)
6935
}

node/terraform/terraform_test.go

+5-39
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ package terraform
22

33
import (
44
"flag"
5-
"io/ioutil"
65
"testing"
76

8-
"github.com/mantil-io/mantil/kit/shell"
7+
"github.com/mantil-io/mantil/kit/testutil"
98
"github.com/mantil-io/mantil/node/dto"
109
"github.com/stretchr/testify/require"
1110
)
@@ -44,8 +43,8 @@ func TestRenderSetup(t *testing.T) {
4443
require.Equal(t, tf.createPath, "/tmp/mantil/setup/create")
4544
require.Equal(t, tf.destroyPath, "/tmp/mantil/setup/destroy")
4645

47-
equalFiles(t, "testdata/setup.tf", "/tmp/mantil/setup/create/main.tf")
48-
equalFiles(t, "testdata/setup-destroy.tf", "/tmp/mantil/setup/destroy/main.tf")
46+
testutil.EqualFiles(t, "testdata/setup.tf", "/tmp/mantil/setup/create/main.tf", *update)
47+
testutil.EqualFiles(t, "testdata/setup-destroy.tf", "/tmp/mantil/setup/destroy/main.tf", *update)
4948
}
5049

5150
func TestRenderProject(t *testing.T) {
@@ -85,41 +84,8 @@ func TestRenderProject(t *testing.T) {
8584
require.Equal(t, tf.createPath, "/tmp/mantil/my-project-my-stage/create")
8685
require.Equal(t, tf.destroyPath, "/tmp/mantil/my-project-my-stage/destroy")
8786

88-
equalFiles(t, "testdata/project.tf", "/tmp/mantil/my-project-my-stage/create/main.tf")
89-
equalFiles(t, "testdata/project-destroy.tf", "/tmp/mantil/my-project-my-stage/destroy/main.tf")
90-
}
91-
92-
// TODO: same function in api/setup package
93-
func equalFiles(t *testing.T, expected, actual string) {
94-
actualContent, err := ioutil.ReadFile(actual)
95-
if err != nil {
96-
t.Fatalf("failed reading actual file: %s", err)
97-
}
98-
99-
if *update {
100-
t.Logf("update expected file %s", expected)
101-
if err := ioutil.WriteFile(expected, actualContent, 0644); err != nil {
102-
t.Fatalf("failed to update expectexd file: %s", err)
103-
}
104-
return
105-
}
106-
107-
expectedContent, err := ioutil.ReadFile(expected)
108-
if err != nil {
109-
t.Fatalf("failed reading expected file: %s", err)
110-
}
111-
112-
if string(actualContent) != string(expectedContent) {
113-
args := []string{"diff", expected, actual}
114-
out, err := shell.Output(shell.ExecOptions{Args: args})
115-
if err != nil {
116-
t.Logf("diff of files")
117-
t.Logf("expected %s, actual %s", expected, actual)
118-
t.Logf("%s", out)
119-
t.Fatalf("failed")
120-
}
121-
122-
}
87+
testutil.EqualFiles(t, "testdata/project.tf", "/tmp/mantil/my-project-my-stage/create/main.tf", *update)
88+
testutil.EqualFiles(t, "testdata/project-destroy.tf", "/tmp/mantil/my-project-my-stage/destroy/main.tf", *update)
12389
}
12490

12591
// func TestParseLog(t *testing.T) {

0 commit comments

Comments
 (0)