Exemple #1
0
        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
                                                                 )
                                                             );
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #7
0
        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
                                                                 )
                                                             );
        }
Exemple #8
0
        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);
        }
Exemple #11
0
        public void WhenISetTheInsidePolicyToANewMethodAmountPolicy()
        {
            MethodAmountPolicy insidePolicy = new MethodAmountPolicy(null, 0);

            _orgClientContext.SetInsideConditionalGeofencePolicy(insidePolicy);
        }