You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here are some preliminary feedbacks regarding the Atomkraft prototype.
Given that our focus is to build an e2e testing framework for cosmos SDK projects, there are ways to be more specific on certain points that would ease the usage and maybe developments.
We can first think in terms of module testing so the first thing to provide is a reactor per module:
A module has an “API” that defines transaction calls with parameters that are used in test suits to be run over testnets. Thus, we can have a reactor per module that constructs generic transaction calls in python.
A trace expresses a certain logic of transaction calls with specific parameters. Thus, the data structure in the trace should be aligned with reactor function calls/variables. Traces are constrained by reactors so we are not writing reactors to fit the trace witch is a change in the logic described in ADRs. This also constrains the model (maybe we can provide model templates, types, and variables)
Future points to evaluate: modules interconnections
The set-up creates a pytest project with necessary configurations and a project structure. It has been thought as if we are going to instantiate Atomkraft for each module separately but maybe we will have one instance dealing with all modules. (To be confirmed).
It is also more convenient to understand where the tests come from (traces and models) so putting them together under the same directory is better than having all the models in a repo, and all the traces in another without understanding the links between them. (Same for reactors)
In the initialization, it is also good to provide a testnet configuration in place (I have to play with the prototype)
It is important to transport the work done on the authz module to figure things out.
Here are some preliminary feedbacks regarding the Atomkraft prototype.
Given that our focus is to build an e2e testing framework for cosmos SDK projects, there are ways to be more specific on certain points that would ease the usage and maybe developments.
We can first think in terms of module testing so the first thing to provide is a reactor per module:
So from this project structure:
+- .atomkraft/
+- models/
+- traces/
+- reactors/
+- tests
| +- test_authz.py
| +- test_gov.py
+- reports/
+- testnet
| +- config
| | +- app.toml
| | +- config.toml
| | +- genesis.json
| +- run
| +- validator-1/
| +- validator-2/
| +- validator-3/
+- pyproject.toml
We would maybe have this:
+- .atomkraft/
+- modules/
| +- authz |
| | +- reactors/
| | +- tests/
| | | +- models/
| | | +- traces/
| | | +- tests/
| | | | +- test_authz.py
| | +- reports/ (Scripts ?)
| +- gov |
| | +- reactors/
| | +- tests/
| | | +- models/
| | | +- traces/
| | | +- tests/
| | | | +- test_gov.py
| | +- reports/ (Scripts ?)
And a single testnet :
+- testnet
| +- config
| | +- app.toml
| | +- config.toml
| | +- genesis.json
| +- run
| +- validator-1/
| +- validator-2/
| +- validator-3/
+- pyproject.toml
The text was updated successfully, but these errors were encountered: