func TestCreateLogicalSwitchGroup(t *testing.T) { var ( d *OVTest c *ov.OVClient testName string ) if os.Getenv("ONEVIEW_TEST_ACCEPTANCE") == "true" { d, c = getTestDriverA("test_logical_switch_group") if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } // find out if the test logicalSwitchGroup already exist testName = d.Tc.GetTestData(d.Env, "Name").(string) testLogicalSwitchGroup, err := c.GetLogicalSwitchGroupByName(testName) assert.NoError(t, err, "CreateLogicalSwitchGroup get the LogicalSwitchError error -> %s", err) if testLogicalSwitchGroup.URI.IsNil() { switchMapData := d.Tc.GetTestData(d.Env, "SwitchMapTemplate").(map[string]interface{}) locationEntry := ov.LocationEntry{ RelativeValue: 1, Type: switchMapData["SwitchMapEntryTemplates"].([]interface{})[0].(map[string]interface{})["LogicalLocation"].(map[string]interface{})["LocationEntries"].([]interface{})[0].(map[string]interface{})["Type"].(string), } locationEntries := make([]ov.LocationEntry, 1) locationEntries[0] = locationEntry logicalLocation := ov.LogicalLocation{ LocationEntries: locationEntries, } switchMapEntry := ov.SwitchMapEntry{ PermittedSwitchTypeUri: utils.NewNstring(switchMapData["SwitchMapEntryTemplates"].([]interface{})[0].(map[string]interface{})["PermittedSwitchTypeUri"].(string)), LogicalLocation: logicalLocation, } switchMapEntries := make([]ov.SwitchMapEntry, 1) switchMapEntries[0] = switchMapEntry switchMapTemplate := ov.SwitchMapTemplate{ SwitchMapEntryTemplates: switchMapEntries, } //log.Warnf("%s", switchMapData["SwitchMapEntryTemplates"].([]interface{})[0].(map[string]interface{})["LogicalLocation"].(map[string]interface{})["LocationEntries"].([]interface{})[0].(map[string]interface{})["RelativeValue"]) testLogicalSwitchGroup = ov.LogicalSwitchGroup{ Name: testName, Type: d.Tc.GetTestData(d.Env, "Type").(string), Category: d.Tc.GetTestData(d.Env, "Category").(string), SwitchMapTemplate: switchMapTemplate, } err := c.CreateLogicalSwitchGroup(testLogicalSwitchGroup) assert.NoError(t, err, "CreateLogicalSwitchGroup error -> %s", err) err = c.CreateLogicalSwitchGroup(testLogicalSwitchGroup) assert.Error(t, err, "CreateLogicalSwitchGroup should error because the LogicalSwitchGroup already exists, err-> %s", err) } else { log.Warnf("The logicalSwitchGroup already exists, so skipping CreateLogicalSwitchGroup test for %s", testName) } // reload the test profile that we just created testLogicalSwitchGroup, err = c.GetLogicalSwitchGroupByName(testName) assert.NoError(t, err, "GetLogicalSwitchGroupByName error -> %s", err) } }