public void testDisapprove() { var state = new WaitForApproveState(); var ctx = new ProtocolContext(null, null, state) { device_id = "dd", device_name = "na" }; string sentData = null; ctx.SendFunc = (t) => { sentData = t; }; CloseStatusCode code = CloseStatusCode.NORMAL; string reason = null; ctx.StopFunc = (code1, reason1) => { code = code1; reason = reason1; }; state.handleDisapprove(ctx); var o = JObject.Parse(sentData); Assert.AreEqual("denied", o["action"]); Assert.AreEqual("user rejected", o["reason"]); Assert.IsTrue(ctx.GetState() is UnconnectedState); Assert.AreEqual(CloseStatusCode.POLICY_VIOLATION, code); Assert.AreEqual("User rejected", reason); }
public void testApprove() { var util = new Mock <IConnectMsgHandlerUtil>(); util.Setup(x => x.GetServerId()).Returns("server_id1").Verifiable(); util.Setup(x => x.GetPhotoFolder()).Returns(@"c:\folder1\").Verifiable(); util.Setup(x => x.GetFreeSpace(It.IsAny <string>())).Returns(123456).Verifiable(); util.Setup(x => x.GetUniqueDeviceFolder("na")).Returns("ggyyUnique_dev_name").Verifiable(); util.Setup(x => x.Save(It.Is <Device>( (d) => d.device_id == "dd" && d.device_name == "na" && d.folder_name == "ggyyUnique_dev_name" ))).Callback <Device>((dev) => { }).Verifiable(); var storage = new Mock <IFileStorage>(); storage.Setup(x => x.setDeviceName("ggyyUnique_dev_name")).Verifiable(); var state = new WaitForApproveState(); var ctx = new ProtocolContext(null, storage.Object, state) { device_id = "dd", device_name = "na" }; string sentData = null; ctx.SendFunc = (t) => { sentData = t; }; state.Util = util.Object; state.handleApprove(ctx); var o = JObject.Parse(sentData); Assert.AreEqual("accept", o["action"]); Assert.AreEqual("server_id1", o["server_id"]); Assert.AreEqual(@"c:\folder1\", o["backup_folder"]); Assert.AreEqual(123456L, o["backup_folder_free_space"]); Assert.IsTrue(ctx.GetState() is TransmitInitState); Assert.AreEqual("ggyyUnique_dev_name", ctx.device_folder_name); storage.VerifyAll(); util.VerifyAll(); }