Exemplo n.º 1
0
			fetchFile := buildFetchFile(99, "some-file")
			data, err := proto.Marshal(fetchFile)
			Expect(err).ToNot(HaveOccurred())

			conn.WriteMessage(websocket.BinaryMessage, data)

			Eventually(mockController.fetchFileCh).Should(Receive(Equal("some-file")))

			_, data, err = conn.ReadMessage()
			Expect(err).ToNot(HaveOccurred())

			server := &messages.Server{}
			err = server.Unmarshal(data)
			Expect(err).ToNot(HaveOccurred())
			Expect(server.GetMessageId()).To(BeEquivalentTo(99))
			Expect(server.GetMessageType()).To(Equal(messages.Server_Error))
			Expect(server.Error).ToNot(BeNil())
			Expect(server.FileLocation).To(BeNil())
			Expect(server.Error.GetMessage()).To(Equal("some-error"))
		})

		It("reports the file ID", func(done Done) {
			defer close(done)
			conn, _, err := websocket.DefaultDialer.Dial(wsUrl, nil)
			Expect(err).ToNot(HaveOccurred())

			mockController.fetchFileIdCh <- 8
			mockController.fetchFileErrCh <- nil

			fetchFile := buildFetchFile(99, "some-file")
			data, err := proto.Marshal(fetchFile)