@@ -3,15 +3,46 @@ package docker
33import (
44 "bytes"
55 "context"
6+ "errors"
67 "io/ioutil"
78 "net/http"
89 "testing"
910
10- "github.com/docker/docker/api/types"
11+ dtypes "github.com/docker/docker/api/types"
1112 "github.com/docker/docker/client"
1213 "github.com/stretchr/testify/assert"
14+
15+ "github.com/guumaster/hostctl/pkg/types"
1316)
1417
18+ func TestGetNetworkID (t * testing.T ) {
19+ cli := newClientWithResponse (t , map [string ]string {
20+ "/v1.22/networks" : `[
21+ {"Id": "networkId1", "Name": "networkName1" },
22+ {"Id": "networkId2", "Name": "networkName2" }
23+ ]` ,
24+ })
25+
26+ t .Run ("By Name" , func (t * testing.T ) {
27+ net , err := GetNetworkID (context .Background (), cli , "networkName2" )
28+ assert .NoError (t , err )
29+
30+ assert .Equal (t , "networkId2" , net )
31+ })
32+
33+ t .Run ("By Name error" , func (t * testing.T ) {
34+ _ , err := GetNetworkID (context .Background (), cli , "invent" )
35+ assert .True (t , errors .Is (err , types .ErrUnknownNetworkID ))
36+ })
37+
38+ t .Run ("By Name empty" , func (t * testing.T ) {
39+ list , err := GetNetworkID (context .Background (), cli , "" )
40+ assert .NoError (t , err )
41+ assert .Empty (t , list )
42+ })
43+
44+ }
45+
1546func TestGetContainerList (t * testing.T ) {
1647 cli := newClientWithResponse (t , map [string ]string {
1748 "/v1.22/networks" : `[
@@ -32,17 +63,17 @@ func TestGetContainerList(t *testing.T) {
3263
3364 assert .Len (t , list , 2 )
3465
35- assert .IsType (t , types .Container {}, list [0 ])
36- assert .IsType (t , types .Container {}, list [1 ])
66+ assert .IsType (t , dtypes .Container {}, list [0 ])
67+ assert .IsType (t , dtypes .Container {}, list [1 ])
3768 assert .Equal (t , "networkID1" , list [1 ].NetworkSettings .Networks ["networkName1" ].NetworkID )
3869
39- assert .Equal (t , types .Container {
70+ assert .Equal (t , dtypes .Container {
4071 ID : "container_id1" ,
4172 Names : []string {"container1" },
4273
4374 NetworkSettings : list [0 ].NetworkSettings , // simplify the comparison
4475 }, list [0 ])
45- assert .Equal (t , types .Container {
76+ assert .Equal (t , dtypes .Container {
4677 ID : "container_id2" ,
4778 Names : []string {"container2" },
4879
0 commit comments