Skip to content

Землянов Владимир Лаб. 3 Группа 6511#107

Open
AvtoBBus wants to merge 20 commits intoitsecd:mainfrom
AvtoBBus:lab3
Open

Землянов Владимир Лаб. 3 Группа 6511#107
AvtoBBus wants to merge 20 commits intoitsecd:mainfrom
AvtoBBus:lab3

Conversation

@AvtoBBus
Copy link
Copy Markdown

ФИО: Землянов Владимир
Номер группы: 6511
Номер лабораторной: 3
Номер варианта: 8
Краткое описание предметной области: Сотрудник компании
Краткое описание добавленных фич:

  • Добавлено объектное хранилище
  • Добавлен файловый сервис
  • Добавлено покрытие тестами

@github-actions github-actions bot added In progress Код в процессе проверки Lab 3 Лабораторная №3. Интеграционное тестирование labels Apr 14, 2026
@github-actions github-actions bot requested a review from danlla April 14, 2026 07:48
@AvtoBBus
Copy link
Copy Markdown
Author

AvtoBBus commented Apr 14, 2026

Клянусь, я не понимаю почему, но по неизвестной мне причине тесты нормально отрабатывают только в дебаге и при этом в конце они вот тут падают
image

Но самое забавное они все успешно пройдены. если нажать Продолжить
image

Помогите😢

Comment thread CompanyEmployees.AppHost/minio-data/.minio.sys/buckets/.heal/mrf/list.bin Outdated
Comment thread CompanyEmployees.AppHost/minio-data/.minio.sys/format.json Outdated
Comment thread CompanyEmployees.AppHost/Program.cs Outdated
Comment thread CompanyEmployees.AppHost/Program.cs
Comment thread CompanyEmployees.FileService/Services/SQSService.cs Outdated
Comment thread CompanyEmployees.FileService/Program.cs Outdated
Comment on lines +57 to +85
public async Task<List<S3Object>> WaitForS3ObjectAsync(string key, int maxAttempts = 15)
{
for (var i = 0; i < maxAttempts; i++)
{
await Task.Delay(TimeSpan.FromSeconds(2));

try
{
var response = await S3Client.ListObjectsAsync(new ListObjectsRequest
{
BucketName = "company-employee",
Prefix = key
});

if (response.S3Objects is not null && response.S3Objects.Count > 0)
return response.S3Objects;
}
catch (AmazonS3Exception ex) when (ex.Message.Contains("NoSuchBucket"))
{
Console.WriteLine($"Bucket not ready yet, attempt {i + 1}/{maxAttempts}");
}
catch (Exception ex)
{
Console.WriteLine($"Error listing objects: {ex.Message}");
}
}

return [];
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В тестах в этом методе не происходит успешного получения файла, нужно проверить почему так

Comment thread CompanyEmployees.AppHost/Program.cs
@AvtoBBus
Copy link
Copy Markdown
Author

Честно сказать, я пробовал очень много и долго и единственное, что смог осознать, это тот факт, что при создании Aspire-приложения все контейнеры конфигурируются исходя из значений в appsettings.json

CompanyEmployee.FileService\Program.cs

image

При этом в тестах он рандомит как будто для тестового окружения

CompanyEmployee.Test\Fixture.cs

image

Соответственно, когда дело доходит для консюмера получается вот такая ощипка

CompanyEmployee.FileService\Services\EmployeeConsumer.cs

image

То есть оно пытается дёрнуть ендпоинт, который задаётся через настройки, но при этом в тестовом он решает мигрировать куда-то....

@AvtoBBus AvtoBBus requested a review from danlla April 16, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

In progress Код в процессе проверки Lab 3 Лабораторная №3. Интеграционное тестирование

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants