func TestSetEnvWhenItAlreadyExists(t *testing.T) { app := cf.Application{} app.Name = "my-app" app.Guid = "my-app-guid" app.EnvironmentVars = map[string]string{"DATABASE_URL": "mysql://example.com/my-db"} reqFactory := &testreq.FakeReqFactory{Application: app, LoginSuccess: true, TargetedSpaceSuccess: true} appRepo := &testapi.FakeApplicationRepository{} args := []string{"my-app", "DATABASE_URL", "mysql://example2.com/my-db"} ui := callSetEnv(t, args, reqFactory, appRepo) assert.Equal(t, len(ui.Outputs), 3) testassert.SliceContains(t, ui.Outputs, testassert.Lines{ { "Setting env variable", "DATABASE_URL", "mysql://example2.com/my-db", "my-app", "my-org", "my-space", "my-user", }, {"OK"}, {"TIP"}, }) assert.Equal(t, reqFactory.ApplicationName, "my-app") assert.Equal(t, appRepo.UpdateAppGuid, app.Guid) envParams := appRepo.UpdateParams.Get("env").(generic.Map) assert.Equal(t, envParams.Get("DATABASE_URL").(string), "mysql://example2.com/my-db") }
func TestUnsetEnvWhenUnsettingTheEnvFails(t *testing.T) { app := cf.Application{} app.Name = "my-app" app.Guid = "my-app-guid" app.EnvironmentVars = map[string]string{"DATABASE_URL": "mysql://example.com/my-db"} reqFactory := &testreq.FakeReqFactory{Application: app, LoginSuccess: true, TargetedSpaceSuccess: true} appRepo := &testapi.FakeApplicationRepository{ ReadApp: app, UpdateErr: true, } args := []string{"does-not-exist", "DATABASE_URL"} ui := callUnsetEnv(t, args, reqFactory, appRepo) testassert.SliceContains(t, ui.Outputs, testassert.Lines{ {"Removing env variable"}, {"FAILED"}, {"Error updating app."}, }) }