public async Task WhenAllTestAreTcpConnectionFailedShouldReturnOneError() { EvaluatorResult expectedResult = EvaluatorResult.INCONCLUSIVE; string expectedMessage = "We were unable to create a TLS connection with this server. This could be because the server does not support TLS " + "or because Mail Check servers have been blocked. We will keep trying to test TLS with this server, so please check back later or get in touch " + "if you think there's a problem."; var mxHostTlsResults = new TlsTestResults("abc.def.gov.uk", false, false, new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), new BouncyCastleTlsTestResult(TlsError.TCP_CONNECTION_FAILED, "", null), null); IMxSecurityEvaluator mxSecurityEvaluator = A.Fake <IMxSecurityEvaluator>(); ILogger <EvaluationProcessor> log = A.Fake <ILogger <EvaluationProcessor> >(); IEvaluationProcessor processor = new EvaluationProcessor(mxSecurityEvaluator, log); TlsResultsEvaluated results = await processor.Process(mxHostTlsResults); Assert.AreEqual(expectedResult, results.TlsRecords.Tls12AvailableWithBestCipherSuiteSelected.TlsEvaluatedResult.Result.Value); Assert.AreEqual(expectedMessage, results.TlsRecords.Tls12AvailableWithBestCipherSuiteSelected.TlsEvaluatedResult.Description); }
public static EvaluatorOutputViewModel FromModel(EvaluatorResult model) { return(new EvaluatorOutputViewModel() { IsSuccessful = model.IsSuccessful, Result = model.Result, Diagnostics = model.Diagnostics?.Select(DiagnosticsEntryViewModel.FromModel).ToArray() }); }
private MessageType GetMessageType(EvaluatorResult tlsEvaluatedResult) { switch (tlsEvaluatedResult) { case EvaluatorResult.FAIL: return(MessageType.error); case EvaluatorResult.WARNING: return(MessageType.warning); case EvaluatorResult.INCONCLUSIVE: case EvaluatorResult.INFORMATIONAL: return(MessageType.info); } throw new InvalidOperationException("unsupported result type"); }
public async Task Test(TlsError?tlsError, EvaluatorResult expectedEvaluatorResult, string expectedDescription) { Tls10Available tls10Available = new Tls10Available(); BouncyCastleTlsTestResult tlsConnectionResult = new BouncyCastleTlsTestResult(null, null, null, null, tlsError, null, new List <string>()); TlsTestResults connectionTestResults = TlsTestDataUtil.CreateMxHostTlsResults( TlsTestType.Tls10AvailableWithBestCipherSuiteSelected, tlsConnectionResult); List <RuleTypedTlsEvaluationResult> ruleTypedTlsEvaluationResults = await tls10Available.Evaluate(connectionTestResults); Assert.That(ruleTypedTlsEvaluationResults.Count, Is.EqualTo(1)); Assert.That(ruleTypedTlsEvaluationResults[0].TlsEvaluatedResult.Result, Is.EqualTo(expectedEvaluatorResult)); StringAssert.StartsWith(expectedDescription, ruleTypedTlsEvaluationResults[0].TlsEvaluatedResult.Description); }
private Status MapStatus(EvaluatorResult result) { switch (result) { case EvaluatorResult.PASS: return(Status.Success); case EvaluatorResult.WARNING: return(Status.Warning); case EvaluatorResult.FAIL: return(Status.Error); case EvaluatorResult.INCONCLUSIVE: return(Status.None); case EvaluatorResult.PENDING: return(Status.Pending); default: throw new ArgumentOutOfRangeException(nameof(result), result, null); } }
public EvaluateCompletedEventArgs(EvaluatorResult result, Exception error, bool cancelled, object userState) : base(error, cancelled, userState) { this.result = result; }
public EvaluateCompletedEventArgs(EvaluatorResult result, Exception error, bool cancelled, object userState) : base(error, cancelled, userState) { this.result = result; }