Ejemplo n.º 1
0
        public async Task EventShouldCallCorrectFunction()
        {
            // ARRANGE
            await InitializeFakeDaemon().ConfigureAwait(false);


            dynamic helloWorldDataObject = GetDynamicDataObject(HelloWorldData);

            DefaultHassClientMock.AddCustomEvent("CUSTOM_EVENT", helloWorldDataObject);

            var isCalled = false;
            var message  = "";

            // ACT
            DefaultDaemonApp.ListenEvent("CUSTOM_EVENT", (ev, data) =>
            {
                isCalled = true;
                message  = data.Test;
                return(Task.CompletedTask);
            });

            await RunFakeDaemonUntilTimeout().ConfigureAwait(false);

            // ASSERT
            Assert.True(isCalled);
            Assert.Equal(HelloWorldData, message);
        }
Ejemplo n.º 2
0
        public async Task NewEventMissingDataAttributeShouldReturnNull()
        {
            // ARRANGE
            await InitializeFakeDaemon().ConfigureAwait(false);

            string?missingAttribute = "has initial value";

            // ACT
            DefaultDaemonRxApp.EventChanges
            .Subscribe(s =>
            {
                missingAttribute = s.Data?.missing_data;
            });

            var     expandoObj   = new ExpandoObject();
            dynamic dynExpObject = expandoObj;

            dynExpObject.a_parameter = "hello";

            DefaultHassClientMock.AddCustomEvent("AN_EVENT", dynExpObject);

            await RunFakeDaemonUntilTimeout().ConfigureAwait(false);


            // ASSERT
            Assert.Null(missingAttribute);
        }
Ejemplo n.º 3
0
        public async Task NewEventShouldCallFunction()
        {
            // ARRANGE
            await InitializeFakeDaemon().ConfigureAwait(false);

            var called = false;

            // ACT
            DefaultDaemonRxApp.EventChanges
            .Subscribe(_ => called = true);

            DefaultHassClientMock.AddCustomEvent("AN_EVENT", new { somedata = "hello" });

            await RunFakeDaemonUntilTimeout().ConfigureAwait(false);

            // ASSERT
            Assert.True(called);
        }
Ejemplo n.º 4
0
        public async Task OtherEventShouldNotCallCorrectFunction()
        {
            // ARRANGE
            dynamic dataObject = GetDynamicDataObject();

            DefaultHassClientMock.AddCustomEvent("CUSTOM_EVENT", dataObject);

            var isCalled = false;

            // ACT
            DefaultDaemonHost.ListenEvent("OTHER_EVENT", (ev, data) =>
            {
                isCalled = true;
                return(Task.CompletedTask);
            });

            await RunDefauldDaemonUntilCanceled();

            // ASSERT
            Assert.False(isCalled);
        }
Ejemplo n.º 5
0
        public async Task OtherEventShouldNotCallCorrectFunction()
        {
            // ARRANGE
            await InitializeFakeDaemon().ConfigureAwait(false);

            dynamic dataObject = GetDynamicDataObject();

            DefaultHassClientMock.AddCustomEvent("CUSTOM_EVENT", dataObject);

            var isCalled = false;

            // ACT
            DefaultDaemonApp.ListenEvent("OTHER_EVENT", (ev, data) =>
            {
                isCalled = true;
                return(Task.CompletedTask);
            });

            await RunFakeDaemonUntilTimeout().ConfigureAwait(false);

            // ASSERT
            Assert.False(isCalled);
        }