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); }
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); }
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); }
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); }
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); }