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

testing #10

Open
johncantrell97 opened this issue Feb 8, 2022 · 6 comments
Open

testing #10

johncantrell97 opened this issue Feb 8, 2022 · 6 comments

Comments

@johncantrell97
Copy link
Contributor

there is NO testing to be found. I think a good first pass would be to get some kind of end-to-end integration test running so that we can at least be a little confident things generally work before pushing updates.

need to think of how to best do this but I imagine it involves spinning up bitcoind/electrum/handful of sensei nodes and controlling them via api.

i think bdk has some infrastructure in place for this, worth researching their setup more.

@keblek
Copy link

keblek commented Feb 26, 2022

GuN wallet would be a good project to look at, they do exactly that for gun wallet (which uses bdk) https://gun.fun

@orbitalturtle
Copy link
Contributor

might be helpful for this https://github.com/RCasatta/bitcoind

@futurepaul
Copy link
Contributor

Nigiri just added lightning! And also it has a --ci flag for running headless in a github action. https://github.com/vulpemventures/nigiri

@johncantrell97
Copy link
Contributor Author

oh that's pretty cool, seems useful for testing for sure. need to get sensei support in nigiri :)

@litch
Copy link

litch commented Apr 25, 2022

We're on it! vulpemventures/nigiri#151

Now that I've got some confidence in using the CLI, should be pretty straightforward to get merged.

THEN! We can switch gears to our conformance testing suite.

@johncantrell97
Copy link
Contributor Author

working on an integration "smoke test" that runs in rust using bitcoind crate. it will exercise the AdminService and NodeService directly without needing to use the http/grpc apis. can be run without having to manually set up any external dependencies.

My plan is to use cypress to run e2e test against the web-admin which will be slower but exercise the web-admin, http api, and of course the inner services. this will need bitcoind + senseid running -- probably need a docker-compose file setup for this.

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

No branches or pull requests

5 participants