public void TestOutsideNestedFencesCantBeSet() { List <IFence> fences = new List <IFence>() { DEFAULT_GEOCIRCLE_FENCE, DEFAULT_TERRITORY_FENCE }; MethodAmountPolicy invalidMethodPolicy = new MethodAmountPolicy( amount: 1, denyEmulatorSimulator: false, denyRootedJailbroken: true, fences: fences ); Assert.ThrowsException <InvalidPolicyAttributes>(() => new ConditionalGeoFencePolicy( inside: DEFAULT_FACTORS_POLICY, outside: invalidMethodPolicy, fences: null, denyEmulatorSimulator: false, denyRootedJailbroken: false ) ); }
public void Test_Deny_Attributes_Can_Be_Null_For_Nested_Policies() { MethodAmountPolicy factorsPolicy = new MethodAmountPolicy(null, 2, null, null); Assert.IsNull(factorsPolicy.DenyEmulatorSimulator); Assert.IsNull(factorsPolicy.DenyRootedJailbroken); }
public void WhenISetTheOutsidePolicyAmountTo(int amount) { MethodAmountPolicy currentPolicy = ((_directoryClientContext.LoadedAdvancedServicePolicy as ConditionalGeoFencePolicy).Outside as MethodAmountPolicy); MethodAmountPolicy newPolicy = new MethodAmountPolicy( fences: currentPolicy.Fences, amount: amount, denyRootedJailbroken: currentPolicy.DenyRootedJailbroken, denyEmulatorSimulator: currentPolicy.DenyEmulatorSimulator ); _directoryClientContext.SetOutsideConditionalGeofencePolicy(newPolicy); }
public void Test_Constructor() { List <IFence> fences = new List <IFence>() { new TerritoryFence("US") }; MethodAmountPolicy policy = new MethodAmountPolicy(fences, 1, true, true); Assert.AreEqual(true, policy.DenyEmulatorSimulator); Assert.AreEqual(true, policy.DenyRootedJailbroken); Assert.AreEqual(1, policy.Amount); Assert.AreEqual(1, policy.Fences.Count); Assert.AreEqual("US", (policy.Fences[0] as TerritoryFence)?.Country); }
public void CreateConditionaGeofence() { MethodAmountPolicy defaultPolicy = new MethodAmountPolicy(null, 0, false, false); List <IFence> fences = new List <IFence>() { new TerritoryFence("US") }; _loadedAdvancedServicePolicy = new ConditionalGeoFencePolicy( inside: defaultPolicy, outside: defaultPolicy, fences: fences, denyRootedJailbroken: false, denyEmulatorSimulator: false ); }
public void Serialization_MethodAmountPolicy() { var json = "{" + "\"type\": \"METHOD_AMOUNT\"," + "\"deny_emulator_simulator\": false," + "\"deny_rooted_jailbroken\": false," + "\"amount\": 1, " + "\"fences\": [ " + "{" + "\"name\": \"LV-89102\"," + "\"type\": \"TERRITORY\"," + "\"country\": \"US\", " + "\"postal_code\": \"89012\" " + "}," + "{" + "\"name\": \"California\", " + "\"type\": \"TERRITORY\", " + "\"country\": \"US\", " + "\"administrative_area\": \"US-CA\"," + "\"postal_code\": \"92535\" " + "}," + "{" + "\"name\": \"Ontario\", " + "\"type\": \"TERRITORY\"," + "\"country\": \"CA\", " + "\"administrative_area\": \"CA-ON\"" + "}" + "]" + "}"; var expected = new MethodAmountPolicy( amount: 1, denyEmulatorSimulator: false, denyRootedJailbroken: false, fences: new List <IFence>() { new TerritoryFence(country: "US", name: "LV-89102", administrativeArea: null, postalCode: "89012"), new TerritoryFence(country: "US", name: "California", administrativeArea: "US-CA", postalCode: "92535"), new TerritoryFence(country: "CA", name: "Ontario", administrativeArea: "CA-ON", postalCode: null) } ); var actual = new JsonNetJsonEncoder().DecodeObject <MethodAmountPolicy>(json); actual.ShouldCompare(expected); }
public void TestNestedDenyRootedJailbrokenCantBeTrue() { MethodAmountPolicy invalidMethodPolicy = new MethodAmountPolicy( amount: 1, denyEmulatorSimulator: false, denyRootedJailbroken: true, fences: null ); Assert.ThrowsException <InvalidPolicyAttributes>(() => new ConditionalGeoFencePolicy( inside: DEFAULT_FACTORS_POLICY, outside: invalidMethodPolicy, fences: null, denyEmulatorSimulator: false, denyRootedJailbroken: false ) ); }
public void Test_Empty_To_Transport_Works() { var expected = new TransportDomain.MethodAmountPolicy( 2, null, null, new List <TransportDomain.IFence>() ); var policy = new MethodAmountPolicy( null, 2, null, null ); TransportDomain.MethodAmountPolicy actual = (TransportDomain.MethodAmountPolicy)policy.ToTransport(); Assert.IsInstanceOfType(actual, typeof(TransportDomain.MethodAmountPolicy)); Assert.AreEqual(expected.DenyEmulatorSimulator, actual.DenyEmulatorSimulator); Assert.AreEqual(expected.DenyRootedJailbroken, actual.DenyRootedJailbroken); Assert.AreEqual(expected.Amount, actual.Amount); CollectionAssert.AreEquivalent(expected.Fences, actual.Fences); }
public void WhenISetTheOutsidePolicyToANewMethodAmountPolicy() { MethodAmountPolicy outsidePolicy = new MethodAmountPolicy(null, 0); _directoryClientContext.SetOutsideConditionalGeofencePolicy(outsidePolicy); }
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); }
public void WhenISetTheInsidePolicyToANewMethodAmountPolicy() { MethodAmountPolicy insidePolicy = new MethodAmountPolicy(null, 0); _orgClientContext.SetInsideConditionalGeofencePolicy(insidePolicy); }