Ejemplo n.º 1
0
func makeAppWithRoute(appName string) models.Application {
	application := models.Application{}
	application.Name = appName
	application.Guid = "app-guid"

	domain := models.DomainFields{}
	domain.Name = "example.com"

	route := models.RouteSummary{Host: "foo", Domain: domain}
	secondRoute := models.RouteSummary{Host: appName, Domain: domain}

	application.State = "started"
	application.InstanceCount = 2
	application.RunningInstances = 2
	application.Memory = 256
	application.Routes = []models.RouteSummary{route, secondRoute}

	return application
}
Ejemplo n.º 2
0
		reqFactory := &testreq.FakeReqFactory{Application: app}
		ui := callStop(args, reqFactory, appRepo)

		testassert.SliceContains(ui.Outputs, testassert.Lines{
			{"Stopping", "my-app"},
			{"FAILED"},
			{"Error updating app."},
		})
		Expect(appRepo.UpdateAppGuid).To(Equal("my-app-guid"))
	})
	It("TestStopApplicationIsAlreadyStopped", func() {

		app := models.Application{}
		app.Name = "my-app"
		app.Guid = "my-app-guid"
		app.State = "stopped"
		appRepo := &testapi.FakeApplicationRepository{ReadApp: app}
		args := []string{"my-app"}
		reqFactory := &testreq.FakeReqFactory{Application: app}
		ui := callStop(args, reqFactory, appRepo)

		testassert.SliceContains(ui.Outputs, testassert.Lines{
			{"my-app", "is already stopped"},
		})
		Expect(appRepo.UpdateAppGuid).To(Equal(""))
	})
	It("TestApplicationStopReturnsUpdatedApp", func() {

		appToStop := models.Application{}
		appToStop.Name = "my-app"
		appToStop.Guid = "my-app-guid"
Ejemplo n.º 3
0
		route2.Domain = domain2

		app1Routes := []models.RouteSummary{route1, route2}

		domain3 := models.DomainFields{}
		domain3.Name = "cfapps.io"

		route3 := models.RouteSummary{}
		route3.Host = "app2"
		route3.Domain = domain3

		app2Routes := []models.RouteSummary{route3}

		app := models.Application{}
		app.Name = "Application-1"
		app.State = "started"
		app.RunningInstances = 1
		app.InstanceCount = 1
		app.Memory = 512
		app.DiskQuota = 1024
		app.Routes = app1Routes

		app2 := models.Application{}
		app2.Name = "Application-2"
		app2.State = "started"
		app2.RunningInstances = 1
		app2.InstanceCount = 2
		app2.Memory = 256
		app2.DiskQuota = 1024
		app2.Routes = app2Routes
Ejemplo n.º 4
0
			Expect(updatedAppEnvVars["FOO"]).To(Equal("baz"))
			Expect(updatedAppEnvVars["foo"]).To(Equal("manchu"))
			Expect(updatedAppEnvVars["PATH"]).To(Equal("/u/apps/my-app/bin"))
		})

		It("stops the app, achieving a full-downtime deploy!", func() {
			appRepo.UpdateAppResult = existingApp

			callPush("existing-app")

			Expect(stopper.AppToStop.Guid).To(Equal(existingApp.Guid))
			Expect(appBitsRepo.UploadedAppGuid).To(Equal(existingApp.Guid))
		})

		It("does not stop the app when it is already stopped", func() {
			existingApp.State = "stopped"
			appRepo.ReadReturns.App = existingApp
			appRepo.UpdateAppResult = existingApp

			callPush("existing-app")

			Expect(stopper.AppToStop.Guid).To(Equal(""))
		})

		It("updates the app", func() {
			existingRoute := models.RouteSummary{}
			existingRoute.Host = "existing-app"

			existingApp.Routes = []models.RouteSummary{existingRoute}
			appRepo.ReadReturns.App = existingApp
			appRepo.UpdateAppResult = existingApp
Ejemplo n.º 5
0
		testassert.SliceContains(ui.Outputs, testassert.Lines{
			{"my-app"},
			{"FAILED"},
			{"Error updating app."},
		})
		Expect(appRepo.UpdateAppGuid).To(Equal("my-app-guid"))
	})

	It("TestStartApplicationIsAlreadyStarted", func() {
		displayApp := &testcmd.FakeAppDisplayer{}
		config := testconfig.NewRepository()
		app := models.Application{}
		app.Name = "my-app"
		app.Guid = "my-app-guid"
		app.State = "started"
		appRepo := &testapi.FakeApplicationRepository{ReadApp: app}
		appInstancesRepo := &testapi.FakeAppInstancesRepo{}
		logRepo := &testapi.FakeLogsRepository{}

		reqFactory := &testreq.FakeReqFactory{Application: app}

		args := []string{"my-app"}
		ui := callStart(args, config, reqFactory, displayApp, appRepo, appInstancesRepo, logRepo)

		testassert.SliceContains(ui.Outputs, testassert.Lines{
			{"my-app", "is already started"},
		})

		Expect(appRepo.UpdateAppGuid).To(Equal(""))
	})
Ejemplo n.º 6
0
		route1 := models.RouteSummary{}
		route1.Host = "my-app"

		domain := models.DomainFields{}
		domain.Name = "example.com"
		route1.Domain = domain

		route2 := models.RouteSummary{}
		route2.Host = "foo"
		domain2 := models.DomainFields{}
		domain2.Name = "example.com"
		route2.Domain = domain2

		application := models.Application{}
		application.State = "started"
		application.InstanceCount = 2
		application.RunningInstances = 2
		application.Memory = 256
		application.Routes = []models.RouteSummary{route1, route2}

		time1, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Jan 2 15:04:05 -0700 MST 2012")
		Expect(err).NotTo(HaveOccurred())

		time2, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Apr 1 15:04:05 -0700 MST 2012")
		Expect(err).NotTo(HaveOccurred())

		appInstance := models.AppInstanceFields{}
		appInstance.State = models.InstanceRunning
		appInstance.Since = time1
		appInstance.CpuUsage = 1.0
Ejemplo n.º 7
0
				{"state", "started"},
				{"instances", "2/2"},
				{"usage", "256M x 2 instances"},
				{"urls", "my-app.example.com", "foo.example.com"},
				{"#0", "running", "2012-01-02 03:04:05 PM", "100.0%", "13 of 64M", "32M of 1G"},
				{"#1", "down", "2012-04-01 03:04:05 PM", "0%", "0 of 0", "0 of 0"},
			})
		})
	})

	Describe("when the app is not running", func() {
		BeforeEach(func() {
			application := models.Application{}
			application.Name = "my-app"
			application.Guid = "my-app-guid"
			application.State = "stopped"
			application.InstanceCount = 2
			application.RunningInstances = 0
			application.Memory = 256

			appSummaryRepo.GetSummarySummary = application
			requirementsFactory.Application = application
		})

		It("displays nice output when the app is stopped", func() {
			appSummaryRepo.GetSummaryErrorCode = errors.APP_STOPPED
			runCommand("my-app")

			Expect(appSummaryRepo.GetSummaryAppGuid).To(Equal("my-app-guid"))
			Expect(appInstancesRepo.GetInstancesAppGuid).To(Equal("my-app-guid"))