// Copyright 2024 Matthew Rich . All rights reserved. package resource import ( "context" "decl/tests/mocks" _ "encoding/json" _ "fmt" _ "github.com/docker/docker/api/types" _ "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" "github.com/stretchr/testify/assert" _ "io" _ "net/http" _ "net/http/httptest" _ "net/url" _ "os" _ "strings" "testing" ) func TestNewContainerNetworkResource(t *testing.T) { c := NewContainerNetwork(&mocks.MockContainerClient{}) assert.NotNil(t, c) } func TestReadContainerNetwork(t *testing.T) { ctx := context.Background() decl := ` name: "testcontainernetwork" state: present ` m := &mocks.MockContainerClient{ InjectNetworkList: func(ctx context.Context, options network.ListOptions) ([]network.Summary, error) { return []network.Summary{ {ID: "123456789abc"}, {ID: "123456789def"}, }, nil }, InjectNetworkInspect: func(ctx context.Context, networkID string, options network.InspectOptions) (network.Inspect, error) { return network.Inspect{ ID: "123456789abc", Name: "test", Driver: "bridge", }, nil }, } n := NewContainerNetwork(m) assert.NotNil(t, n) e := n.LoadDecl(decl) assert.Nil(t, e) assert.Equal(t, "testcontainernetwork", n.Name) resourceYaml, readContainerErr := n.Read(ctx) assert.Equal(t, nil, readContainerErr) assert.Greater(t, len(resourceYaml), 0) }