-
Notifications
You must be signed in to change notification settings - Fork 0
/
main_test.go
124 lines (112 loc) · 2.55 KB
/
main_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
package main
import (
"fmt"
"strings"
"testing"
)
func TestListObjects(t *testing.T) {
objects, err := listObjects("gce-ilb-load", "", "")
if err != nil {
t.Errorf("error %s", err)
}
for _, o := range objects.Items {
fmt.Println(o.MediaLink)
}
}
func TestPrintObjects(t *testing.T) {
objects, err := listObjects("gce-ilb-load", "", "")
if err != nil {
t.Errorf("error %s", err)
}
for _, o := range objects.Items {
c, err := getObjectContents(o)
if err != nil {
t.Errorf("error %s", err)
}
fmt.Println(string(c))
break
}
}
func TestListJobs(t *testing.T) {
jobs, err := listJobs("gce-ilb-load", "")
if err != nil {
t.Errorf("error %s", err)
}
for _, j := range jobs {
fmt.Println(j)
}
}
func TestListObjectsByJob(t *testing.T) {
jobs, err := listJobs("gce-ilb-load", "")
if err != nil {
t.Errorf("error %s", err)
}
for _, j := range jobs {
fmt.Println(j)
os, err := listObjects("gce-ilb-load", "", j)
if err != nil {
t.Errorf("error %s", err)
}
for _, o := range os.Items {
fmt.Println("-- " + o.Name)
}
}
}
func TestMarshalJobResults(t *testing.T) {
jobs, err := listJobs("gce-ilb-load", "")
if err != nil {
t.Errorf("error %s", err)
}
for _, j := range jobs {
os, err := listObjects("gce-ilb-load", "", j)
if err != nil {
t.Errorf("error %s", err)
}
for _, o := range os.Items {
if !strings.HasSuffix(o.Name, "job.json") {
tr, err := getTestResult(o)
if err != nil {
t.Errorf("error %s", err)
}
fmt.Println(tr)
return
}
}
}
}
func TestGetAllResultsForJob(t *testing.T) {
jobs, err := listJobs("gce-ilb-load", "")
if err != nil {
t.Errorf("error %s", err)
}
j := jobs[0]
results, err := getTestResultsForJob(j)
if err != nil {
t.Errorf("err %s", err)
}
fmt.Printf("got %v jobs\n", len(results))
}
func TestResultAggregation(t *testing.T) {
lt := &LoadTest{}
lt.AddResults([]TestResult{{LatencyMax: 1, RequestsMax: 2}, {LatencyMax: 1, RequestsMax: 2}})
if lt.ResultsAveraged.LatencyMax != 1 {
t.Errorf("invalid LatencyMax (%v)", lt.ResultsAveraged.LatencyMax)
}
if lt.ResultsAveraged.RequestsMax != 4 {
t.Errorf("invalid RequestsMax (%v)", lt.ResultsAveraged.RequestsMax)
}
}
func TestLoadAllJobs(t *testing.T) {
jobs, err := listJobs(bucket, "")
if err != nil {
t.Errorf("error %s", err)
}
for _, j := range jobs {
lt, err := getLoadTestForJob(j)
if err != nil {
t.Errorf("error %s", err)
}
fmt.Printf("Mean Latency for job: %v\n", lt.ResultsAveraged.LatencyMean)
fmt.Printf("Requests for job: %v\n", lt.ResultsAveraged.SummaryRequests)
}
}