It("returns the event", func() { event, err := eventSource.Next() Expect(err).NotTo(HaveOccurred()) desiredLRPCreateEvent, ok := event.(*models.DesiredLRPCreatedEvent) Expect(ok).To(BeTrue()) Expect(desiredLRPCreateEvent).To(Equal(expectedEvent)) }) }) Context("when receiving a DesiredLRPChangedEvent", func() { var expectedEvent *models.DesiredLRPChangedEvent BeforeEach(func() { expectedEvent = models.NewDesiredLRPChangedEvent(desiredLRP, desiredLRP) payload, err := proto.Marshal(expectedEvent) Expect(err).NotTo(HaveOccurred()) payload = []byte(base64.StdEncoding.EncodeToString(payload)) fakeRawEventSource.NextReturns( sse.Event{ ID: "hi", Name: string(expectedEvent.EventType()), Data: payload, }, nil, ) }) It("returns the event", func() {
changedDesiredLRP = &models.DesiredLRP{ Action: models.WrapAction(&models.RunAction{ User: "******", Path: "ls", }), Domain: "tests", ProcessGuid: expectedProcessGuid, LogGuid: logGuid, Routes: &routes, ModificationTag: &models.ModificationTag{Epoch: "abcd", Index: 1}, } }) JustBeforeEach(func() { nextEvent.Store(EventHolder{models.NewDesiredLRPChangedEvent( originalDesiredLRP, changedDesiredLRP, )}) }) It("should set the routes on the table", func() { Eventually(table.SetRoutesCallCount).Should(Equal(1)) key, routes := table.SetRoutesArgsForCall(0) Expect(key).To(Equal(expectedRoutingKey)) Expect(routes).To(Equal(routing_table.Routes{Hostnames: expectedRoutes, LogGuid: logGuid})) }) It("sends a 'routes registered' metric", func() { Eventually(func() uint64 { return fakeMetricSender.GetCounter("RoutesRegistered") }).Should(BeEquivalentTo(2)) })