resultsChan := make(chan storeadapter.WatchEvent, 1)
					storeNode := storeadapter.StoreNode{Value: []byte("valuable-string")}
					resultsChan <- storeadapter.WatchEvent{Type: storeadapter.UpdateEvent, Node: &storeNode}
					database.WatchRouteChangesReturns(resultsChan, nil, nil)
				})

				It("emits events from changes in the db", func() {
					reader := sse.NewReadCloser(response.Body)

					event, err := reader.Next()
					Expect(err).NotTo(HaveOccurred())

					expectedEvent := sse.Event{ID: "0", Name: "Upsert", Data: []byte("valuable-string")}

					Expect(event).To(Equal(expectedEvent))
					filterString := database.WatchRouteChangesArgsForCall(0)
					Expect(filterString).To(Equal(db.HTTP_ROUTE_BASE_KEY))
				})

				It("sets the content-type to text/event-stream", func() {
					Expect(response.Header.Get("Content-Type")).Should(Equal("text/event-stream; charset=utf-8"))
					Expect(response.Header.Get("Cache-Control")).Should(Equal("no-cache, no-store, must-revalidate"))
					Expect(response.Header.Get("Connection")).Should(Equal("keep-alive"))
				})

				Context("when the event is Invalid", func() {
					BeforeEach(func() {
						resultsChan := make(chan storeadapter.WatchEvent, 1)
						resultsChan <- storeadapter.WatchEvent{Type: storeadapter.InvalidEvent}
						database.WatchRouteChangesReturns(resultsChan, nil, nil)
					})