Чтобы добиться успеха, мне нужно пройти интеграционный тест. Предложите, есть ли альтернативный способ. я загружаю файл шаблона HTML
PortalIntegrationTests.Test.PdfTemplateServiceTest.ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(integratorAUsername: "alladmin@test.com", PASS: "Alladmin@123")
Источник: PdfTemplateServiceTest.cs line 2 4
Продолжительность: 35,7 секунды
Сообщение:
Refit.ValidationApiException: код состояния ответа не указывает на успех: 400 (неверный запрос).
Трассировка стека:
IPdfTemplateRestApi.ImportPdfTemplateAsync(файл PdfTemplateAddModel)
PdfTemplateServiceTest.ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(String integratorAUsername, String PASS)
PdfTemplateServiceTest.I mportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(String integratorAUsername, String PASS)
-- - Конец трассировки стека из предыдущего местоположения ---
[Collection("IntegrationTestCollection")]
public class PdfTemplateServiceTest(AppServices appService, UserTestData userTestData)
{
private readonly IPdfTemplateRestApi _pdfTemplateRestApi = appService.GetApi();
[Theory]
[InlineData("alladmin@test.com", "Alladmin@123")]
public async Task ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(string integratorAUsername, string PASS)
{
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "LicensePdfTemplates", "invoice.html");
if (!File.Exists(filePath))
throw new FileNotFoundException("The specified file was not found.", filePath);
await using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var formFile = new FormFile(fileStream, 0, fileStream.Length, "file", Path.GetFileName(filePath))
{
Headers = new HeaderDictionary(),
ContentType = "text/html"
};
var pdfTemplateAddModel = new PdfTemplateAddModel
{
File = formFile,
};
// Act
var result = await _pdfTemplateRestApi.ImportPdfTemplateAsync(pdfTemplateAddModel);
// Assert
Assert.NotNull(result);
Assert.Equal("example", result.TemplateName); // Adjust expected outcome
}
[Post("/PdfTemplate")]
Task
ImportPdfTemplateAsync([FromForm] PdfTemplateAddModel file);
public async Task ImportTemplate([FromForm] PdfTemplateAddModel pdfTemplateAddModel)
{
return await pdfTemplateService.ImportTemplateAsync(pdfTemplateAddModel, LoggedInUser);
}
это мой код, я не знаю, почему приходит 400 неверный запрос? Мне нужно знать причину этой ошибки и способы ее решения
public async Task ImportTemplateAsync(PdfTemplateAddModel pdfTemplateAddModel, LoggedInUser loggedInUser)
{
if (loggedInUser.IsIntegrator || loggedInUser.IsCustomer)
throw new AppException(Codes.Auth_Forbidden, Codes.Title_AccessDenied);
if (!Path.GetExtension(pdfTemplateAddModel.File.FileName).Equals(".html", StringComparison.CurrentCultureIgnoreCase))
throw new AppException(Codes.PdfTemplate_File_Extension, Codes.Title_PdfTemplateManagement);
var dateTime = DateTime.Now;
var templateName = Path.GetFileNameWithoutExtension(pdfTemplateAddModel.File.FileName);
if (await context.PdfTemplates.AnyAsync(t => t.TemplateName == templateName))
throw new AppException(Codes.PdfTemplate_File_Exist, Codes.Title_PdfTemplateManagement);
// Read the file content into a byte array
byte[] fileContent;
using (var memoryStream = new MemoryStream())
{
await pdfTemplateAddModel.File.CopyToAsync(memoryStream);
fileContent = memoryStream.ToArray();
}
var newTemplate = new PdfTemplate
{
TemplateId = Guid.NewGuid(),
TemplateName = templateName,
IsActive = false,
UploadDateTime = dateTime,
UploadedBy = loggedInUser.Email,
CreatedDateTime = dateTime,
LastModifiedDateTime = dateTime,
FileContent = fileContent
};
await context.PdfTemplates.AddAsync(newTemplate);
await context.SaveChangesAsync();
var logTemplateModel = new
{
newTemplate.TemplateId,
newTemplate.IsActive,
newTemplate.TemplateName,
newTemplate.UploadedBy
};
await auditEventSender.SendAsync(Codes.PdfTemplate_Import_Success, [new Metadata("PdfTemplate", logTemplateModel)], loggedInUser.Email);
return mapper.Map(newTemplate);
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ad-request
Refit — IFormFile возвращает 400 неверных запросов ⇐ C#
Место общения программистов C#
-
Anonymous
1730203220
Anonymous
Чтобы добиться успеха, мне нужно пройти интеграционный тест. Предложите, есть ли альтернативный способ. я загружаю файл шаблона HTML
PortalIntegrationTests.Test.PdfTemplateServiceTest.ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(integratorAUsername: "alladmin@test.com", PASS: "Alladmin@123")
Источник: PdfTemplateServiceTest.cs line 2 4
Продолжительность: 35,7 секунды
Сообщение:
Refit.ValidationApiException: код состояния ответа не указывает на успех: 400 (неверный запрос).
Трассировка стека:
IPdfTemplateRestApi.ImportPdfTemplateAsync(файл PdfTemplateAddModel)
PdfTemplateServiceTest.ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(String integratorAUsername, String PASS)
PdfTemplateServiceTest.I mportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(String integratorAUsername, String PASS)
-- - Конец трассировки стека из предыдущего местоположения ---
[Collection("IntegrationTestCollection")]
public class PdfTemplateServiceTest(AppServices appService, UserTestData userTestData)
{
private readonly IPdfTemplateRestApi _pdfTemplateRestApi = appService.GetApi();
[Theory]
[InlineData("alladmin@test.com", "Alladmin@123")]
public async Task ImportTemplateAsync_ShouldImportTemplate_WhenValidFileIsProvided(string integratorAUsername, string PASS)
{
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "LicensePdfTemplates", "invoice.html");
if (!File.Exists(filePath))
throw new FileNotFoundException("The specified file was not found.", filePath);
await using var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var formFile = new FormFile(fileStream, 0, fileStream.Length, "file", Path.GetFileName(filePath))
{
Headers = new HeaderDictionary(),
ContentType = "text/html"
};
var pdfTemplateAddModel = new PdfTemplateAddModel
{
File = formFile,
};
// Act
var result = await _pdfTemplateRestApi.ImportPdfTemplateAsync(pdfTemplateAddModel);
// Assert
Assert.NotNull(result);
Assert.Equal("example", result.TemplateName); // Adjust expected outcome
}
[Post("/PdfTemplate")]
Task
ImportPdfTemplateAsync([FromForm] PdfTemplateAddModel file);
public async Task ImportTemplate([FromForm] PdfTemplateAddModel pdfTemplateAddModel)
{
return await pdfTemplateService.ImportTemplateAsync(pdfTemplateAddModel, LoggedInUser);
}
это мой код, я не знаю, почему приходит 400 неверный запрос? Мне нужно знать причину этой ошибки и способы ее решения
public async Task ImportTemplateAsync(PdfTemplateAddModel pdfTemplateAddModel, LoggedInUser loggedInUser)
{
if (loggedInUser.IsIntegrator || loggedInUser.IsCustomer)
throw new AppException(Codes.Auth_Forbidden, Codes.Title_AccessDenied);
if (!Path.GetExtension(pdfTemplateAddModel.File.FileName).Equals(".html", StringComparison.CurrentCultureIgnoreCase))
throw new AppException(Codes.PdfTemplate_File_Extension, Codes.Title_PdfTemplateManagement);
var dateTime = DateTime.Now;
var templateName = Path.GetFileNameWithoutExtension(pdfTemplateAddModel.File.FileName);
if (await context.PdfTemplates.AnyAsync(t => t.TemplateName == templateName))
throw new AppException(Codes.PdfTemplate_File_Exist, Codes.Title_PdfTemplateManagement);
// Read the file content into a byte array
byte[] fileContent;
using (var memoryStream = new MemoryStream())
{
await pdfTemplateAddModel.File.CopyToAsync(memoryStream);
fileContent = memoryStream.ToArray();
}
var newTemplate = new PdfTemplate
{
TemplateId = Guid.NewGuid(),
TemplateName = templateName,
IsActive = false,
UploadDateTime = dateTime,
UploadedBy = loggedInUser.Email,
CreatedDateTime = dateTime,
LastModifiedDateTime = dateTime,
FileContent = fileContent
};
await context.PdfTemplates.AddAsync(newTemplate);
await context.SaveChangesAsync();
var logTemplateModel = new
{
newTemplate.TemplateId,
newTemplate.IsActive,
newTemplate.TemplateName,
newTemplate.UploadedBy
};
await auditEventSender.SendAsync(Codes.PdfTemplate_Import_Success, [new Metadata("PdfTemplate", logTemplateModel)], loggedInUser.Email);
return mapper.Map(newTemplate);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79137064/refit-iformfile-returns-a-400-bad-request[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия