func TestDeleteGoldenImage(t *testing.T) { var ( d *I3STest c *i3s.I3SClient testName string testGoldenImage i3s.GoldenImage ) if os.Getenv("I3S_TEST_ACCEPTANCE") == "true" { d, c = getTestDriverA("test_golden_image") if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } testName = d.Tc.GetTestData(d.Env, "Name").(string) err := c.DeleteGoldenImage(testName) assert.NoError(t, err, "DeleteGoldenImage err-> %s", err) testGoldenImage, err = c.GetGoldenImageByName(testName) assert.NoError(t, err, "GetGoldenImageByName with deleted golden image-> %+v", err) assert.Equal(t, "", testGoldenImage.Name, fmt.Sprintf("Problem getting golden image name, %+v", testGoldenImage)) } else { _, c = getTestDriverU("test_golden_image") err := c.DeleteGoldenImage("footest") assert.Error(t, err, fmt.Sprintf("ALL ok, no error, caught as expected: %s,%+v\n", err, testGoldenImage)) } }
func TestGetGoldenImageByName(t *testing.T) { var ( d *I3STest c *i3s.I3SClient testName string ) if os.Getenv("I3S_TEST_ACCEPTANCE") == "true" { d, c = getTestDriverA("test_golden_image") if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } testName = d.Tc.GetTestData(d.Env, "Name").(string) testGoldenImage, err := c.GetGoldenImageByName(testName) assert.NoError(t, err, "GetGoldenImageByName thew an error -> %s", err) assert.Equal(t, testName, testGoldenImage.Name) testGoldenImage, err = c.GetGoldenImageByName("bad") assert.NoError(t, err, "GetGoldenImageByName with fake name -> %s", err) assert.Equal(t, "", testGoldenImage.Name) } else { d, c = getTestDriverU("test_golden_image") testName = d.Tc.GetTestData(d.Env, "Name").(string) data, err := c.GetGoldenImageByName(testName) assert.Error(t, err, fmt.Sprintf("ALL ok, no error, caught as expected: %s,%+v\n", err, data)) } }
func TestCreateGoldenImage(t *testing.T) { var ( d *I3STest c *i3s.I3SClient testName string ) if os.Getenv("I3S_TEST_ACCEPTANCE") == "true" { d, c = getTestDriverA("test_golden_image") if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } // find out if the test golden image already exist testName = d.Tc.GetTestData(d.Env, "Name").(string) testGoldenImage, err := c.GetGoldenImageByName(testName) assert.NoError(t, err, "CreateGoldenImage get the GoldenImage error -> %s", err) if testGoldenImage.URI.IsNil() { testGoldenImage = i3s.GoldenImage{ Name: testName, Type: d.Tc.GetTestData(d.Env, "Type").(string), } err := c.CreateGoldenImage(testGoldenImage) assert.NoError(t, err, "CreateGoldenImage error -> %s", err) err = c.CreateGoldenImage(testGoldenImage) assert.Error(t, err, "CreateGoldenImage should error because the GoldenImage already exists, err-> %s", err) } else { log.Warnf("The goldenImage already exist, so skipping CreateGoldenImage test for %s", testName) } // reload the test profile that we just created testGoldenImage, err = c.GetGoldenImageByName(testName) assert.NoError(t, err, "GetGoldenImage error -> %s", err) } }