@@ -2,20 +2,52 @@ package docker
2
2
3
3
import (
4
4
"testing"
5
+
6
+ "github.com/stretchr/testify/assert"
5
7
)
6
8
9
+ func TestExtratFromMountInfo (t * testing.T ) {
10
+ read :=
11
+ `982 811 0:188 / / rw,relatime master:211 - overlay overlay rw,lowerdir=/var/lib/docker/overlay2/l/JITAD3AQIAPDR63API26SHX5CQ:/var/lib/docker/overlay2/l/OD4G2XK3EBQC7UCYC2MKN2VU4N:/var/lib/docker/overlay2/l/XCYRLTZ7FPAFABA6UPAECHCUFM:/var/lib/docker/overlay2/l/2UTXO3KIF3I7EQFKXPOYQO6WGN,upperdir=/var/lib/docker/overlay2/11a7a30cc374c98491c15185334a99f07e2761a9759c2c5b3ba1b4122ec9fbf7/diff,workdir=/var/lib/docker/overlay2/11a7a30cc374c98491c15185334a99f07e2761a9759c2c5b3ba1b4122ec9fbf7/work
12
+ 984 982 0:205 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
13
+ 986 982 0:207 / /dev rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755
14
+ 988 986 0:209 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=666
15
+ 990 982 0:211 / /sys ro,nosuid,nodev,noexec,relatime - sysfs sysfs ro
16
+ 993 990 0:33 / /sys/fs/cgroup ro,nosuid,nodev,noexec,relatime - cgroup2 cgroup rw
17
+ 994 986 0:202 / /dev/mqueue rw,nosuid,nodev,noexec,relatime - mqueue mqueue rw
18
+ 996 986 0:213 / /dev/shm rw,nosuid,nodev,noexec,relatime - tmpfs shm rw,size=65536k
19
+ 999 982 254:1 /docker/containers/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b/resolv.conf /etc/resolv.conf rw,relatime - ext4 /dev/vda1 rw
20
+ 1001 982 254:1 /docker/containers/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b/hostname /etc/hostname rw,relatime - ext4 /dev/vda1 rw
21
+ 1002 982 254:1 /docker/containers/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b/hosts /etc/hosts rw,relatime - ext4 /dev/vda1 rw
22
+ 1003 982 0:23 /host-services/docker.proxy.sock /run/docker.sock rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,size=608152k,mode=755
23
+ 576 984 0:205 /bus /proc/bus ro,nosuid,nodev,noexec,relatime - proc proc rw
24
+ 587 984 0:205 /fs /proc/fs ro,nosuid,nodev,noexec,relatime - proc proc rw
25
+ 588 984 0:205 /irq /proc/irq ro,nosuid,nodev,noexec,relatime - proc proc rw
26
+ 589 984 0:205 /sys /proc/sys ro,nosuid,nodev,noexec,relatime - proc proc rw
27
+ 590 984 0:205 /sysrq-trigger /proc/sysrq-trigger ro,nosuid,nodev,noexec,relatime - proc proc rw
28
+ 591 984 0:207 /null /proc/kcore rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755
29
+ 592 984 0:207 /null /proc/keys rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755
30
+ 593 984 0:207 /null /proc/timer_list rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755
31
+ 594 990 0:216 / /sys/firmware ro,relatime - tmpfs tmpfs ro`
32
+
33
+ expected := "d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b"
34
+
35
+ utils := dockerUtils {}
36
+
37
+ actual := utils .extractContainerIDFromMountInfo (read )
38
+
39
+ assert .Equal (t , expected , actual )
40
+ }
41
+
7
42
func TestFailExtractBasicDockerId (t * testing.T ) {
8
43
read :=
9
44
`1:cpu:/not_an_id`
10
45
11
46
utils := dockerUtils {}
12
47
13
- actual , err := utils .ExtractContainerID (read )
14
-
15
- if err == nil {
16
- t .Fatalf ("Got unexpected container id %v" , actual )
17
- }
48
+ actual := utils .extractContainerIDFromCGroups (read )
18
49
50
+ assert .Empty (t , actual )
19
51
}
20
52
21
53
func TestExtractBasicDockerId (t * testing.T ) {
@@ -30,15 +62,9 @@ func TestExtractBasicDockerId(t *testing.T) {
30
62
31
63
utils := dockerUtils {}
32
64
33
- actual , err := utils .ExtractContainerID (read )
34
-
35
- if err != nil {
36
- t .Fatalf ("Could not extract container id : %v" , err )
37
- }
65
+ actual := utils .extractContainerIDFromCGroups (read )
38
66
39
- if actual != expected {
40
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
41
- }
67
+ assert .Equal (t , expected , actual )
42
68
}
43
69
44
70
func TestExtractScopedDockerId (t * testing.T ) {
@@ -53,15 +79,9 @@ func TestExtractScopedDockerId(t *testing.T) {
53
79
54
80
utils := dockerUtils {}
55
81
56
- actual , err := utils .ExtractContainerID (read )
82
+ actual := utils .extractContainerIDFromCGroups (read )
57
83
58
- if err != nil {
59
- t .Fatalf ("Could not extract container id : %v" , err )
60
- }
61
-
62
- if actual != expected {
63
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
64
- }
84
+ assert .Equal (t , expected , actual )
65
85
}
66
86
67
87
func TestExtractSlashPrefixedDockerId (t * testing.T ) {
@@ -76,15 +96,9 @@ func TestExtractSlashPrefixedDockerId(t *testing.T) {
76
96
77
97
utils := dockerUtils {}
78
98
79
- actual , err := utils .ExtractContainerID (read )
80
-
81
- if err != nil {
82
- t .Fatalf ("Could not extract container id : %v" , err )
83
- }
99
+ actual := utils .extractContainerIDFromCGroups (read )
84
100
85
- if actual != expected {
86
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
87
- }
101
+ assert .Equal (t , expected , actual )
88
102
}
89
103
90
104
func TestExtractNestedDockerId (t * testing.T ) {
@@ -105,15 +119,9 @@ func TestExtractNestedDockerId(t *testing.T) {
105
119
106
120
utils := dockerUtils {}
107
121
108
- actual , err := utils .ExtractContainerID (read )
122
+ actual := utils .extractContainerIDFromCGroups (read )
109
123
110
- if err != nil {
111
- t .Fatalf ("Could not extract container id : %v" , err )
112
- }
113
-
114
- if actual != expected {
115
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
116
- }
124
+ assert .Equal (t , expected , actual )
117
125
}
118
126
119
127
func TestExtractAKSDockerId (t * testing.T ) {
@@ -136,15 +144,9 @@ func TestExtractAKSDockerId(t *testing.T) {
136
144
137
145
utils := dockerUtils {}
138
146
139
- actual , err := utils .ExtractContainerID (read )
140
-
141
- if err != nil {
142
- t .Fatalf ("Could not extract container id : %v" , err )
143
- }
147
+ actual := utils .extractContainerIDFromCGroups (read )
144
148
145
- if actual != expected {
146
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
147
- }
149
+ assert .Equal (t , expected , actual )
148
150
}
149
151
150
152
func TestExtractECSDockerId (t * testing.T ) {
@@ -164,15 +166,9 @@ func TestExtractECSDockerId(t *testing.T) {
164
166
165
167
utils := dockerUtils {}
166
168
167
- actual , err := utils .ExtractContainerID (read )
169
+ actual := utils .extractContainerIDFromCGroups (read )
168
170
169
- if err != nil {
170
- t .Fatalf ("Could not extract container id : %v" , err )
171
- }
172
-
173
- if actual != expected {
174
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
175
- }
171
+ assert .Equal (t , expected , actual )
176
172
}
177
173
178
174
func TestExtractRootlessDockerId (t * testing.T ) {
@@ -195,13 +191,7 @@ func TestExtractRootlessDockerId(t *testing.T) {
195
191
196
192
utils := dockerUtils {}
197
193
198
- actual , err := utils .ExtractContainerID (read )
199
-
200
- if err != nil {
201
- t .Fatalf ("Could not extract container id : %v" , err )
202
- }
194
+ actual := utils .extractContainerIDFromCGroups (read )
203
195
204
- if actual != expected {
205
- t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
206
- }
196
+ assert .Equal (t , expected , actual )
207
197
}
0 commit comments