public async Task <ActionResult> DownloadProducerEeeDataCsv(int complianceYear, Guid?schemeId, ObligationType obligationType) { CSVFileData fileData; var request = new GetProducerEeeDataCsv(complianceYear, schemeId, obligationType); using (var client = apiClient()) { fileData = await client.SendAsync(User.GetAccessToken(), request); } var data = new UTF8Encoding().GetBytes(fileData.FileContent); return(File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileData.FileName))); }
public async Task GetProducerEeeDataCsvHandler_ComplianceYear_B2C_ReturnsFileContent() { // Arrange int complianceYear = 2016; IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetProducerEeeDataCsvHandler handler = new GetProducerEeeDataCsvHandler( authorization, A.Dummy <IGetProducerEeeDataCsvDataAccess>(), A.Dummy <CsvWriterFactory>()); GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, null, ObligationType.B2C); // Act CSVFileData data = await handler.HandleAsync(request); // Assert Assert.NotEmpty(data.FileContent); }
public async Task GetProducerEeeDataCsvHandler_NotInternalUser_ThrowsSecurityException() { // Arrange int complianceYear = 2016; IWeeeAuthorization authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build(); GetProducerEeeDataCsvHandler handler = new GetProducerEeeDataCsvHandler( authorization, A.Dummy <IGetProducerEeeDataCsvDataAccess>(), A.Dummy <CsvWriterFactory>()); GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, null, ObligationType.B2B); // Act Func <Task> action = async() => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync <SecurityException>(action); }
public async Task GetProducerEeeDataCsvHandler_ComplianceYear_B2C_ReturnsFileContent() { // Arrange int complianceYear = 2016; IWeeeAuthorization authorization = AuthorizationBuilder.CreateUserWithAllRights(); GetProducerEeeDataCsvHandler handler = new GetProducerEeeDataCsvHandler( authorization, A.Dummy<IGetProducerEeeDataCsvDataAccess>(), A.Dummy<CsvWriterFactory>()); GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, null, ObligationType.B2C); // Act CSVFileData data = await handler.HandleAsync(request); // Assert Assert.NotEmpty(data.FileContent); }
public async Task GetProducerEeeDataCsvHandler_NotInternalUser_ThrowsSecurityException() { // Arrange int complianceYear = 2016; IWeeeAuthorization authorization = new AuthorizationBuilder().DenyInternalAreaAccess().Build(); GetProducerEeeDataCsvHandler handler = new GetProducerEeeDataCsvHandler( authorization, A.Dummy<IGetProducerEeeDataCsvDataAccess>(), A.Dummy<CsvWriterFactory>()); GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, null, ObligationType.B2B); // Act Func<Task> action = async () => await handler.HandleAsync(request); // Assert await Assert.ThrowsAsync<SecurityException>(action); }
public async Task<ActionResult> DownloadProducerEeeDataCsv(int complianceYear, Guid? schemeId, ObligationType obligationType) { CSVFileData fileData; GetProducerEeeDataCsv request = new GetProducerEeeDataCsv(complianceYear, schemeId, obligationType); using (IWeeeClient client = apiClient()) { fileData = await client.SendAsync(User.GetAccessToken(), request); } byte[] data = new UTF8Encoding().GetBytes(fileData.FileContent); return File(data, "text/csv", CsvFilenameFormat.FormatFileName(fileData.FileName)); }