Esempio n. 1
0
			Expect(fakeCipher.DecodeStrings[0]).To(Equal("SOMECMD :some.server\r\n"))
		})

		Context("with recipients", func() {
			var (
				msg   *message.Message
				msgCh chan *message.Message
			)
			BeforeEach(func() {
				msgCh = make(chan *message.Message)
				forwarder.MsgChs["SOMECMD"] = []chan *message.Message{msgCh}
				msg = &message.Message{
					Command: "SOMECMD",
					Params:  "some.server",
				}
				fakeCipher.DecodeMessages = []*message.Message{msg, msg}
			})

			It("sends the decoded message on each of the appropriate channels", func() {
				rdStrCh <- ""
				forwarder.StartForwarding(fakeReader, fakeCipher)
				Eventually(msgCh).Should(Receive(Equal(msg)))
			})

			It("works with multiple recipients", func() {
				secondCh := make(chan *message.Message)
				forwarder.MsgChs["SOMECMD"] = append(forwarder.MsgChs["SOMECMD"], secondCh)
				rdStrCh <- ""
				forwarder.StartForwarding(fakeReader, fakeCipher)

				Eventually(msgCh).Should(Receive(Equal(msg)))