public async Task Connect_Exception() { var host = "MyHost"; var token = "MyToken"; var exceptionmessage = "This is an exception"; var client = new HC2Client(_nativeMqttClient.Object, host, token); _nativeMqttClient.Setup(d => d.Connect(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new Exception(exceptionmessage)); Exception ex = null; try { var response = await client.Connect(new MessageObserver(e => {})); } catch (Exception e) { ex = e; } Assert.IsNotNull(ex); Assert.AreEqual(exceptionmessage, ex.Message); _nativeMqttClient.Verify(d => d.Connect(host, token, It.IsAny <CancellationToken>()), Times.Once); }
public void Initialize() { _nativeMqttClient = new Mock <INativeMqttClient>(); _nikoResponseObservable = new NikoResponseObservable(); _nativeMqttClient.SetupGet(d => d.ResponseObservable).Returns(_nikoResponseObservable); _nativeMqttClient.SetupGet(d => d.IsConnected).Returns(true); var host = "MyHost"; var token = "MyToken"; _client = new HC2Client(_nativeMqttClient.Object, host, token); }
public void Initialize() { _nativeMqttClient = new Mock <INativeMqttClient>(); _nikoResponseObservable = new NikoResponseObservable(); _nativeMqttClient.SetupGet(d => d.ResponseObservable).Returns(_nikoResponseObservable); _nativeMqttClient.Setup(d => d.Connect(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new ConnectionResult(ConnectResultCode.Success)); _nativeMqttClient.Setup(d => d.Subscribe()).ReturnsAsync(new SubscribeResult(SubscribeResultCode.Success)); var host = "MyHost"; var token = "MyToken"; _client = new HC2Client(_nativeMqttClient.Object, host, token); }
public async Task Connect_Fail() { var host = "MyHost"; var token = "MyToken"; var client = new HC2Client(_nativeMqttClient.Object, host, token); _nativeMqttClient.Setup(d => d.Connect(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new ConnectionResult(ConnectResultCode.NotAuthorized, "Error"), TimeSpan.FromSeconds(1)); var response = await client.Connect(new MessageObserver(e => {})); response.IsSuccess.Should().BeFalse(); _nativeMqttClient.Verify(d => d.Connect(host, token, It.IsAny <CancellationToken>()), Times.Once); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (string.IsNullOrEmpty(_hostname) || string.IsNullOrEmpty(_token)) { var dialog = new MessageDialog("Token or hostanme not set. Set it in MainPage.cs"); dialog.ShowAsync(); } else { _client = new HC2Client(_hostname, _token); _client.Connect(_messageObserver).ContinueWith( t => { _client.GetDevices(); }); } base.OnNavigatedTo(e); }
public async Task Disconnect_Success() { var eventraised = false; var host = "MyHost"; var token = "MyToken"; var autoresetevent = new AutoResetEvent(false); _nativeMqttClient.Setup(d => d.Disconnect()).Returns(Task.CompletedTask).Raises(d => d.Disconnected += null, EventArgs.Empty); var client = new HC2Client(_nativeMqttClient.Object, host, token); client.Disconnected += (sender, args) => { eventraised = true; autoresetevent.Set(); }; await client.Disconnect(); autoresetevent.WaitOne(TimeSpan.FromSeconds(2)).Should().BeTrue(); eventraised.Should().Be(true); _nativeMqttClient.Verify(d => d.Disconnect(), Times.Once); }