Conversation
Не судите строго, я pycharman
С каждой строчкой я все дальше от бога
Секрет Гудини
Сделал исправления Пожалуйста, не ругайтесь на C#-инвалида (на меня)
Добавил недостающее summary
Скорее всего где-то накосячил, не ругайтесь на меня
Потихоньку делаю
Написал всякой фигни, понял, что не работает, теперь переделываю
Посмотрел не свой вариант и увидел, что у меня Minio, а не Localstack
| <ItemGroup> | ||
| <PackageReference Include="Aspire.StackExchange.Redis.DistributedCaching" Version="9.5.0" /> | ||
| <PackageReference Include="Bogus" Version="35.6.5" /> | ||
| <PackageReference Include="MassTransit.AmazonSQS" Version="8.3.0" /> |
There was a problem hiding this comment.
С одной стороны, очень радостно, что ты знаешь о масс транзит (хотя, может, в лекциях упоминания были на 4 курсе)
С другой стороны, я бы хотел, чтобы студенты на практике немного попили говна поковырялись именно с нативными клиентскими библиотеками, а не с абстрагированной оберткой над всеми брокерами на свете, где отправка сообщения в любой из них выглядит совершенно одинаково
Короче, это последний pr, в котором я пропущу масс транзит, в остальных - заставлю его выпиливать и заменять на конкретную клиентскую библиотеку.
| public EmployeeGeneratedConsumer(IStorageService storage, string bucketName, ILogger<EmployeeGeneratedConsumer> logger) | ||
| { | ||
| _storage = storage; | ||
| _bucketName = bucketName; | ||
| _logger = logger; | ||
| } |
There was a problem hiding this comment.
Использовать праймари конструктор
Я, конечно, понимаю, что все нейронки почему-то обучены генерировать шарповый код где-то в районе 6 дотнета, но, наверное, в промпте сразу можно указать, чтобы код генерировался в соответствии с фичами 8/10 дотнета.
Подобные допотопные конструкции потеряли актуальность еще до того, как ты в вуз поступил, так что это сильно палится.
| private readonly IMinioClient _minioClient; | ||
| private readonly ILogger<MinioStorageService> _logger; | ||
|
|
||
| public MinioStorageService(IMinioClient minioClient, ILogger<MinioStorageService> logger) | ||
| { | ||
| _minioClient = minioClient; | ||
| _logger = logger; | ||
| } |
| catch | ||
| { | ||
| return false; | ||
| } |
There was a problem hiding this comment.
Хотя бы залогируй в этом случае чего-нибудь, у тебя ведь даже логгер через di в этот класс притащен
|
|
||
| <ItemGroup> | ||
| <PackageReference Include="MassTransit.AmazonSQS" Version="8.3.0" /> | ||
| <PackageReference Include="Minio" Version="6.0.4" /> |
There was a problem hiding this comment.
С этой библиотекой не получится подключить телеметрию минио в дашборд аспаер, тебе нужна вот эта
| var app = builder.Build(); | ||
|
|
||
| app.MapDefaultEndpoints(); | ||
| app.MapGet("/health", () => "Healthy"); |
There was a problem hiding this comment.
Честно, я хз, зачем делать такие эндпоинты
Эндпоинт, который выдавал бы, к примеру, список файлов в объектном хранилище, как по мне, был бы полезнее
| @@ -0,0 +1,70 @@ | |||
| using Aspire.Hosting; | |||
| x.UsingAmazonSqs((context, cfg) => | ||
| { | ||
| cfg.Host(awsRegion, h => | ||
| { | ||
| h.Config(new AmazonSQSConfig { ServiceURL = awsServiceUrl }); | ||
| h.Config(new AmazonSimpleNotificationServiceConfig { ServiceURL = awsServiceUrl }); |
| /// <summary> | ||
| /// �������������� ����� ��� �������� ������ ���� ��������. | ||
| /// </summary> |
| _fileServiceClient = new HttpClient | ||
| { | ||
| BaseAddress = new Uri("https://localhost:7277") | ||
| }; |
There was a problem hiding this comment.
Суть качественных интеграционных тестов заключается в том, что для того, чтобы они успешно исполнились, мне не нужно предварительно заниматься запуском проектов вручную, чтобы убедиться в их работоспособности.
Либо изучи на досуге, каким образом производить интеграционное тестирования при помощи aspire, либо дождись лекции на следующей неделе.
Текущий вид интеграционных тестов, очевидно, неприемлем
Пока не готово, но уже что-то


ФИО: Казаков Андрей
Номер группы: 6513
Номер лабораторной: 3
Номер варианта: 43
Краткое описание предметной области: Сотрудник компании
Краткое описание добавленных фич: Добавлен SNS брокер + MinIO хранилище + тесты