Esempio n. 1
0
		TestWebsocketServer = websocketserver.New(apiEndpoint, sinkManager, 10*time.Second, 100, "dropsonde-origin", logger)

		services.Add(1)
		goRoutineSpawned.Add(1)
		go func() {
			goRoutineSpawned.Done()
			defer services.Done()
			TestWebsocketServer.Start()
		}()

		goRoutineSpawned.Wait()
	})

	AfterEach(func() {
		sinkManager.Stop()
		TestMessageRouter.Stop()
		TestWebsocketServer.Stop()

		services.Wait()
	})

	It("dumps all messages for an app user", func() {
		expectedFirstMessageString := "Some data 1"
		lm := factories.NewLogMessage(events.LogMessage_OUT, expectedFirstMessageString, "myOtherApp", "APP")
		env1, _ := emitter.Wrap(lm, "ORIGIN")

		expectedSecondMessageString := "Some data 2"
		lm = factories.NewLogMessage(events.LogMessage_OUT, expectedSecondMessageString, "myOtherApp", "APP")
		env2, _ := emitter.Wrap(lm, "ORIGIN")

		dataReadChannel <- env1
Esempio n. 2
0
	BeforeEach(func() {
		fakeManager = &fakeSinkManager{receivedMessages: make([]*events.Envelope, 0), receivedDrains: make([][]string, 0)}
		messageRouter = sinkserver.NewMessageRouter(fakeManager, loggertesthelper.Logger())
	})

	Describe("Start", func() {
		Context("with an incoming message", func() {
			var incomingLogChan chan *events.Envelope
			BeforeEach(func() {
				incomingLogChan = make(chan *events.Envelope)
				go messageRouter.Start(incomingLogChan)
			})

			AfterEach(func() {
				messageRouter.Stop()
			})

			It("sends the message to the sink manager if it is an app message", func() {
				message, _ := emitter.Wrap(factories.NewLogMessage(events.LogMessage_OUT, "testMessage", "app", "App"), "origin")
				incomingLogChan <- message
				Eventually(fakeManager.received).Should(HaveLen(1))
				Expect(fakeManager.received()[0].GetLogMessage()).To(Equal(message.GetLogMessage()))
			})
		})
	})

	Describe("Stop", func() {
		It("returns", func() {
			incomingLogChan := make(chan *events.Envelope)
			done := make(chan struct{})