public void MiHomeRequest_ProvidedID_Update() { var device = new MiDevice("192.168.0.119", "aabbcc"); device._deviceId = new byte[] { 0x00, 0x11, 0x22, 0x33 }; device._serverTimestamp = new Protocol.ServerTimestamp(91); var request = new MiHomeRequest(device._miToken, device._deviceId, device._serverTimestamp, device.NetworkOptions, new { method = "app_start", id = "hello" }); // This should not affect the ID when it was provided in the original payload request.RequestId++; var json = request.CreateJson(); var jobj = JObject.Parse(json); Assert.AreEqual(2, jobj.Children().Count()); Assert.IsNotNull(jobj.SelectToken("$.method")); Assert.AreEqual("app_start", (jobj.SelectToken("$.method") as JValue).Value); Assert.AreEqual("hello", (jobj.SelectToken("$.id") as JValue).Value); }
public void StartCleaning() { if (!string.IsNullOrEmpty(_ip)) { using (var device = new MiDevice(_ip, _token)) { var response = device.Send("app_start"); } } }
public void Test_GetStatus() { if (!string.IsNullOrEmpty(_ip)) { using (var device = new MiDevice(_ip, _token)) { var response = device.Send("get_status"); // in cleaning 3 == spot cleaning? // in cleaning 2 == ✔ zone // in cleaning 1 == ✔ general } } }
public void Test_CleanZone() { if (!string.IsNullOrEmpty(_ip)) { using (var device = new MiDevice(_ip, _token)) { var response = device.Send("app_zoned_clean", new int[] { 20047, 24303, 24097, 25853, 1 }); var resultStrings = response.As <List <string> >(); Assert.IsNotNull(resultStrings); Assert.AreEqual(1, resultStrings.Count); Assert.AreEqual("ok", resultStrings.First()); } } }
public void MiHomeRequest_RequestID() { var device = new MiDevice("192.168.0.119", "aabbcc"); device._deviceId = new byte[] { 0x00, 0x11, 0x22, 0x33 }; device._serverTimestamp = new Protocol.ServerTimestamp(91); var request = new MiHomeRequest(device._miToken, device._deviceId, device._serverTimestamp, device.NetworkOptions, new { method = "app_start" }); var json = request.CreateJson(); var jobj = JObject.Parse(json); Assert.AreEqual(2, jobj.Children().Count()); Assert.IsNotNull(jobj.SelectToken("$.method")); Assert.AreEqual("app_start", (jobj.SelectToken("$.method") as JValue).Value); Assert.AreEqual((Int64)0, (jobj.SelectToken("$.id") as JValue).Value); }
public void MiToken_EmptyToken_Exception() { var x = new MiDevice("127.0.0.1", ""); }
public void MiToken_NonHexValues_Exception() { var x = new MiDevice("127.0.0.1", "hello there"); }