예제 #1
0
			appInfos := []app_examiner.AppInfo{
				{
					Annotation: "",
				},
				{
					Annotation: "junk",
				},
				{
					Annotation: `{
						"droplet_source": {
							"droplet_name": "other-drippy"
						}
					}`,
				},
			}
			fakeAppExaminer.ListAppsReturns(appInfos, nil)

			Expect(dropletRunner.RemoveDroplet("drippy")).To(Succeed())

			Expect(fakeBlobStore.ListCallCount()).To(Equal(1))

			Expect(fakeBlobStore.DeleteCallCount()).To(Equal(3))
			Expect(fakeBlobStore.DeleteArgsForCall(0)).To(Equal("drippy/bits.zip"))
			Expect(fakeBlobStore.DeleteArgsForCall(1)).To(Equal("drippy/droplet.tgz"))
			Expect(fakeBlobStore.DeleteArgsForCall(2)).To(Equal("drippy/result.json"))

		})

		It("returns an error when querying the blob store fails", func() {
			fakeBlobStore.ListReturns(nil, errors.New("some error"))
					Routes: route_helpers.Routes{
						AppRoutes: route_helpers.AppRoutes{
							{Hostnames: []string{"allthetime.com", "herewego.org"}, Port: 1234},
						},
					},
				},
				{
					ProcessGuid:            "process4",
					DesiredInstances:       0,
					ActualRunningInstances: 0,
					DiskMB:                 10,
					MemoryMB:               10,
					Routes:                 route_helpers.Routes{},
				},
			}
			fakeAppExaminer.ListAppsReturns(listApps, nil)
			listTasks := []task_examiner.TaskInfo{
				{
					TaskGuid:      "task-guid-1",
					CellID:        "cell-01",
					Failed:        false,
					FailureReason: "",
					Result:        "Finished",
					State:         "COMPLETED",
				},
				{
					TaskGuid:      "task-guid-2",
					CellID:        "cell-02",
					Failed:        true,
					FailureReason: "No compatible container",
					Result:        "Finished",