public RmqSubscriptions(RmqBus bus)
        {
            _bus = bus;
            // in-memory-consul-cache-refresh is raised on consul refersh
            //it's registered on local channel .
            var applicationBus = new InstanceEventBus();

            applicationBus.Register("in-memory-consul-cache-refresh", this);
            applicationBus.Register(KeyStore.ConnectionRefereshEvent, this);
        }
        public void EventExecutionVerification_OnSuccessfulCompletionOfCahceRefresh()
        {
            var localBus = new InstanceEventBus();

            localBus.Register("in-memory-consul-cache-refresh", new MockCacheRefreshObserver());
            var eventData = new ApplicationEvent
            {
                Id        = Guid.NewGuid().ToString(),
                Name      = "test event",
                TimeStamp = DateTime.Now
            };

            var configStoreMock           = new Mock <IConfigurationStore>();
            var sensitiveDataProviderMock = new Mock <ISensitiveDataProvider>();

            var dataSet = new Dictionary <string, string>();

            dataSet.Add("key", "value");
            configStoreMock.Setup(cs => cs.GetAllAsync()).ReturnsAsync(dataSet);

            var eventHandler = new ConfigurationUpdateEventHandler(configStoreMock.Object, localBus, sensitiveDataProviderMock.Object);

            var configUpdateObserver = new ConfigurationObserver(eventHandler);

            configUpdateObserver.Process(eventData);

            Thread.Sleep(5000);
            Assert.Equal(1, MockCacheRefreshObserver.Count);


            configUpdateObserver.Process(eventData);

            Thread.Sleep(5000);

            Assert.Equal(2, MockCacheRefreshObserver.Count);
        }