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); }
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); }
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); }
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 })); }
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); }
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); }