close
Skip to content

feat(bdd): add Python BDD tests and reorganize test structure#1909

Merged
hubcio merged 1 commit into
masterfrom
bdd-python
Jun 26, 2025
Merged

feat(bdd): add Python BDD tests and reorganize test structure#1909
hubcio merged 1 commit into
masterfrom
bdd-python

Conversation

@hubcio
Copy link
Copy Markdown
Contributor

@hubcio hubcio commented Jun 24, 2025

Introduces cross-SDK BDD testing framework with Python implementation
alongside existing Rust tests. Moves BDD tests from core/bdd to a
dedicated top-level bdd/ directory organized by language.

  • Add Python BDD tests using pytest-bdd for basic messaging scenarios
  • Reorganize Rust BDD tests from core/bdd/ to bdd/rust/
  • Create Docker infrastructure for running multi-SDK tests
  • Add run-bdd-tests.sh script for easy test execution
  • Share Gherkin feature files across all SDK implementations

@hubcio hubcio force-pushed the bdd-python branch 3 times, most recently from 282d7f2 to 827aa9a Compare June 24, 2025 21:34
numinnex
numinnex previously approved these changes Jun 25, 2025
@chengxilo
Copy link
Copy Markdown
Contributor

chengxilo commented Jun 25, 2025

Is it possible to organize the Dockerfiles by placing each one in its respective language folder and naming them simply Dockerfile? For example:

.
└── bdd/
    ├── python/
    │   ├── Dockerfile (move Dockerfile.python here)
    │   ├── tests/
    │   │   └── ...
    │   └── requirements.txt
    ├── rust/
    │   ├── Dockerfile (move Dockerfile.rust here)
    │   ├── tests/
    │   │   └── ...
    │   └── Cargo.toml
    ├── Dockerfile (rename Dockerfile.server to Dockerfile)
    ├── README.md
    ├── basic_message.feature
    └── docker-compose.yml

I believe this structure will be better for future development. Also, some IDEs may not recognize files like Dockerfile.python or Dockerfile.rust as Dockerfiles, so renaming them to just Dockerfile inside each language folder improves IDE support and clarity.

@hubcio
Copy link
Copy Markdown
Contributor Author

hubcio commented Jun 26, 2025

Is it possible to organize the Dockerfiles by placing each one in its respective language folder and naming them simply Dockerfile? For example:

.
└── bdd/
    ├── python/
    │   ├── Dockerfile (move Dockerfile.python here)
    │   ├── tests/
    │   │   └── ...
    │   └── requirements.txt
    ├── rust/
    │   ├── Dockerfile (move Dockerfile.rust here)
    │   ├── tests/
    │   │   └── ...
    │   └── Cargo.toml
    ├── Dockerfile (rename Dockerfile.server to Dockerfile)
    ├── README.md
    ├── basic_message.feature
    └── docker-compose.yml

I believe this structure will be better for future development. Also, some IDEs may not recognize files like Dockerfile.python or Dockerfile.rust as Dockerfiles, so renaming them to just Dockerfile inside each language folder improves IDE support and clarity.

sure, will change this

@hubcio hubcio force-pushed the bdd-python branch 2 times, most recently from dcd4c78 to 2a42f6e Compare June 26, 2025 15:14
spetz
spetz previously approved these changes Jun 26, 2025
@hubcio hubcio force-pushed the bdd-python branch 9 times, most recently from ec63095 to 0f4491e Compare June 26, 2025 16:58
Introduces cross-SDK BDD testing framework with Python implementation
alongside existing Rust tests. Moves BDD tests from core/bdd to a
dedicated top-level bdd/ directory organized by language.

- Add Python BDD tests using pytest-bdd for basic messaging scenarios
- Reorganize Rust BDD tests from core/bdd/ to bdd/rust/
- Create Docker infrastructure for running multi-SDK tests
- Add run-bdd-tests.sh script for easy test execution
- Share Gherkin feature files across all SDK implementations
@hubcio
Copy link
Copy Markdown
Contributor Author

hubcio commented Jun 26, 2025

@chengxilo you can check now, I adjusted the bdd directory structure according to your comment.

@chengxilo
Copy link
Copy Markdown
Contributor

@chengxilo you can check now, I adjusted the bdd directory structure according to your comment.

It looks amazing! Thank you for taking my suggestion. Please merge it asap, lol😂

@hubcio hubcio merged commit 99b933a into master Jun 26, 2025
32 checks passed
@hubcio hubcio deleted the bdd-python branch June 26, 2025 17:40
hageshiame pushed a commit to hageshiame/iggy that referenced this pull request Nov 7, 2025
…#1909)

Introduces cross-SDK BDD testing framework with Python implementation
alongside existing Rust tests. Moves BDD tests from core/bdd to a
dedicated top-level bdd/ directory organized by language.

- Add Python BDD tests using pytest-bdd for basic messaging scenarios
- Reorganize Rust BDD tests from core/bdd/ to bdd/rust/
- Create Docker infrastructure for running multi-SDK tests
- Add run-bdd-tests.sh script for easy test execution
- Share Gherkin feature files across all SDK implementations
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.

4 participants