public async Task ClaimDeviceAsyncTest() { using (var cloud = new ParticleCloudMock()) { cloud.RequestCallBack = (t, m, p) => { return(new RequestResponse { StatusCode = HttpStatusCode.NotFound, Response = JToken.Parse(@" { ok: false, errors: ['device does not exist'] }") }); }; var ex = Assert.Throws <ArgumentNullException>(() => { cloud.ClaimDeviceAsync(null).GetAwaiter().GetResult(); }); Assert.AreEqual("deviceId", ex.ParamName); var result = await cloud.ClaimDeviceAsync("123"); Assert.IsNotNull(result); Assert.IsFalse(result.Success); Assert.AreEqual("device does not exist", result.Error); cloud.RequestCallBack = (t, m, p) => { return(new RequestResponse { StatusCode = HttpStatusCode.NotFound, Response = JToken.Parse(@" { 'user_id': '111111111111111111111111', 'id': '222222222222222222222222', 'connected': true, 'ok': true }") }); }; result = await cloud.ClaimDeviceAsync("222222222222222222222222"); Assert.IsNotNull(result); Assert.IsTrue(result.Success); } }
public async Task ClaimDeviceAsyncHttpRequestExceptionTest() { using (var cloud = new ParticleCloudMock()) { var ex = new HttpRequestException("Text HttpClient Request Exception"); cloud.RequestCallBack = (t, m, p) => { throw ex; //return new RequestResponse(); }; var result = await cloud.ClaimDeviceAsync("123"); Assert.IsNotNull(result); Assert.IsFalse(result.Success); Assert.AreEqual(ex.Message, result.Error); Assert.AreEqual(ex, result.Exception); } }
public async Task ClaimDeviceAsyncTest() { using (var cloud = new ParticleCloudMock()) { cloud.RequestCallBack = (t, m, p) => { return new RequestResponse { StatusCode = HttpStatusCode.NotFound, Response = JToken.Parse(@" { ok: false, errors: ['device does not exist'] }") }; }; var ex = Assert.Throws<ArgumentNullException>(() => { cloud.ClaimDeviceAsync(null).GetAwaiter().GetResult(); }); Assert.AreEqual("deviceId", ex.ParamName); var result = await cloud.ClaimDeviceAsync("123"); Assert.IsNotNull(result); Assert.IsFalse(result.Success); Assert.AreEqual("device does not exist", result.Error); cloud.RequestCallBack = (t, m, p) => { return new RequestResponse { StatusCode = HttpStatusCode.NotFound, Response = JToken.Parse(@" { 'user_id': '111111111111111111111111', 'id': '222222222222222222222222', 'connected': true, 'ok': true }") }; }; result = await cloud.ClaimDeviceAsync("222222222222222222222222"); Assert.IsNotNull(result); Assert.IsTrue(result.Success); } }