private void ReadFileButton_Click(object sender, EventArgs e) { var fileReaderBuilder = FileReaderBuilder.UseFilePath(filePathTextBox.Text); if (decryptFileCheckBox.Checked) { fileReaderBuilder.UseDecryptor(new ReverseContentsDecryptor()); } if (checkRoleCheckBox.Checked) { fileReaderBuilder.UseRoleChecker(new BasicRoleChecker(userRoleComboBox.Text)); } try { fileContentsTextBox.Text = fileReaderBuilder.ReadFile(); } catch (ArgumentNullException ex) { ShowErrorMessage(ex.Message); } catch (ArgumentException ex) { ShowErrorMessage(ex.Message); } catch (UnauthorizedAccessException ex) { ShowErrorMessage(ex.Message); } }
protected void setUpFileReaders() { fileReaders = new IFileReader[numberOfFiles]; readAccessStatistics = new IStatistics[numberOfFiles]; for (var i = 0; i < numberOfFiles; i++) { var reader = new FileReaderBuilder() .SetFileBase(fileBases[i]) .Build(); fileReaders[i] = reader; readAccessStatistics[i] = (FileReader)reader; } }
public async Task Read_SecuredXmlFileAsReceptionist_ShouldReturnUnauthorizedMsg() { // Arrange var dir = TestHelper.GetFilesDirectory(); var path = Path.Combine(dir, "regulartextfile.xml"); var sut = new FileReaderBuilder(path) .Init(FileType.Xml) .UseAuthorization(new ReadAuthorization(UserRole.Receptionist)) .Build(); const string expectedFileContent = "Unauthorized request."; // Act var fileContent = await sut.ReadAsync(); // Assert Assert.Equal(expectedFileContent, fileContent); }
public async Task Read_RegularJsonFile_ShouldReturnFileContent() { // Arrange var dir = TestHelper.GetFilesDirectory(); var path = Path.Combine(dir, "regularjsonfile.json"); var sut = new FileReaderBuilder(path) .Init(FileType.Json) .Build(); const string expectedFileContent = "{\r\n\t\"customers\": [\r\n\t\t{\r\n\t\t\t\"name\": \"Customer 1\",\r\n\t\t\t\"address\": {\r\n\t\t\t\t\"street\": \"Hello street\",\r\n\t\t\t\t\"houseNr\": \"87\",\r\n\t\t\t\t\"box\": \"4b\",\r\n\t\t\t\t\"zipCode\": \"1000\",\r\n\t\t\t\t\"city\": \"Brussels\"\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"name\": \"Customer 2\",\r\n\t\t\t\"address\": {\r\n\t\t\t\t\"street\": \"Morning street\",\r\n\t\t\t\t\"houseNr\": \"5\",\r\n\t\t\t\t\"box\": \"10\",\r\n\t\t\t\t\"zipCode\": \"9900\",\r\n\t\t\t\t\"city\": \"Gent\"\r\n\t\t\t}\r\n\t\t}\r\n\t]\r\n}"; // Act var fileContent = await sut.ReadAsync(); // Assert Assert.Equal(expectedFileContent, fileContent); }
public async Task Read_SecuredAndEncryptedTextFileAsAdmin_ShouldReturnDecryptedFileContent() { // Arrange var dir = TestHelper.GetFilesDirectory(); var path = Path.Combine(dir, "encryptedtextfile.txt"); var sut = new FileReaderBuilder(path) .Init(FileType.Text) .UseEncryption(new ReverseEncryption()) .UseAuthorization(new ReadAuthorization(UserRole.Admin)) .Build(); const string expectedFileContent = "Hello there!\r\nThis is an encrypted text file.\r\n\r\n\r\n"; // Act var fileContent = await sut.ReadAsync(); // Assert Assert.Equal(expectedFileContent, fileContent); }