func TestDisplayingAppSummary(t *testing.T) { reqApp := cf.Application{} reqApp.Name = "my-app" reqApp.Guid = "my-app-guid" route1 := cf.RouteSummary{} route1.Host = "my-app" domain := cf.DomainFields{} domain.Name = "example.com" route1.Domain = domain route2 := cf.RouteSummary{} route2.Host = "foo" domain2 := cf.DomainFields{} domain2.Name = "example.com" route2.Domain = domain2 appSummary := cf.AppSummary{} appSummary.State = "started" appSummary.InstanceCount = 2 appSummary.RunningInstances = 2 appSummary.Memory = 256 appSummary.RouteSummaries = []cf.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") assert.NoError(t, err) time2, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Apr 1 15:04:05 -0700 MST 2012") assert.NoError(t, err) appInstance := cf.AppInstanceFields{} appInstance.State = cf.InstanceRunning appInstance.Since = time1 appInstance.CpuUsage = 1.0 appInstance.DiskQuota = 1 * formatters.GIGABYTE appInstance.DiskUsage = 32 * formatters.MEGABYTE appInstance.MemQuota = 64 * formatters.MEGABYTE appInstance.MemUsage = 13 * formatters.BYTE appInstance2 := cf.AppInstanceFields{} appInstance2.State = cf.InstanceDown appInstance2.Since = time2 instances := []cf.AppInstanceFields{appInstance, appInstance2} appSummaryRepo := &testapi.FakeAppSummaryRepo{GetSummarySummary: appSummary} appInstancesRepo := &testapi.FakeAppInstancesRepo{GetInstancesResponses: [][]cf.AppInstanceFields{instances}} reqFactory := &testreq.FakeReqFactory{LoginSuccess: true, TargetedSpaceSuccess: true, Application: reqApp} ui := callApp(t, []string{"my-app"}, reqFactory, appSummaryRepo, appInstancesRepo) assert.Equal(t, appSummaryRepo.GetSummaryAppGuid, "my-app-guid") testassert.SliceContains(t, ui.Outputs, testassert.Lines{ {"Showing health and status", "my-app"}, {"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"}, }) }