forked from ewilde/go-runscope
-
Notifications
You must be signed in to change notification settings - Fork 0
/
result_test.go
126 lines (103 loc) · 2.97 KB
/
result_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package runscope
import (
"testing"
"time"
)
func TestListResults(t *testing.T) {
testPreCheck(t)
client := clientConfigure()
bucket, err := client.CreateBucket(&Bucket{Name: "newTest", Team: &Team{ID: teamID}})
defer client.DeleteBucket(bucket.Key) // nolint: errcheck
if err != nil {
t.Error(err)
}
newTest := &Test{Name: "tf_test", Description: "This is a tf newTest", Bucket: bucket}
newTest, err = client.CreateTest(newTest)
defer client.DeleteTest(newTest) // nolint: errcheck
if err != nil {
t.Error(err)
}
step := NewTestStep()
step.StepType = "request"
step.URL = "http://example.com"
step.Method = "GET"
step.Assertions = []*Assertion{{
Source: "response_status",
Comparison: "equal_number",
Value: 200,
}}
_, err = client.CreateTestStep(step, bucket.Key, newTest.ID)
if err != nil {
t.Error(err)
}
defer client.DeleteTestStep(step, bucket.Key, newTest.ID) // nolint: errcheck
if err != nil {
t.Error(err)
}
schedule := NewSchedule()
schedule.Note = "Daily schedule"
schedule.Interval = "1m"
schedule.EnvironmentID = newTest.DefaultEnvironmentID
schedule, err = client.CreateSchedule(schedule, bucket.Key, newTest.ID)
if err != nil {
t.Error(err)
}
defer client.DeleteSchedule(schedule, bucket.Key, newTest.ID) // nolint: errcheck
time.Sleep(1 * time.Minute)
listResults, err := client.ListResults(bucket.Key, newTest.ID)
if err != nil {
t.Error(err)
}
if len(listResults) == 0 {
t.Error("Expected results but none found")
}
}
func TestReadTestLatestResult(t *testing.T) {
testPreCheck(t)
client := clientConfigure()
bucket, err := client.CreateBucket(&Bucket{Name: "newTest", Team: &Team{ID: teamID}})
defer client.DeleteBucket(bucket.Key) // nolint: errcheck
if err != nil {
t.Error(err)
}
newTest := &Test{Name: "tf_test", Description: "This is a tf newTest", Bucket: bucket}
newTest, err = client.CreateTest(newTest)
defer client.DeleteTest(newTest) // nolint: errcheck
if err != nil {
t.Error(err)
}
step := NewTestStep()
step.StepType = "request"
step.URL = "http://example.com"
step.Method = "GET"
step.Assertions = []*Assertion{{
Source: "response_status",
Comparison: "equal_number",
Value: 200,
}}
_, err = client.CreateTestStep(step, bucket.Key, newTest.ID)
if err != nil {
t.Error(err)
}
defer client.DeleteTestStep(step, bucket.Key, newTest.ID) // nolint: errcheck
if err != nil {
t.Error(err)
}
schedule := NewSchedule()
schedule.Note = "Daily schedule"
schedule.Interval = "1m"
schedule.EnvironmentID = newTest.DefaultEnvironmentID
schedule, err = client.CreateSchedule(schedule, bucket.Key, newTest.ID)
if err != nil {
t.Error(err)
}
defer client.DeleteSchedule(schedule, bucket.Key, newTest.ID) // nolint: errcheck
time.Sleep(1 * time.Minute)
testResult, err := client.ReadTestLatestResult(newTest.ID, bucket.Key)
if err != nil {
t.Error(err)
}
if testResult.Result != "pass" {
t.Errorf("Expected successfull test %s, actual %s", "pass", testResult.Result)
}
}