diff --git a/pkg/ovs/ovn-ic-nbctl_test.go b/pkg/ovs/ovn-ic-nbctl_test.go new file mode 100644 index 00000000000..e8ff22a0533 --- /dev/null +++ b/pkg/ovs/ovn-ic-nbctl_test.go @@ -0,0 +1,41 @@ +package ovs + +import ( + "github.com/stretchr/testify/require" +) + +func (suite *OvnClientTestSuite) testOvnIcNbCommand() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + cmd := []string{"--format=csv", "--data=bare", "--no-heading", "--columns=name", "list", "Transit_Switch"} + output, err := ovnLegacyClient.ovnIcNbCommand(cmd...) + // ovn-ic-nbctl not found + // TODO: ic nb db use mock db like nb and sb + require.Error(t, err) + require.Empty(t, output) +} + +func (suite *OvnClientTestSuite) testGetTsSubnet() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + subnet, err := ovnLegacyClient.GetTsSubnet("ts1") + // ovn-ic-nbctl not found + // TODO: ic nb db use mock db like nb and sb + require.Error(t, err) + require.Empty(t, subnet) +} + +func (suite *OvnClientTestSuite) testGetTs() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + ts, err := ovnLegacyClient.GetTs() + // ovn-ic-nbctl not found + require.Error(t, err) + require.Empty(t, ts) +} diff --git a/pkg/ovs/ovn-ic-sbctl_test.go b/pkg/ovs/ovn-ic-sbctl_test.go new file mode 100644 index 00000000000..1075ed993f9 --- /dev/null +++ b/pkg/ovs/ovn-ic-sbctl_test.go @@ -0,0 +1,122 @@ +package ovs + +import ( + "github.com/stretchr/testify/require" +) + +func (suite *OvnClientTestSuite) testOvnIcSbCommand() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + cmd := []string{"--format=csv", "--data=bare", "--no-heading", "--columns=name", "list", "Chassis"} + output, err := ovnLegacyClient.ovnIcSbCommand(cmd...) + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, output) +} + +func (suite *OvnClientTestSuite) testFindUUIDWithAttrInTable() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + uuids, err := ovnLegacyClient.FindUUIDWithAttrInTable("availability_zone", "xx_uuid", "gateway") + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, uuids) +} + +func (suite *OvnClientTestSuite) testDestroyTableWithUUID() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + err := ovnLegacyClient.DestroyTableWithUUID("uuid", "gateway") + // ovn-ic-sbctl not found + require.Error(t, err) +} + +func (suite *OvnClientTestSuite) testGetAzUUID() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + uuid, err := ovnLegacyClient.GetAzUUID("az1") + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, uuid) +} + +func (suite *OvnClientTestSuite) testGetGatewayUUIDsInOneAZ() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + uuids, err := ovnLegacyClient.GetGatewayUUIDsInOneAZ("uuid") + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, uuids) +} + +func (suite *OvnClientTestSuite) testGetRouteUUIDsInOneAZ() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + uuids, err := ovnLegacyClient.GetRouteUUIDsInOneAZ("uuid") + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, uuids) +} + +func (suite *OvnClientTestSuite) testGetPortBindingUUIDsInOneAZ() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + uuids, err := ovnLegacyClient.GetPortBindingUUIDsInOneAZ("uuid") + // ovn-ic-sbctl not found + require.Error(t, err) + require.Empty(t, uuids) +} + +func (suite *OvnClientTestSuite) testDestroyGateways() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + err := ovnLegacyClient.DestroyGateways([]string{"uuid"}) + // ovn-ic-sbctl not found + require.Error(t, err) +} + +func (suite *OvnClientTestSuite) testDestroyRoutes() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + err := ovnLegacyClient.DestroyRoutes([]string{"uuid"}) + // ovn-ic-sbctl not found + require.Error(t, err) +} + +func (suite *OvnClientTestSuite) testDestroyPortBindings() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + err := ovnLegacyClient.DestroyPortBindings([]string{"uuid"}) + // ovn-ic-sbctl not found + require.Error(t, err) +} + +func (suite *OvnClientTestSuite) testDestroyChassis() { + t := suite.T() + t.Parallel() + + ovnLegacyClient := suite.ovnLegacyClient + err := ovnLegacyClient.DestroyChassis("uuid") + // ovn-ic-sbctl not found + require.Error(t, err) +} diff --git a/pkg/ovs/ovn-nb-suite_test.go b/pkg/ovs/ovn-nb-suite_test.go index b1aa1d9b0e8..5b8bdff74ee 100644 --- a/pkg/ovs/ovn-nb-suite_test.go +++ b/pkg/ovs/ovn-nb-suite_test.go @@ -32,6 +32,7 @@ type OvnClientTestSuite struct { ovnSBClient *OVNSbClient faiedOvnNBClient *OVNNbClient + ovnLegacyClient *LegacyClient } func emptyNbDatabaseModel() (model.ClientDBModel, error) { @@ -79,6 +80,9 @@ func (suite *OvnClientTestSuite) SetupSuite() { ovnSBClient, err := newOvnSbClient(suite.T(), sbEndpoint, 10) require.NoError(suite.T(), err) suite.ovnSBClient = ovnSBClient + + // setup ovn legacy client + suite.ovnLegacyClient = newLegacyClient(10) } // In order for 'go test' to run this suite, we need to create @@ -877,6 +881,63 @@ func (suite *OvnClientTestSuite) Test_GetKubeOvnChassisses() { suite.testGetKubeOvnChassisses() } +// ovn ic +func (suite *OvnClientTestSuite) Test_OvnIcNbCommand() { + suite.testOvnIcNbCommand() +} + +func (suite *OvnClientTestSuite) Test_OvnIcSbCommand() { + suite.testOvnIcSbCommand() +} + +func (suite *OvnClientTestSuite) Test_GetTsSubnet() { + suite.testGetTsSubnet() +} + +func (suite *OvnClientTestSuite) Test_GetTs() { + suite.testGetTs() +} + +func (suite *OvnClientTestSuite) Test_FindUUIDWithAttrInTable() { + suite.testFindUUIDWithAttrInTable() +} + +func (suite *OvnClientTestSuite) Test_DestroyTableWithUUID() { + suite.testDestroyTableWithUUID() +} + +func (suite *OvnClientTestSuite) Test_GetAzUUID() { + suite.testGetAzUUID() +} + +func (suite *OvnClientTestSuite) Test_GetGatewayUUIDsInOneAZ() { + suite.testGetGatewayUUIDsInOneAZ() +} + +func (suite *OvnClientTestSuite) Test_GetRouteUUIDsInOneAZ() { + suite.testGetRouteUUIDsInOneAZ() +} + +func (suite *OvnClientTestSuite) Test_GetPortBindingUUIDsInOneAZ() { + suite.testGetPortBindingUUIDsInOneAZ() +} + +func (suite *OvnClientTestSuite) Test_DestroyGateways() { + suite.testDestroyGateways() +} + +func (suite *OvnClientTestSuite) Test_DestroyRoutes() { + suite.testDestroyRoutes() +} + +func (suite *OvnClientTestSuite) Test_DestroyPortBindings() { + suite.testDestroyPortBindings() +} + +func (suite *OvnClientTestSuite) Test_DestroyChassis() { + suite.testDestroyChassis() +} + func Test_scratch(t *testing.T) { t.SkipNow() endpoint := "tcp:[172.20.149.35]:6641" @@ -935,6 +996,13 @@ func newOvnNbClient(t *testing.T, ovnNbAddr string, ovnNbTimeout int) (*OVNNbCli }, nil } +// newLegacyClient init a legacy ovn client +func newLegacyClient(timeout int) *LegacyClient { + return &LegacyClient{ + OvnTimeout: timeout, + } +} + func newNbClient(addr string, timeout int) (client.Client, error) { dbModel, err := ovnnb.FullDatabaseModel() if err != nil {