func TestCreateDeploymentPlan(t *testing.T) {
	var (
		d        *I3STest
		c        *i3s.I3SClient
		testName string
	)
	if os.Getenv("I3S_TEST_ACCEPTANCE") == "true" {
		d, c = getTestDriverA("test_deployment_plan")
		if c == nil {
			t.Fatalf("Failed to execute getTestDriver() ")
		}
		// find out if the test deployment plan already exist
		testName = d.Tc.GetTestData(d.Env, "Name").(string)

		testDeploymentPlan, err := c.GetDeploymentPlanByName(testName)
		assert.NoError(t, err, "CreateDeploymentPlan get the DeploymentPlan error -> %s", err)

		if testDeploymentPlan.URI.IsNil() {
			testDeploymentPlan = i3s.DeploymentPlan{
				Name: testName,
				Type: d.Tc.GetTestData(d.Env, "Type").(string),
			}
			err := c.CreateDeploymentPlan(testDeploymentPlan)
			assert.NoError(t, err, "CreateDeploymentPlan error -> %s", err)

			err = c.CreateDeploymentPlan(testDeploymentPlan)
			assert.Error(t, err, "CreateDeploymentPlan should error because the DeploymentPlan already exists, err-> %s", err)

		} else {
			log.Warnf("The deploymentPlan already exist, so skipping CreateDeploymentPlan test for %s", testName)
		}

		// reload the test profile that we just created
		testDeploymentPlan, err = c.GetDeploymentPlanByName(testName)
		assert.NoError(t, err, "GetDeplymentPlan error -> %s", err)
	}
}