# RPC Integration tests The RPC integration test suite uses nix for reproducible and configurable builds allowing to run integration tests using python web3 library against different Ethermint and [Geth](https://github.com/ethereum/go-ethereum) clients with multiple configurations. ## Installation Nix Multi-user installation: ``` sh <(curl -L https://nixos.org/nix/install) --daemon ``` Make sure the following line has been added to your shell profile (e.g. ~/.profile): ``` source ~/.nix-profile/etc/profile.d/nix.sh ``` Then re-login shell, the nix installation is completed. For linux: ``` sh <(curl -L https://nixos.org/nix/install) --no-daemon ``` ## Run Local First time run (can take a while): ``` make run-integration-tests ``` Once you've run them once and, you can run: ``` nix-shell tests/integration_tests/shell.nix cd tests/integration_tests pytest -s -vv ``` If you're changing anything on the ethermint rpc, rerun the first command. ## Caching You can enable Binary Cache to speed up the tests: ``` nix-env -iA cachix -f https://cachix.org/api/v1/install cachix use ethermint ```