azure-container-networking/npm/npm_test.go

67 строки
1.7 KiB
Go

package npm
import (
"encoding/json"
"fmt"
"net/http"
"net/http/httptest"
"strings"
"testing"
npmconfig "github.com/Azure/azure-container-networking/npm/config"
"github.com/Azure/azure-container-networking/npm/http/api"
controllersv2 "github.com/Azure/azure-container-networking/npm/pkg/controlplane/controllers/v2"
"github.com/Azure/azure-container-networking/npm/pkg/dataplane/debug"
dpmocks "github.com/Azure/azure-container-networking/npm/pkg/dataplane/mocks"
"github.com/Azure/azure-container-networking/npm/pkg/models"
gomock "github.com/golang/mock/gomock"
"github.com/stretchr/testify/require"
)
func TestNPMCache(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
dp := dpmocks.NewMockGenericDataplane(ctrl)
dp.EXPECT().GetAllIPSets()
npmMgr := NetworkPolicyManager{
config: npmconfig.Config{
Toggles: npmconfig.Toggles{
EnableV2NPM: true,
},
},
AzureConfig: models.AzureConfig{
NodeName: "TestNode",
},
K8SControllersV2: models.K8SControllersV2{
NamespaceControllerV2: &controllersv2.NamespaceController{},
},
Dataplane: dp,
}
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != api.NPMMgrPath {
t.Errorf("Expected to request '/fixedvalue', got: %s", r.URL.Path)
}
w.WriteHeader(http.StatusOK)
encoder := &npmMgr
b, err := json.Marshal(encoder)
require.NoError(t, err)
_, err = w.Write(b)
require.NoError(t, err)
}))
defer server.Close()
host := strings.Split(server.URL[7:], ":")
hostip := host[0]
c := &debug.Converter{
NPMDebugEndpointHost: fmt.Sprintf("http://%s", hostip),
NPMDebugEndpointPort: host[1],
EnableV2NPM: true,
}
require.NoError(t, c.InitConverter())
}