requestBody = &models.DesiredLRPByProcessGuidRequest{ ProcessGuid: processGuid, } }) JustBeforeEach(func() { request := newTestRequest(requestBody) handler.DesiredLRPByProcessGuid(logger, responseRecorder, request) }) Context("when reading desired lrp from DB succeeds", func() { var desiredLRP *models.DesiredLRP BeforeEach(func() { desiredLRP = &models.DesiredLRP{ProcessGuid: processGuid} fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil) }) It("fetches desired lrp by process guid", func() { Expect(fakeDesiredLRPDB.DesiredLRPByProcessGuidCallCount()).To(Equal(1)) _, actualProcessGuid := fakeDesiredLRPDB.DesiredLRPByProcessGuidArgsForCall(0) Expect(actualProcessGuid).To(Equal(processGuid)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := models.DesiredLRPResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) Expect(response.DesiredLrp).To(Equal(desiredLRP)) })
requestBody = &models.DesiredLRPByProcessGuidRequest{ ProcessGuid: processGuid, } }) JustBeforeEach(func() { request := newTestRequest(requestBody) handler.DesiredLRPByProcessGuid_r0(logger, responseRecorder, request) }) Context("when reading desired lrp from DB succeeds", func() { var desiredLRP *models.DesiredLRP BeforeEach(func() { desiredLRP = &models.DesiredLRP{ProcessGuid: processGuid} fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil) }) It("fetches desired lrp by process guid", func() { Expect(fakeDesiredLRPDB.DesiredLRPByProcessGuidCallCount()).To(Equal(1)) _, actualProcessGuid := fakeDesiredLRPDB.DesiredLRPByProcessGuidArgsForCall(0) Expect(actualProcessGuid).To(Equal(processGuid)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := models.DesiredLRPResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) Expect(response.DesiredLrp).To(Equal(desiredLRP)) })
handler.CrashActualLRP(logger, responseRecorder, request) }) Context("when crashing the actual lrp in the DB succeeds", func() { var desiredLRP *models.DesiredLRP BeforeEach(func() { desiredLRP = &models.DesiredLRP{ ProcessGuid: "process-guid", Domain: "some-domain", RootFs: "some-stack", MemoryMb: 128, DiskMb: 512, } fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil) fakeActualLRPDB.CrashActualLRPReturns(&models.ActualLRPGroup{Instance: &actualLRP}, &models.ActualLRPGroup{Instance: &afterActualLRP}, true, nil) }) It("response with no error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.ActualLRPLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) }) It("crashes the actual lrp by process guid and index", func() { Expect(fakeActualLRPDB.CrashActualLRPCallCount()).To(Equal(1)) _, actualKey, actualInstanceKey, actualErrorMessage := fakeActualLRPDB.CrashActualLRPArgsForCall(0)
}) }) }) Describe("EvacuateClaimedActualLRP", func() { var ( request *http.Request requestBody *models.EvacuateClaimedActualLRPRequest actual *models.ActualLRP afterActual *models.ActualLRP desiredLRP *models.DesiredLRP ) BeforeEach(func() { desiredLRP = model_helpers.NewValidDesiredLRP("the-guid") fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil) actual = model_helpers.NewValidActualLRP("process-guid", 1) requestBody = &models.EvacuateClaimedActualLRPRequest{ ActualLrpKey: &actual.ActualLRPKey, ActualLrpInstanceKey: &actual.ActualLRPInstanceKey, } afterActual = model_helpers.NewValidActualLRP("process-guid", 1) afterActual.State = models.ActualLRPStateUnclaimed fakeActualLRPDB.ActualLRPGroupByProcessGuidAndIndexReturns(&models.ActualLRPGroup{Evacuating: actual}, nil) fakeActualLRPDB.UnclaimActualLRPReturns(&models.ActualLRPGroup{Instance: actual}, &models.ActualLRPGroup{Instance: afterActual}, nil) request = newTestRequest(requestBody) }) JustBeforeEach(func() {