Skip to content

Return tqe2 testcontainers implementation#86

Draft
dkasimovskiy wants to merge 4 commits into
masterfrom
return-tqe2-testcontainers-implementation
Draft

Return tqe2 testcontainers implementation#86
dkasimovskiy wants to merge 4 commits into
masterfrom
return-tqe2-testcontainers-implementation

Conversation

@dkasimovskiy
Copy link
Copy Markdown
Contributor

@dkasimovskiy dkasimovskiy commented Jun 1, 2026

Описание

Обновление реализаций контейнеров TQE2 и TQE3 с улучшенной обработкой ошибок и конфигурацией. Добавлены
абстрактные классы для лучшей организации кода.

Основные изменения

  • Обновлены реализации TQE2ClusterImpl и TQE3ClusterImpl с улучшенной логикой запуска
  • Модифицированы конфигураторы с улучшенной валидацией
  • Добавлены абстрактные базовые классы AbstractTQECluster и AbstractTQEConfigurator

Файлы

  • Обновлены реализации кластеров и конфигураторов
  • Обновлены интеграционные тесты
  • Добавлены абстрактные классы

I haven't forgotten about:

  • Tests
  • Changelog
  • Documentation
    • JavaDoc was written
  • Commit messages comply with the guideline
  • Cleanup the code for review. See checklist

Related issues:

@dkasimovskiy dkasimovskiy force-pushed the return-tqe2-testcontainers-implementation branch from 4931800 to e323bb8 Compare June 1, 2026 15:49
Comment thread testcontainers/src/test/java/org/testcontainers/containers/tdg/Utils.java Outdated
CONSUMER("consumer"),

PRODUCER("producer");
PRODUCER("producer"),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Думаю, лучше сделать по другому:

enum GrpcRole {
    CONSUMER("consumer"),
    PRODUCER("producer", "publisher"),

   private final List<String> roleAliases;

    GrpcRole(String... aliases) {
        this.aliases = Arrays.asList(aliases);
    }
 

   ...
}

@dkasimovskiy dkasimovskiy force-pushed the return-tqe2-testcontainers-implementation branch 2 times, most recently from 1e711c8 to 4457b28 Compare June 3, 2026 15:17
dkasimovskiy and others added 3 commits June 4, 2026 17:04
…ementations

Add TQE 2.x (message-queue-ee 2.x) integration with separate cluster,
configurator, and gRPC layer. Refactor TQE 3.x into versioned structure
alongside TQE 2.x, extract AbstractTQECluster with Template Method
pattern, migrate from xolstice to ascopes protobuf-maven-plugin.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add shared helpers (loadConfig, createInvalidGrpcConfigStream,
createInvalidConfigsPathsStream) to AbstractTQETest and simplify
static config loading and data providers in all four test classes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…QEClusterTest

Move shared cluster tests (testMultiplyRestart, testRestartMethod,
testInvalidQueueConfigShouldThrow, testInvalidGrpcConfig) into a new
AbstractTQEClusterTest base class. TQE2ClusterImplTest and
TQE3ClusterImplTest now extend it, eliminating duplication.

Also revert FileTQEConfigurator to eager initialization (fields back
to final) and extract inline YAML configs to resource files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@dkasimovskiy dkasimovskiy force-pushed the return-tqe2-testcontainers-implementation branch from bcdb62d to 4d5c877 Compare June 4, 2026 14:04
…rized tests

Replace AbstractTQETest/AbstractTQEClusterTest hierarchy with a flat
structure using @ParameterizedTest. Common tests for TQE2/TQE3 now
run via TQETestHelper.TQETestParams parameterization, eliminating
inheritance and duplication.

- Add TQETestHelper with TQETestParams record and shared helpers
- Add TQEClusterTest with parameterized common cluster tests
- Add FileTQEConfiguratorTest with parameterized configurator tests
- Simplify TQE2/TQE3ClusterImplTest to only version-specific tests
- Remove AbstractTQETest, AbstractTQEClusterTest,
  FileTQE2/3ConfiguratorTest, and invalid-config resource files
- Inline YAML configs restored as in original tests

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants