Exemplo n.º 1
0
					fakeLegacyBBS.ActualLRPGroupByProcessGuidAndIndexReturns(
						oldmodels.ActualLRPGroup{Instance: &oldActualLRP2, Evacuating: nil},
						nil,
					)
				})

				It("calls the BBS to retrieve the actual LRPs", func() {
					Expect(fakeLegacyBBS.ActualLRPGroupByProcessGuidAndIndexCallCount()).To(Equal(1))
					_, processGuid, index := fakeLegacyBBS.ActualLRPGroupByProcessGuidAndIndexArgsForCall(0)
					Expect(processGuid).To(Equal("process-guid-1"))
					Expect(index).To(Equal(0))
				})

				It("calls the BBS to request stop LRP instances", func() {
					Expect(fakeLegacyBBS.RetireActualLRPsCallCount()).To(Equal(1))
					_, oldActualLRPKeys := fakeLegacyBBS.RetireActualLRPsArgsForCall(0)
					Expect(oldActualLRPKeys).To(ConsistOf(oldActualLRP2.ActualLRPKey))
				})

				It("responds with 204 Status NO CONTENT", func() {
					Expect(responseRecorder.Code).To(Equal(http.StatusNoContent))
				})

				Context("when the LRP group contains an evacuating", func() {
					BeforeEach(func() {
						fakeLegacyBBS.ActualLRPGroupByProcessGuidAndIndexReturns(
							oldmodels.ActualLRPGroup{Instance: &oldActualLRP2, Evacuating: &oldEvacuatingLRP2},
							nil,
						)
					})
					fakeBBS.ActualLRPGroupByProcessGuidAndIndexReturns(
						models.ActualLRPGroup{Instance: &actualLRP2, Evacuating: nil},
						nil,
					)
				})

				It("calls the BBS to retrieve the actual LRPs", func() {
					Expect(fakeBBS.ActualLRPGroupByProcessGuidAndIndexCallCount()).To(Equal(1))
					_, processGuid, index := fakeBBS.ActualLRPGroupByProcessGuidAndIndexArgsForCall(0)
					Expect(processGuid).To(Equal("process-guid-1"))
					Expect(index).To(Equal(0))
				})

				It("calls the BBS to request stop LRP instances", func() {
					Expect(fakeBBS.RetireActualLRPsCallCount()).To(Equal(1))
					_, actualLRPKeys := fakeBBS.RetireActualLRPsArgsForCall(0)
					Expect(actualLRPKeys).To(ConsistOf(actualLRP2.ActualLRPKey))
				})

				It("responds with 204 Status NO CONTENT", func() {
					Expect(responseRecorder.Code).To(Equal(http.StatusNoContent))
				})

				Context("when the LRP group contains an evacuating", func() {
					BeforeEach(func() {
						fakeBBS.ActualLRPGroupByProcessGuidAndIndexReturns(
							models.ActualLRPGroup{Instance: &actualLRP2, Evacuating: &evacuatingLRP2},
							nil,
						)
					})