@@ -69,15 +69,76 @@ func TestDockerInspect(t *testing.T) {
69
69
}
70
70
71
71
if netInfo .mtu != tc .mtu {
72
- t .Errorf ("Expected not to have MTU as %v but got %v" , tc .mtu , netInfo .mtu )
72
+ t .Errorf ("Expected MTU to be %v but got %v" , tc .mtu , netInfo .mtu )
73
73
}
74
74
75
75
if ! netInfo .gateway .Equal (net .ParseIP (tc .gateway )) {
76
- t .Errorf ("Expected not to have gateway as %v but got %v" , tc .gateway , netInfo .gateway )
76
+ t .Errorf ("Expected gateway to be %v but got %v" , tc .gateway , netInfo .gateway )
77
77
}
78
78
79
79
if ! netInfo .subnet .IP .Equal (net .ParseIP (tc .subnetIP )) {
80
- t .Errorf ("Expected not to have subnet as %v but got %v" , tc .subnetIP , netInfo .gateway )
80
+ t .Errorf ("Expected subnet to be %v but got %v" , tc .subnetIP , netInfo .subnet .IP )
81
+ }
82
+ })
83
+ }
84
+ }
85
+
86
+ var podmanResponse string
87
+ var podmanInspectGetterMock = func (name string ) (* RunResult , error ) {
88
+ var responseInBytes bytes.Buffer
89
+ responseInBytes .WriteString (podmanResponse )
90
+ response := & RunResult {Stdout : responseInBytes }
91
+
92
+ return response , nil
93
+ }
94
+
95
+ func TestPodmanInspect (t * testing.T ) {
96
+ var emptyGateway net.IP
97
+ gateway := net .ParseIP ("172.17.0.1" )
98
+ _ , subnetIP , err := net .ParseCIDR ("172.17.0.0/16" )
99
+ if err != nil {
100
+ t .Fatalf ("failed to parse CIDR: %v" , err )
101
+ }
102
+
103
+ var tests = []struct {
104
+ name string
105
+ podmanInspectResponse string
106
+ gateway net.IP
107
+ subnetIP string
108
+ }{
109
+ {
110
+ name : "WithGateway" ,
111
+ podmanInspectResponse : "172.17.0.0/16,172.17.0.1" ,
112
+ gateway : gateway ,
113
+ subnetIP : subnetIP .String (),
114
+ },
115
+ {
116
+ name : "WithoutGateway" ,
117
+ podmanInspectResponse : "172.17.0.0/16" ,
118
+ gateway : emptyGateway ,
119
+ subnetIP : subnetIP .String (),
120
+ },
121
+ }
122
+
123
+ for _ , tc := range tests {
124
+ t .Run (tc .name , func (t * testing.T ) {
125
+ podmanInspectResponse := tc .podmanInspectResponse
126
+
127
+ // setting up mock funcs
128
+ podmanResponse = podmanInspectResponse
129
+ podmanInspectGetter = podmanInspectGetterMock
130
+
131
+ netInfo , err := podmanNetworkInspect ("m2" )
132
+ if err != nil {
133
+ t .Errorf ("Expected not to have error but got %v" , err )
134
+ }
135
+
136
+ if ! netInfo .gateway .Equal (tc .gateway ) {
137
+ t .Errorf ("Expected gateway to be %v but got %v" , tc .gateway , netInfo .gateway )
138
+ }
139
+
140
+ if netInfo .subnet .String () != tc .subnetIP {
141
+ t .Errorf ("Expected subnet to be %v but got %v" , tc .subnetIP , netInfo .subnet )
81
142
}
82
143
})
83
144
}
0 commit comments