コード例 #1
0
        public async Task GenerateEncryptedFile(string key, string path)
        {
            // Arrange
            // https://github.com/jbogard/MediatR/issues/526#issue-645312126
            IRequestHandler <EncryptFiles> sut = new EncryptFilesHandler(_console, _loggerMock.Object);
            var inputFile     = new FileInfo(Path.Combine(_tempDirectory.FullName, path));
            var encryptedFile = new FileInfo($"{inputFile.FullName}.aes");

            // Act
            await sut.Handle(new EncryptFiles
            {
                Source          = inputFile,
                Target          = null,
                Key             = key,
                EncryptToBase64 = true,
                ForceOverwrite  = true
            }, default);

            encryptedFile.Refresh();

            // Assert
            Assert.True(encryptedFile.Exists, $"Could not find expected file '{encryptedFile.FullName}'.");
            var content = await File.ReadAllTextAsync(encryptedFile.FullName);

            Assert.True(IsBase64String(content), "File content is not a Base64-encoded string.");
        }
コード例 #2
0
        public async Task HandlerEncryptsDirectory(string key)
        {
            // Arrange
            // https://github.com/jbogard/MediatR/issues/526#issue-645312126
            IRequestHandler <EncryptFiles> handler = new EncryptFilesHandler(_console, _loggerMock.Object);

            // Act
            await handler.Handle(new EncryptFiles
            {
                Source          = _tempDirectory,
                Target          = _targetDirectory,
                Key             = key,
                EncryptToBase64 = true,
                ForceOverwrite  = true
            }, default);

            _targetDirectory.Refresh();

            // Assert
            Assert.NotEmpty(_targetDirectory.GetFiles());
        }