The modules that need to run either bitcoind or the api do now reference to the fixture in the first test that needs it. Since the fixtures are definexd session-wise the rest of the modules will have access to them from that point on.
test_get_all_appointments_responder was failing unconsistently. It was due to how the api fixture was set up.
Fix:
- Sets up bitcoind and api fixtures to run session-wise (so they are not re-initialized for every test
- Updates tests accordingly (e.g. reduces the number of MULTIPLE_REQUESTS so it does not cap)
- Keeps track of all sent appointments so the test_request functionds don't need to create additional ones
- Adds unit tests for API
- Updates API to let BlockProcessor deal with block block related JSON-RPC
- Fixes BlockProcessor get_potential_matches return
- Makes bitcoin_sim runnable via function (instead of a main runnable script) to work with pytests fixture
- <3 Fixture