Skip to content
This repository was archived by the owner on Jan 9, 2023. It is now read-only.

Commit f2ed0f5

Browse files
committed
Add some basic e2e tests
Signed-off-by: Christian Simon <[email protected]>
1 parent 50bfa64 commit f2ed0f5

File tree

4 files changed

+413
-2
lines changed

4 files changed

+413
-2
lines changed

cmd/tarmak/e2e/e2e_cluster_test.go

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
package e2e_test
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"testing"
7+
)
8+
9+
func TestAWSSingleCluster(t *testing.T) {
10+
t.Parallel()
11+
skipE2ETests(t)
12+
13+
ti := NewTarmakInstance(t)
14+
ti.singleCluster = true
15+
ti.singleZone = true
16+
17+
t.Log("initialise config for single cluster")
18+
if err := ti.Init(); err != nil {
19+
t.Errorf("unexpected error: %+v", err)
20+
}
21+
22+
t.Log("build tarmak image")
23+
c := ti.Command("cluster", "image", "build")
24+
c.Stderr = os.Stderr
25+
if err := c.Run(); err != nil {
26+
t.Errorf("unexpected error: %+v", err)
27+
}
28+
29+
defer func() {
30+
t.Log("run cluster destroy command")
31+
c = ti.Command("cluster", "destroy")
32+
// write error out to my stdout
33+
c.Stderr = os.Stderr
34+
if err := c.Run(); err != nil {
35+
t.Errorf("unexpected error: %+v", err)
36+
}
37+
}()
38+
t.Log("run cluster apply command")
39+
c = ti.Command("cluster", "apply")
40+
// write error out to my stdout
41+
c.Stderr = os.Stderr
42+
if err := c.Run(); err != nil {
43+
t.Fatalf("unexpected error: %+v", err)
44+
}
45+
46+
t.Log("get component status")
47+
c = ti.Command("cluster", "kubectl", "get", "cs", "-o", "yaml")
48+
// write error out to my stdout
49+
c.Stderr = os.Stderr
50+
c.Stdout = os.Stdout
51+
if err := c.Run(); err != nil {
52+
t.Fatalf("unexpected error: %+v", err)
53+
}
54+
}
55+
56+
func TestAWSMultiCluster(t *testing.T) {
57+
t.Parallel()
58+
skipE2ETests(t)
59+
60+
ti := NewTarmakInstance(t)
61+
ti.singleCluster = false
62+
ti.singleZone = false
63+
64+
t.Log("initialise config for single cluster")
65+
if err := ti.Init(); err != nil {
66+
t.Fatalf("unexpected error: %+v", err)
67+
}
68+
69+
t.Log("build tarmak image")
70+
c := ti.Command("cluster", "image", "build")
71+
c.Stderr = os.Stderr
72+
if err := c.Run(); err != nil {
73+
t.Fatalf("unexpected error: %+v", err)
74+
}
75+
76+
defer func() {
77+
t.Log("run hub destroy command")
78+
c = ti.Command("--current-cluster", fmt.Sprintf("%s-hub", ti.environmentName), "cluster", "destroy")
79+
// write error out to my stdout
80+
c.Stderr = os.Stderr
81+
if err := c.Run(); err != nil {
82+
t.Errorf("unexpected error: %+v", err)
83+
}
84+
}()
85+
t.Log("run hub apply command")
86+
c = ti.Command("--current-cluster", fmt.Sprintf("%s-hub", ti.environmentName), "cluster", "apply")
87+
// write error out to my stdout
88+
c.Stderr = os.Stderr
89+
if err := c.Run(); err != nil {
90+
t.Fatalf("unexpected error: %+v", err)
91+
}
92+
93+
defer func() {
94+
t.Log("run cluster destroy command")
95+
c = ti.Command("cluster", "destroy")
96+
// write error out to my stdout
97+
c.Stderr = os.Stderr
98+
if err := c.Run(); err != nil {
99+
t.Errorf("unexpected error: %+v", err)
100+
}
101+
}()
102+
t.Log("run cluster apply command")
103+
c = ti.Command("cluster", "apply")
104+
// write error out to my stdout
105+
c.Stderr = os.Stderr
106+
if err := c.Run(); err != nil {
107+
t.Fatalf("unexpected error: %+v", err)
108+
}
109+
110+
t.Log("get component status")
111+
c = ti.Command("cluster", "kubectl", "get", "cs", "-o", "yaml")
112+
// write error out to my stdout
113+
c.Stderr = os.Stderr
114+
c.Stdout = os.Stdout
115+
if err := c.Run(); err != nil {
116+
t.Fatalf("unexpected error: %+v", err)
117+
}
118+
119+
}

0 commit comments

Comments
 (0)