Пример #1
0
        protected void Verify(IVerificationContext context, VerificationResultCode expectedResultCode, VerificationError expectedVerificationError = null)
        {
            VerificationResult verificationResult = Rule.Verify(context);

            Assert.AreEqual(expectedResultCode, verificationResult.ResultCode, "Unexpected verification result code");
            if (expectedResultCode == VerificationResultCode.Fail)
            {
                Assert.AreEqual(expectedVerificationError?.Code, verificationResult.VerificationError.Code, "Unexpected verification error code");
            }
        }
 private void CheckResult(VerificationResult result, VerificationResultCode expectedResultCode, VerificationError excpectedError, uint expectedChildResultCount,
                          Type expectedLastChildResultType)
 {
     Assert.AreEqual(expectedResultCode, result.ResultCode, "Unexpected verification result code.");
     if (expectedResultCode != VerificationResultCode.Ok)
     {
         Assert.AreEqual(excpectedError, result.VerificationError, "Unexpected verification error");
     }
     Assert.AreEqual(expectedChildResultCount, result.ChildResults.Count, "Unexpected child result count.");
     Assert.AreEqual(expectedLastChildResultType.Name, result.ChildResults[result.ChildResults.Count - 1].RuleName, "Unexpected last child result rule.");
 }
        private void Verify(string signaturePath, VerificationResultCode resultCode)
        {
            IKsiSignature signature = TestUtil.GetSignature(signaturePath);

            TestVerificationContext context = new TestVerificationContext()
            {
                Signature                 = signature,
                PublicationsFile          = GetPublicationsFile(signature.AggregationTime, 1439577242, "0115BA5EB48C064B198A09D37E8C022C281C1CA1E36216EA43E811DF51A7268013"),
                ExtendedCalendarHashChain = signature.CalendarHashChain
            };

            Verify(context, resultCode);
        }
Пример #4
0
        /// <summary>
        ///     Get next rule based on verification result.
        /// </summary>
        /// <param name="resultCode">verification result</param>
        /// <returns>next verification rule</returns>
        public VerificationRule NextRule(VerificationResultCode resultCode)
        {
            switch (resultCode)
            {
            case VerificationResultCode.Ok:
                return(_onSuccess);

            case VerificationResultCode.Fail:
                return(_onFailure);

            case VerificationResultCode.Na:
                return(_onNa);

            default:
                return(null);
            }
        }
Пример #5
0
        protected void CreateSignatureAndVerify(string signaturePath, DataHash documentHash, VerificationResultCode expectedResultCode,
                                                VerificationError expectedVerificationError = null)
        {
            TestVerificationContext context = new TestVerificationContext()
            {
                Signature    = TestUtil.GetSignature(signaturePath),
                DocumentHash = documentHash
            };

            Verify(context, expectedResultCode, expectedVerificationError);
        }
Пример #6
0
 protected void CreateSignatureAndVerify(string signaturePath, VerificationResultCode expectedResultCode, VerificationError expectedVerificationError = null)
 {
     CreateSignatureAndVerify(signaturePath, null, expectedResultCode, expectedVerificationError);
 }
 /// <summary>
 ///     Create new verification result instance.
 /// </summary>
 /// <param name="ruleName">verification rule name</param>
 /// <param name="resultCode">verification result code</param>
 /// <param name="error">verification error</param>
 public VerificationResult(string ruleName, VerificationResultCode resultCode, VerificationError error)
 {
     ResultCode        = resultCode;
     RuleName          = ruleName;
     VerificationError = error;
 }
 /// <summary>
 ///     Create new verification result instance.
 /// </summary>
 /// <param name="ruleName">verification rule name</param>
 /// <param name="resultCode">verification result code</param>
 public VerificationResult(string ruleName, VerificationResultCode resultCode) : this(ruleName, resultCode, null)
 {
 }