Example #1
0
			BeforeEach(func() {
				localIp, _ = localip.LocalIP()
				conf = config.Config{
					JobName: "doppler_z1",
					Index:   0,
					EtcdMaxConcurrentRequests: 10,
					EtcdUrls:                  []string{"test:123", "test:456"},
					Zone:                      "z1",
					DropsondeIncomingMessagesPort: 1234,
				}
			})

			It("sends a heartbeat to etcd", func() {
				main.StartHeartbeats(localIp, time.Second, &conf, adapter, loggertesthelper.Logger())
				Expect(adapter.GetMaintainedNodeName()).To(Equal("/healthstatus/doppler/z1/doppler_z1/0"))

				Expect(adapter.MaintainedNodeValue).To(Equal([]byte(localIp)))
			})

			Context("when there is an error", func() {
				It("panics", func() {
					adapter.MaintainNodeError = errors.New("error")
					Expect(func() { main.StartHeartbeats(localIp, time.Second, &conf, adapter, loggertesthelper.Logger()) }).To(Panic())
				})
			})
		})

		Context("without a valid ETCD config", func() {
			It("does not send a heartbeat", func() {
				conf := config.Config{
Example #2
0
			Expect(func() {
				announcer.Announce(localIP, time.Second, &conf, adapter, loggertesthelper.Logger())
			}).To(Panic())
		})

		Context("when tls transport is enabled", func() {
			It("has udp and tcp value", func() {
				dopplerMeta := fmt.Sprintf(`{"version": 1, "ip": "%s", "transports":[{"protocol":"udp","port":1234},{"protocol":"tls","port":4567}]}`, localIP)

				conf.EnableTLSTransport = true
				conf.TLSListenerConfig = config.TLSListenerConfig{
					Port: 4567,
				}
				announcer.Announce(localIP, time.Second, &conf, adapter, loggertesthelper.Logger())

				Expect(adapter.GetMaintainedNodeName()).To(Equal(dopplerKey))
				Expect(adapter.MaintainedNodeValue).To(MatchJSON(dopplerMeta))
			})
		})

		Context("when tls transport is disabled", func() {
			It("has only udp value", func() {
				dopplerMeta := fmt.Sprintf(`{"version": 1, "ip":"%s","transports":[{"protocol":"udp","port":1234}]}`, localIP)

				conf.EnableTLSTransport = false
				announcer.Announce(localIP, time.Second, &conf, adapter, loggertesthelper.Logger())

				Expect(adapter.GetMaintainedNodeName()).To(Equal(dopplerKey))
				Expect(adapter.MaintainedNodeValue).To(MatchJSON(dopplerMeta))
			})
		})