func (c *client) SubscribeToEvents() (events.EventSource, error) { eventSource, err := sse.Connect(c.streamingHTTPClient, time.Second, func() *http.Request { request, err := c.reqGen.CreateRequest(EventStreamRoute, nil, nil) if err != nil { panic(err) // totally shouldn't happen } return request }) if err != nil { return nil, err } return events.NewEventSource(eventSource), nil }
"github.com/cloudfoundry-incubator/bbs/events" "github.com/cloudfoundry-incubator/bbs/events/eventfakes" "github.com/cloudfoundry-incubator/bbs/models" "github.com/gogo/protobuf/proto" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/vito/go-sse/sse" ) var _ = Describe("EventSource", func() { var eventSource events.EventSource var fakeRawEventSource *eventfakes.FakeRawEventSource BeforeEach(func() { fakeRawEventSource = new(eventfakes.FakeRawEventSource) eventSource = events.NewEventSource(fakeRawEventSource) }) Describe("Next", func() { Describe("Desired LRP events", func() { var desiredLRP *models.DesiredLRP BeforeEach(func() { desiredLRP = &models.DesiredLRP{ ProcessGuid: "some-guid", Domain: "some-domain", RootFs: "some-rootfs", Action: models.WrapAction(&models.RunAction{ Path: "true", User: "******", }),