-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathecswhoami_test.go
112 lines (97 loc) · 3.02 KB
/
ecswhoami_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
package ecswhoami
import (
"fmt"
"net/http"
"net/http/httptest"
"os"
"testing"
)
func TestLookup(t *testing.T) {
_, err := Lookup()
if err != ErrEnvNotSet {
t.Errorf("expected %v, got %v", ErrEnvNotSet, err)
}
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, `{
"DockerId": "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
"Name": "nginx-curl",
"DockerName": "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
"Image": "nrdlngr/nginx-curl",
"ImageID": "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
"Labels": {
"com.amazonaws.ecs.cluster": "default",
"com.amazonaws.ecs.container-name": "nginx-curl",
"com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
"com.amazonaws.ecs.task-definition-family": "nginx",
"com.amazonaws.ecs.task-definition-version": "5"
},
"DesiredStatus": "RUNNING",
"KnownStatus": "RUNNING",
"Limits": {
"CPU": 512,
"Memory": 512
},
"CreatedAt": "2018-02-01T20:55:10.554941919Z",
"StartedAt": "2018-02-01T20:55:11.064236631Z",
"Type": "NORMAL",
"Networks": [
{
"NetworkMode": "awsvpc",
"IPv4Addresses": [
"10.0.2.106"
]
}
]
}`)
}))
defer ts.Close()
os.Setenv(envVar, ts.URL)
m, err := Lookup()
if err != nil {
t.Errorf("expected nil, got %v", err)
}
expected := Metadata{
DockerID: "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946",
Name: "nginx-curl",
DockerName: "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901",
Image: "nrdlngr/nginx-curl",
ImageID: "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165",
Labels: map[string]string{
"com.amazonaws.ecs.cluster": "default",
"com.amazonaws.ecs.container-name": "nginx-curl",
"com.amazonaws.ecs.task-arn": "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3",
"com.amazonaws.ecs.task-definition-family": "nginx",
"com.amazonaws.ecs.task-definition-version": "5",
},
DesiredStatus: "RUNNING",
KnownStatus: "RUNNING",
Limits: Limits{
CPU: 512,
Memory: 512,
},
}
if m.DockerID != m.DockerID {
t.Errorf("expected %v, got %v", expected.DockerID, m.DockerID)
}
if m.Name != m.Name {
t.Errorf("expected %v, got %v", expected.Name, m.Name)
}
if m.DockerName != m.DockerName {
t.Errorf("expected %v, got %v", expected.DockerName, m.DockerName)
}
if m.Image != m.Image {
t.Errorf("expected %v, got %v", expected.Image, m.Image)
}
if m.ImageID != m.ImageID {
t.Errorf("expected %v, got %v", expected.ImageID, m.ImageID)
}
if m.DesiredStatus != m.DesiredStatus {
t.Errorf("expected %v, got %v", expected.DesiredStatus, m.DesiredStatus)
}
if m.KnownStatus != m.KnownStatus {
t.Errorf("expected %v, got %v", expected.KnownStatus, m.KnownStatus)
}
if m.Limits != m.Limits {
t.Errorf("expected %v, got %v", expected.Limits, m.Limits)
}
}