public void Given_TwoDifferentEncAlgos_When_NotRequestedToBeEncrypted_Then_ExceptionNotThrown() { // Arrange Mock <IDatLoader <DatFromFileLoaderOptions> > datLoaderMock; var plainTextEntryWorkflowBuilderMock = new Mock <IDecryptPlainTextEntryWorkflowBuilder>(MockBehavior.Strict); var rsaEntryWorkflowBuilderMock = new Mock <IDecryptRsaEntryWorkflowBuilder>(MockBehavior.Strict); var aesEntryWorkflowBuilderMock = new Mock <IDecryptAesEntryWorkflowBuilder>(MockBehavior.Strict); aesEntryWorkflowBuilderMock.Setup( b => b.WithDatLoader(It.IsAny <IDatLoader <DatFromFileLoaderOptions> >())) .Returns(aesEntryWorkflowBuilderMock.Object); aesEntryWorkflowBuilderMock.Setup( b => b.Run(It.IsAny <DecryptEntryWorkflowOptions>())) .Returns(new List <EntriesDecrypterResult <AesKey> >()); var options = TwoDifferentAlgosExceptionTestSetup(out datLoaderMock); options.CategoryEntryPair.RemoveAt(0); // Act var workflow = new DecryptGenericWorkflow(datLoaderMock.Object, plainTextEntryWorkflowBuilderMock.Object, rsaEntryWorkflowBuilderMock.Object, aesEntryWorkflowBuilderMock.Object); Action act = () => workflow.Run(options); // Assert act.ShouldNotThrow <EnvCryptException>(); }
public void Given_PlainTextDecryptionRequest_When_Run_Then_PlainTextWorkflowCalled() { // Arrange Mock <IDatLoader <DatFromFileLoaderOptions> > datLoaderMock; var rsaEntryWorkflowBuilderMock = new Mock <IDecryptRsaEntryWorkflowBuilder>(MockBehavior.Strict); var aesEntryWorkflowBuilderMock = new Mock <IDecryptAesEntryWorkflowBuilder>(MockBehavior.Strict); var plainTextEntryWorkflowBuilderMock = new Mock <IDecryptPlainTextEntryWorkflowBuilder>(MockBehavior.Strict); plainTextEntryWorkflowBuilderMock.Setup( b => b.WithDatLoader(It.IsAny <IDatLoader <DatFromFileLoaderOptions> >())) .Returns(plainTextEntryWorkflowBuilderMock.Object); plainTextEntryWorkflowBuilderMock.Setup( b => b.Build()) .Returns(plainTextEntryWorkflowBuilderMock.Object); plainTextEntryWorkflowBuilderMock.Setup( b => b.Run(It.IsAny <DecryptPlainTextEntryWorkflowOptions>())) .Returns(new List <EntriesDecrypterResult <PlainTextKey> >()); var options = TwoDifferentAlgosExceptionTestSetup(out datLoaderMock); options.CategoryEntryPair = options.CategoryEntryPair.Where(p => p.Category == "dev").ToList(); // Act var workflow = new DecryptGenericWorkflow(datLoaderMock.Object, plainTextEntryWorkflowBuilderMock.Object, rsaEntryWorkflowBuilderMock.Object, aesEntryWorkflowBuilderMock.Object); var res = workflow.Run(options); // Assert plainTextEntryWorkflowBuilderMock.Verify( b => b.Run(It.IsAny <DecryptPlainTextEntryWorkflowOptions>()), Times.Once); }
public void Given_TwoDifferentEncAlgosRequestedToBeDecrypted_When_Run_Then_ExceptionThrown() { // Arrange Mock <IDatLoader <DatFromFileLoaderOptions> > datLoaderMock; var plainTextEntryWorkflowBuilderMock = new Mock <IDecryptPlainTextEntryWorkflowBuilder>(MockBehavior.Strict); var rsaEntryWorkflowBuilderMock = new Mock <IDecryptRsaEntryWorkflowBuilder>(MockBehavior.Strict); var aesEntryWorkflowBuilderMock = new Mock <IDecryptAesEntryWorkflowBuilder>(MockBehavior.Strict); var options = TwoDifferentAlgosExceptionTestSetup(out datLoaderMock); // Act var workflow = new DecryptGenericWorkflow(datLoaderMock.Object, plainTextEntryWorkflowBuilderMock.Object, rsaEntryWorkflowBuilderMock.Object, aesEntryWorkflowBuilderMock.Object); Action act = () => workflow.Run(options); // Assert act.ShouldThrow <EnvCryptException>(); }