public async Task GetVariableValueAsyncHttpRequestExceptionTest() { using (ParticleCloudMock cloud = new ParticleCloudMock()) { var ex = new HttpRequestException("Unable to resolve"); cloud.RequestCallBack = (a, b, c) => { throw ex; }; var p = new ParticleDeviceMock(cloud, JObject.Parse("{'id':'3', 'name': 'test', 'variables':{'temp':'int'}}")); Assert.IsNotNull(p); var vv = await p.GetVariableValueAsync("Test"); Assert.IsNotNull(vv); Assert.IsFalse(vv.Success); Assert.AreEqual(ex.Message, vv.Error); Assert.AreEqual(ex, vv.Exception); } }
public async Task GetVariableValueAsyncHttpRequestExceptionTest() { using (ParticleCloudMock cloud = new ParticleCloudMock()) { var ex = new HttpRequestException("Unable to resolve"); cloud.RequestCallBack = (a, b, c) => { throw ex; }; var p = new ParticleDeviceMock(cloud, JObject.Parse("{'id':'3', 'name': 'test', 'variables':{'temp':'int'}}")); Assert.IsNotNull(p); var vv = await p.GetVariableValueAsync("Test"); Assert.IsNotNull(vv); Assert.IsFalse(vv.Success); Assert.AreEqual(ex.Message, vv.Error); Assert.AreEqual(ex, vv.Exception); } }
public async Task GetVariableValueAsyncTest() { ParticleCloudMock cloud = new ParticleCloudMock(); cloud.RequestCallBack = (a, b, c) => { Assert.AreEqual("GET", a); Assert.AreEqual("devices/3/temp", b); return new RequestResponse { StatusCode = System.Net.HttpStatusCode.OK, Response = JToken.Parse(@"{'name': 'temp', 'result': 300, 'coreInfo': { 'name': 'weatherman', 'deviceID': '0123456789abcdef01234567', 'connected': true, 'last_handshake_at': '2015-07-17T22:28:40.907Z', 'last_app': '' }}") }; }; var p = new ParticleDeviceMock(cloud, JObject.Parse("{'id':'3', 'name': 'test', 'variables':{'temp':'int'}}")); var ex = Assert.Throws<ArgumentNullException>(() => { p.GetVariableValueAsync((String)null).GetAwaiter().GetResult(); }); Assert.AreEqual("variable", ex.ParamName); ex = Assert.Throws<ArgumentNullException>(() => { p.GetVariableValueAsync((Variable)null).GetAwaiter().GetResult(); }); Assert.AreEqual("variable", ex.ParamName); var results = await p.GetVariableValueAsync("temp"); Assert.IsTrue(results.Success); Assert.IsNotNull(results.Data); var variable = results.Data; Assert.AreEqual("temp", variable.Name); Assert.AreEqual("300", variable.Value); cloud.RequestCallBack = (a, b, c) => { Assert.AreEqual("GET", a); Assert.AreEqual("devices/3/temp", b); return new RequestResponse { StatusCode = System.Net.HttpStatusCode.OK, Response = JToken.Parse(@"{'name': 'temp', 'result': 23, 'coreInfo': { 'name': 'weatherman', 'deviceID': '0123456789abcdef01234567', 'connected': true, 'last_handshake_at': '2015-07-17T22:28:40.907Z', 'last_app': '' }}") }; }; results = await p.GetVariableValueAsync(variable); Assert.IsTrue(results.Success); Assert.IsNotNull(results.Data); variable = results.Data; Assert.AreEqual("temp", variable.Name); Assert.AreEqual("23", variable.Value); }
public async Task GetVariableValueAsyncTest() { ParticleCloudMock cloud = new ParticleCloudMock(); cloud.RequestCallBack = (a, b, c) => { Assert.AreEqual("GET", a); Assert.AreEqual("devices/3/temp", b); return(new RequestResponse { StatusCode = System.Net.HttpStatusCode.OK, Response = JToken.Parse(@"{'name': 'temp', 'result': 300, 'coreInfo': { 'name': 'weatherman', 'deviceID': '0123456789abcdef01234567', 'connected': true, 'last_handshake_at': '2015-07-17T22:28:40.907Z', 'last_app': '' }}" ) }); }; var p = new ParticleDeviceMock(cloud, JObject.Parse("{'id':'3', 'name': 'test', 'variables':{'temp':'int'}}")); var ex = Assert.Throws <ArgumentNullException>(() => { p.GetVariableValueAsync((String)null).GetAwaiter().GetResult(); }); Assert.AreEqual("variable", ex.ParamName); ex = Assert.Throws <ArgumentNullException>(() => { p.GetVariableValueAsync((Variable)null).GetAwaiter().GetResult(); }); Assert.AreEqual("variable", ex.ParamName); var results = await p.GetVariableValueAsync("temp"); Assert.IsTrue(results.Success); Assert.IsNotNull(results.Data); var variable = results.Data; Assert.AreEqual("temp", variable.Name); Assert.AreEqual("300", variable.Value); cloud.RequestCallBack = (a, b, c) => { Assert.AreEqual("GET", a); Assert.AreEqual("devices/3/temp", b); return(new RequestResponse { StatusCode = System.Net.HttpStatusCode.OK, Response = JToken.Parse(@"{'name': 'temp', 'result': 23, 'coreInfo': { 'name': 'weatherman', 'deviceID': '0123456789abcdef01234567', 'connected': true, 'last_handshake_at': '2015-07-17T22:28:40.907Z', 'last_app': '' }}" ) }); }; results = await p.GetVariableValueAsync(variable); Assert.IsTrue(results.Success); Assert.IsNotNull(results.Data); variable = results.Data; Assert.AreEqual("temp", variable.Name); Assert.AreEqual("23", variable.Value); }