public void Test_To_Transport_Works() { var expected = new TransportDomain.FactorsPolicy( new List <string>() { "KNOWLEDGE", "POSSESSION", "INHERENCE" }, false, false, new List <TransportDomain.IFence>() ); var factorsPolicy = new FactorsPolicy( null, true, true, true, false, false ); TransportDomain.FactorsPolicy actual = (TransportDomain.FactorsPolicy)factorsPolicy.ToTransport(); Assert.IsInstanceOfType(actual, typeof(TransportDomain.FactorsPolicy)); Assert.AreEqual(expected.DenyEmulatorSimulator, actual.DenyEmulatorSimulator); Assert.AreEqual(expected.DenyRootedJailbroken, actual.DenyRootedJailbroken); Assert.AreEqual(expected.Factors.Count, actual.Factors.Count); CollectionAssert.AreEquivalent(expected.Factors, actual.Factors); CollectionAssert.AreEquivalent(expected.Fences, actual.Fences); }
public void Test_Deny_Attributes_Can_Be_Null_For_Nested_Policies() { FactorsPolicy factorsPolicy = new FactorsPolicy(null, true, true, true, null, null); Assert.IsNull(factorsPolicy.DenyEmulatorSimulator); Assert.IsNull(factorsPolicy.DenyRootedJailbroken); }
public void Test_Constructor() { List <IFence> fences = new List <IFence>() { new TerritoryFence("US") }; FactorsPolicy policy = new FactorsPolicy(fences, true, true, true, true, true); Assert.AreEqual(true, policy.DenyEmulatorSimulator); Assert.AreEqual(true, policy.DenyRootedJailbroken); Assert.AreEqual(true, policy.RequireInherenceFactor); Assert.AreEqual(true, policy.RequireKnowledgeFactor); Assert.AreEqual(true, policy.RequirePossessionFactor); Assert.AreEqual(1, policy.Fences.Count); Assert.AreEqual("US", (policy.Fences[0] as TerritoryFence)?.Country); }
public void WhenISetTheOutsidePolicyFactorsTo(string factors) { FactorsPolicy currentPolicy = ((_directoryClientContext.LoadedAdvancedServicePolicy as ConditionalGeoFencePolicy).Outside as FactorsPolicy); bool requireKnowledge = factors.ToLower().Contains("knowledge"); bool requirePossession = factors.ToLower().Contains("possession"); bool requireInherence = factors.ToLower().Contains("inherence"); FactorsPolicy newPolicy = new FactorsPolicy( fences: currentPolicy.Fences, requireKnowledgeFactor: requireKnowledge, requirePossessionFactor: requirePossession, requireInherenceFactor: requireInherence, denyRootedJailbroken: currentPolicy.DenyRootedJailbroken, denyEmulatorSimulator: currentPolicy.DenyEmulatorSimulator ); _directoryClientContext.SetOutsideConditionalGeofencePolicy(newPolicy); }
public void Serialization_FactorsPolicy() { var json = "{" + "\"type\": \"FACTORS\"," + "\"deny_emulator_simulator\": false," + "\"deny_rooted_jailbroken\": false," + "\"factors\": [\"POSSESSION\"], " + "\"fences\": [ " + "{" + "\"name\": \"LV-89102\"," + "\"type\": \"TERRITORY\"," + "\"country\": \"US\", " + "\"postal_code\": \"89012\" " + "}," + "{" + "\"name\": \"Point A\", " + "\"type\": \"GEO_CIRCLE\", " + "\"latitude\": 123.45, " + "\"longitude\": -25.45," + "\"radius\": 105 " + "}," + "]" + "}"; var expected = new FactorsPolicy( factors: new List <string>() { "POSSESSION" }, denyEmulatorSimulator: false, denyRootedJailbroken: false, fences: new List <IFence>() { new TerritoryFence(country: "US", name: "LV-89102", administrativeArea: null, postalCode: "89012"), new GeoCircleFence(latitude: 123.45, name: "Point A", longitude: -25.45, radius: 105), } ); var actual = new JsonNetJsonEncoder().DecodeObject <FactorsPolicy>(json); actual.ShouldCompare(expected); }
public void WhenISetTheOutsidePolicyToANewFactorsPolicy() { FactorsPolicy insidePolicy = new FactorsPolicy(null, true); _directoryClientContext.SetOutsideConditionalGeofencePolicy(insidePolicy); }
public void Serialization_ConditionalGeofence_Works() { var json = "{" + "\"type\": \"COND_GEO\"," + "\"deny_emulator_simulator\": false," + "\"deny_rooted_jailbroken\": false," + "\"fences\": [" + "{" + "\"country\": \"CA\"," + "\"type\": \"TERRITORY\"," + "\"name\": \"Ontario\"," + "\"administrative_area\": \"CA-ON\"" + "}" + "]," + "\"inside\": {" + "\"fences\": []," + "\"type\": \"FACTORS\"," + "\"factors\": [" + "\"POSSESSION\"" + "]" + "}," + "\"outside\": {" + "\"fences\": []," + "\"amount\": 1," + "\"type\": \"METHOD_AMOUNT\"" + "}}"; FactorsPolicy factorsPolicy = new FactorsPolicy( factors: new List <string>() { "POSSESSION" }, denyEmulatorSimulator: null, denyRootedJailbroken: null, fences: new List <IFence>() ); MethodAmountPolicy methodAmountPolicy = new MethodAmountPolicy( fences: new List <IFence>(), denyEmulatorSimulator: null, denyRootedJailbroken: null, amount: 1 ); var expected = new ConditionalGeoFencePolicy( denyRootedJailbroken: false, denyEmulatorSimulator: false, fences: new List <IFence>() { new TerritoryFence(name: "Ontario", country: "CA", administrativeArea: "CA-ON") }, inside: factorsPolicy, outside: methodAmountPolicy); var actual = new JsonNetJsonEncoder().DecodeObject <ConditionalGeoFencePolicy>(json); actual.ShouldCompare(expected); FactorsPolicy inside = (FactorsPolicy)actual.Inside; MethodAmountPolicy outside = (MethodAmountPolicy)actual.Outside; Assert.IsNull(inside.DenyEmulatorSimulator); Assert.IsNull(inside.DenyRootedJailbroken); Assert.IsNull(outside.DenyEmulatorSimulator); Assert.IsNull(outside.DenyRootedJailbroken); }