Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move goth integration tests to yagna repo #1235

Merged
merged 8 commits into from
Apr 21, 2021
Merged

Move goth integration tests to yagna repo #1235

merged 8 commits into from
Apr 21, 2021

Conversation

kmazurek
Copy link
Contributor

@kmazurek kmazurek self-assigned this Apr 14, 2021
@kmazurek kmazurek changed the title Move goth VM test to yagna repo Move goth integration tests to yagna repo Apr 19, 2021
@kmazurek kmazurek marked this pull request as ready for review April 20, 2021 07:34
@kmazurek kmazurek requested a review from a team April 20, 2021 07:34
goth_tests/README.md Outdated Show resolved Hide resolved
...
):
goth_config = load_yaml(Path("path/to/goth-config.yml", config_overrides)
```
Copy link
Contributor

Choose a reason for hiding this comment

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

This README is excellent!

Copy link
Contributor

Choose a reason for hiding this comment

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

Indeed. Much appreciated effort @zakaprov

Copy link
Contributor

Choose a reason for hiding this comment

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

❤️


### Project setup
Below are the steps you need to take in order to prepare your environment for running this integration test suite.
> Please not that currently the only supported platform is **Linux** with **Python 3.8+**.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
> Please not that currently the only supported platform is **Linux** with **Python 3.8+**.
> Please note that currently the only supported platform is **Linux** with **Python 3.8+**.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated in 31cfad0

azawlocki
azawlocki previously approved these changes Apr 20, 2021
Copy link
Contributor

@azawlocki azawlocki left a comment

Choose a reason for hiding this comment

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

Brilliant!
I've only left some minor comments, nothing blocking.

@kmazurek kmazurek dismissed stale reviews from nieznanysprawiciel and azawlocki via 09dfb86 April 21, 2021 08:40
azawlocki
azawlocki previously approved these changes Apr 21, 2021
Copy link
Contributor

@azawlocki azawlocki left a comment

Choose a reason for hiding this comment

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

All my comments have been resolved, thanks!

pnowosie
pnowosie previously approved these changes Apr 21, 2021
Copy link
Contributor

@pnowosie pnowosie left a comment

Choose a reason for hiding this comment

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

LGTM!

Adds files necessary for running goth tests as part of yagna repository.
This also includes moving the VM E2E test from goth to yagna.
@kmazurek
Copy link
Contributor Author

Heads up: I'm doing an interactive rebase before merging to get rid of some redundant commits.

@kmazurek kmazurek dismissed stale reviews from pnowosie and azawlocki via 2af76cf April 21, 2021 14:18
@kmazurek kmazurek enabled auto-merge April 21, 2021 15:46
If a test requires custom assets (e.g. VM Blender test) they should be placed in a directory named `assets` alongside the test `.py` file itself.

### How these tests work
Every `goth` test operates on an isolated, local network of `yagna` nodes which gets created using Docker. Besides the `yagna` containers themselves this network also includes components such as `ya-sb-router` or `ganache` local blockchain.
Copy link
Contributor

@tworec tworec Apr 21, 2021

Choose a reason for hiding this comment

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

Suggested change
Every `goth` test operates on an isolated, local network of `yagna` nodes which gets created using Docker. Besides the `yagna` containers themselves this network also includes components such as `ya-sb-router` or `ganache` local blockchain.
Every `goth` test operates on an isolated, local network of `yagna` nodes which gets created using Docker. Besides the `yagna` containers themselves this network also includes components such as `ya-sb-router` (used for instantiating owned local yagna networking) or `ganache` local blockchain.

2. The test runner creates a number of Yagna containers (as defined in `goth-config.yml`) which are connected to the `docker-compose` network.
3. For each Yagna container started a so-called "probe" object is created and made available inside the test via the `Runner` object.
4. The integration test scenario is executed as defined in the function called by `pytest`.
5. Once the test is finished, all previously started Docker containers (both "static" and "dynamic") are removed.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd mention "dynamic" within point 2. as you did with "static" in 1.

Copy link
Contributor

@tworec tworec left a comment

Choose a reason for hiding this comment

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

great job!

Copy link
Contributor

@azawlocki azawlocki left a comment

Choose a reason for hiding this comment

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

LGTM, once again!

@kmazurek kmazurek merged commit 9ced270 into master Apr 21, 2021
@kmazurek kmazurek deleted the km/goth-tests branch April 21, 2021 17:05
maaktweluit pushed a commit that referenced this pull request May 24, 2021
Move goth integration tests to yagna repo
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.

Move integration tests outside of the goth repo
6 participants