Example #1
0
        public void WithConstraintShouldAddToCurrentConstraints()
        {
            Constraint drivingLicenseConstraint = new SourceConstraintBuilder()
                                                  .WithDrivingLicense()
                                                  .Build();

            Constraint passcardConstraint = new SourceConstraintBuilder()
                                            .WithPasscard()
                                            .Build();

            WantedAttribute wantedAttribute = new WantedAttributeBuilder()
                                              .WithName("attribute_name")
                                              .WithConstraints(new List <Constraint> {
                drivingLicenseConstraint
            })
                                              .WithConstraint(passcardConstraint)
                                              .Build();

            Assert.AreEqual(2, wantedAttribute.Constraints.Count);

            var sourceConstraint1 = (SourceConstraint)wantedAttribute.Constraints.First();

            Assert.AreEqual("DRIVING_LICENCE", sourceConstraint1.PreferredSources.WantedAnchors[0].Name);

            var sourceConstraint2 = (SourceConstraint)wantedAttribute.Constraints.Last();

            Assert.AreEqual("PASS_CARD", sourceConstraint2.PreferredSources.WantedAnchors[0].Name);
        }
Example #2
0
        public void ShouldGenerateWithPasscard()
        {
            Constraint sourceConstraint = new SourceConstraintBuilder()
                                          .WithPasscard()
                                          .Build();

            WantedAttribute wantedAttribute = new WantedAttributeBuilder()
                                              .WithName("attribute_name")
                                              .WithConstraint(sourceConstraint)
                                              .Build();

            var result = (SourceConstraint)wantedAttribute.Constraints.Single();

            Assert.AreEqual("PASS_CARD", result.PreferredSources.WantedAnchors[0].Name);
            Assert.AreEqual("", result.PreferredSources.WantedAnchors[0].SubType);
        }
Example #3
0
        public void BuildsAnAttribute()
        {
            SourceConstraint sourceConstraint = new SourceConstraintBuilder()
                                                .WithDrivingLicense()
                                                .Build();

            WantedAttribute result = new WantedAttributeBuilder()
                                     .WithName(_someName)
                                     .WithDerivation(_someDerivation)
                                     .WithConstraint(sourceConstraint)
                                     .Build();

            Assert.AreEqual(1, result.Constraints.Count);
            Assert.AreEqual(_someName, result.Name);
            Assert.AreEqual(_someDerivation, result.Derivation);
        }
Example #4
0
        public void ShouldGenerateWithAnchor()
        {
            string     wantedAnchorName    = "name";
            string     wantedAnchorSubType = "subType";
            Constraint sourceConstraint    = new SourceConstraintBuilder()
                                             .WithAnchor(new WantedAnchor(wantedAnchorName, wantedAnchorSubType))
                                             .Build();

            WantedAttribute wantedAttribute = new WantedAttributeBuilder()
                                              .WithName("attribute_name")
                                              .WithConstraint(sourceConstraint)
                                              .Build();

            var result = (SourceConstraint)wantedAttribute.Constraints.Single();

            Assert.AreEqual(wantedAnchorName, result.PreferredSources.WantedAnchors.Single().Name);
            Assert.AreEqual(wantedAnchorSubType, result.PreferredSources.WantedAnchors.Single().SubType);
        }
        public void ShouldAddMultipleAttributesWithSameNameAndDifferentConstraints()
        {
            var passportConstraint = new SourceConstraintBuilder()
                                     .WithPassport()
                                     .Build();

            var docImage1 = new WantedAttributeBuilder()
                            .WithName(Yoti.Auth.Constants.UserProfile.DocumentImagesAttribute)
                            .WithConstraint(passportConstraint)
                            .Build();

            var drivingLicenseConstraint = new SourceConstraintBuilder()
                                           .WithDrivingLicense()
                                           .Build();

            var docImage2 = new WantedAttributeBuilder()
                            .WithName(Yoti.Auth.Constants.UserProfile.DocumentImagesAttribute)
                            .WithConstraints(new List <Constraint> {
                drivingLicenseConstraint
            })
                            .Build();

            DynamicPolicy dynamicPolicy = new DynamicPolicyBuilder()
                                          .WithWantedAttribute(docImage1)
                                          .WithWantedAttribute(docImage2)
                                          .Build();

            ICollection <WantedAttribute> result = dynamicPolicy.WantedAttributes;
            var attributeMatcher = new WantedAttributeMatcher(result);

            Assert.AreEqual(2, result.Count);

            Assert.IsTrue(attributeMatcher.ContainsAttribute(UserProfile.DocumentImagesAttribute, null, new List <Constraint> {
                passportConstraint
            }));
            Assert.IsTrue(attributeMatcher.ContainsAttribute(UserProfile.DocumentImagesAttribute, null, new List <Constraint> {
                drivingLicenseConstraint
            }));
        }
Example #6
0
        public void WithConstraintsShouldOverrideCurrentConstraint()
        {
            Constraint drivingLicenseConstraint = new SourceConstraintBuilder()
                                                  .WithDrivingLicense()
                                                  .Build();

            Constraint passcardConstraint = new SourceConstraintBuilder()
                                            .WithPasscard()
                                            .Build();

            WantedAttribute wantedAttribute = new WantedAttributeBuilder()
                                              .WithName("attribute_name")
                                              .WithConstraint(passcardConstraint)
                                              .WithConstraints(new List <Constraint> {
                drivingLicenseConstraint
            })
                                              .Build();

            var result = (SourceConstraint)wantedAttribute.Constraints.Single();

            Assert.AreEqual(1, result.PreferredSources.WantedAnchors.Count);
            Assert.AreEqual("DRIVING_LICENCE", result.PreferredSources.WantedAnchors[0].Name);
        }
Example #7
0
        public void ShouldGenerateTwoSourceConstraints()
        {
            Constraint sourceConstraint = new SourceConstraintBuilder()
                                          .WithPassport()
                                          .WithNationalId("AADHAR")
                                          .WithSoftPreference(true)
                                          .Build();

            WantedAttribute wantedAttribute = new WantedAttributeBuilder()
                                              .WithName("attribute_name")
                                              .WithConstraint(sourceConstraint)
                                              .Build();

            var result = (SourceConstraint)wantedAttribute.Constraints.Single();

            Assert.IsTrue(result.PreferredSources.SoftPreference);
            Assert.AreEqual("SOURCE", result.ConstraintType);

            Assert.AreEqual("PASSPORT", result.PreferredSources.WantedAnchors[0].Name);
            Assert.AreEqual("", result.PreferredSources.WantedAnchors[0].SubType);

            Assert.AreEqual("NATIONAL_ID", result.PreferredSources.WantedAnchors[1].Name);
            Assert.AreEqual("AADHAR", result.PreferredSources.WantedAnchors[1].SubType);
        }