Tyler Goodlet
803f4a6354
Add first account cumsize test; known to fail Bo
2023-07-14 17:54:13 -04:00
Tyler Goodlet
c780164f69
Fix test to use new `load_account()` location
2023-07-12 08:45:55 -04:00
Tyler Goodlet
3fcf44aa52
Skip marketstore docker tests, we're gonna drop it..
2023-06-27 13:42:08 -04:00
Tyler Goodlet
a4d16ec6ab
Fix ems tests: add `.spot` venue token to fqme
2023-06-27 13:42:08 -04:00
Tyler Goodlet
abd3cefd84
Parametrize ems service test to cancel with API and kbi
2023-05-28 14:28:56 -04:00
Tyler Goodlet
4f67ac0337
Change to new context-cancelled msg contents: pikerd is canceller
2023-05-26 17:16:43 -04:00
Tyler Goodlet
5f1d0fcb8c
`tmpconfdir`: always assert brokers config created
2023-05-26 14:58:59 -04:00
Tyler Goodlet
40c5f39f0d
conftest: be explicit about which config we touch
2023-05-26 14:42:09 -04:00
Tyler Goodlet
06cc3ac92c
Tidy up ems tests as per some `ruff`in
2023-05-25 18:04:52 -04:00
Tyler Goodlet
9bc11d8dd9
Add basic config checking tests
2023-05-25 17:55:20 -04:00
Tyler Goodlet
738d0ca38b
Rename db tests to test_docker_services
2023-05-24 12:30:57 -04:00
Tyler Goodlet
e82f7f9012
Skip elasticsearch test for now, container build seems borked?
2023-05-23 22:39:38 -04:00
Tyler Goodlet
cd55d027c4
Re-implement db tests using new ahab daemons
...
Avoids the really sloppy flag passing to `open_pikerd()` and allows for
separation of the individual docker daemon starts.
Also add a new `root_conf() -> Path` fixture which will open and load
the `dict` for the new root `conf.toml` file.
2023-05-23 14:16:08 -04:00
Tyler Goodlet
c93d119873
Move tmpdir creation into separate fixture
...
Since `.config.load()` was changed to not touch conf files by default
(without explicitly setting `touch_if_dne: bool`), this ensures both the
global module value is set and the `brokers.toml` file exists before
every test.
2023-05-22 12:03:32 -04:00
Tyler Goodlet
12bfabf056
Expose `.accounting.unpack_fqme()`
2023-05-17 16:43:31 -04:00
Tyler Goodlet
88f3912b2d
test_ems: doc out some remaining suites
2023-05-09 14:49:46 -04:00
Tyler Goodlet
1b50bff625
Error test harness if `--pdb` passed without `-s`
2023-05-09 14:49:26 -04:00
Tyler Goodlet
adb62dc7b4
Port oustanding parts of codebase to `unpack_fqme()`
2023-05-09 14:49:26 -04:00
Tyler Goodlet
b810de3089
Rename fqsn -> fqme in feeds tests
2023-05-09 14:49:26 -04:00
Tyler Goodlet
02eb966a87
Rename ems test mod
2023-05-09 14:49:26 -04:00
Tyler Goodlet
146e0993a9
More explicit test mod docstring
2023-05-09 14:49:26 -04:00
Tyler Goodlet
3b7579990b
Link `tractor` debug mode to `pytest` --pdb flag
2023-05-09 14:49:26 -04:00
Tyler Goodlet
7de914d54c
Fix bad-fqme test, adjust prices based on buy/sell
2023-05-09 14:49:26 -04:00
Tyler Goodlet
30af91a82c
Rewrite order ctl tests as a parametrization
...
More or less a complete rework which allows passing a detailed
clearing/fills input and allows for *not* rebooting the runtime / ems
between each position check.
Some further enhancements:
- use (unit) fractional sizes to simulate both the more realistic and
more "complex position calculation" case; since this is crypto.
- add a no-fqme-found test.
- factor cross-session/offline pos storage (pps.toml) checks into
a `load_and_check_pos()` helper which does all entry loading directly
from a provided `BrokerdPosition` msg.
- use the new `OrderClient.send()` async api.
2023-05-09 14:49:26 -04:00
Tyler Goodlet
05a33ae634
Make default order size to decimal
2023-05-09 14:49:26 -04:00
Tyler Goodlet
b619e4a82d
WIP complete rework of paper engine tests
...
More or less we need to be able to audit not only simple "make trades
check pps.toml files" tests (which btw were great to get started!).
We also need more sophisticated and granular order mgmt and service
config scenarios,
- full e2e EMS msg flow verification
- multi-client (dis)connection scenarios and/or monitoring
- dark order clearing and offline storage
- accounting schema and position calcs detailing
As such, this is the beginning to "modularlizingz" the components needed
in the test harness to this end by breaking up the `OrderClient` control
flows vs. position checking logic so as to allow for more flexible test
scenario cases and likely `pytest` parametrizations over different
transaction sequences.
2023-05-09 14:49:26 -04:00
Tyler Goodlet
d67031d9ab
Ensure we set the test config dir in the root actor..
...
Not sure how this worked before but we need to also override the
`piker._config_dir: Path` in the root actor when running in `pytest`; my
guess is something in the old test suite was masking this problem after
the change to passing the dir path down through the runtime vars via
`tractor`?
Also this drops the ems related fixtures/factories since they're
specific enough to define in the clearing engine tests directly.
2023-05-09 14:49:26 -04:00
Tyler Goodlet
96006b2422
Adjust tests to `.clearing._client.OrderClient` type
2023-05-09 14:49:26 -04:00
Tyler Goodlet
9f03484c4d
Move all fqsn parsing and `Symbol` to new `accounting._mktinfo
2023-05-09 14:49:25 -04:00
Tyler Goodlet
beb6544bad
Start a new `.accounting` subpkg, move `.pp` contents there
2023-05-09 14:49:25 -04:00
Tyler Goodlet
8ceaa27872
Add ES client polling to ensure eventual connectivity..
2023-03-09 18:42:24 -05:00
Tyler Goodlet
97290fcb05
Never drop root perms in test harness
2023-03-09 18:42:24 -05:00
Tyler Goodlet
9a00c45923
Add `log` fixture for easy test plugin
2023-03-09 18:42:24 -05:00
Tyler Goodlet
7cc9911565
Add connection poll loop to es test as well
2023-03-09 15:37:43 -05:00
Tyler Goodlet
79b0db4449
Pass a config `tmp_dir: Path` to the runtime when testing
2023-03-09 15:37:43 -05:00
Tyler Goodlet
2014019b06
Add reconnect loop to `marketstore` startup test
...
Due to making ahabd supervisor init more async we need to be more
tolerant to mkts server startup: the grpc machinery needs to be up
otherwise a client which connects to early may just hang on requests..
Add a reconnect loop (which might end up getting factored into client
code too) so that we only block on requests once we know the client
connection is actually responsive.
2023-03-09 15:37:43 -05:00
Tyler Goodlet
cda7a54718
Fix final missed `marketstore` mod import
...
Thanks @esme! XD
Also, do a linter pass and remove a buncha unused references.
2023-03-09 15:37:43 -05:00
Tyler Goodlet
93c81fa4d1
Start `piker.service` sub-package
...
For now just moves everything that was in `piker._daemon` to a subpkg
module but a reorg is coming pronto!
2023-03-09 15:37:42 -05:00
Guillermo Rodriguez
f5b8b9a14f
Add sym registry to PaperBoi as well as a sym ref on Transaction
...
Add decimal quantize API to Symbol to simplify by-broker truncation
Add symbol info to `pps.toml`
Move _assert call to outside the _async_main context manager
Minor indentation and styling changes, also convert a few prints to log calls
Fix multi write / race condition on open_pps call
Switch open_pps to not write by default
Fix integer math kraken syminfo _tick_size initialization
2023-03-01 21:06:48 -03:00
Guillermo Rodriguez
dc78994dcf
Fixed float dust bug on zero position case
2023-03-01 21:05:37 -03:00
jaredgoldman
c83fe5aaa7
Fix typo in test docstring
2023-02-28 14:22:24 -05:00
jaredgoldman
41f81eb701
Make write on exit default false
2023-02-28 14:14:05 -05:00
jaredgoldman
05fdc9dd60
Add xfail
2023-02-28 13:55:12 -05:00
jaredgoldman
1323981cc4
Format lines in conftest
...
Add extra line in conftest
2023-02-28 13:52:12 -05:00
jaredgoldman
882032e3a3
Change skip to xfail
2023-02-28 13:52:03 -05:00
jaredgoldman
a6257ae615
Add docstrings to test cases,
...
format function calls
2023-02-28 13:52:03 -05:00
jaredgoldman
973c068e96
Assert conditions like a nerd
2023-02-28 13:52:03 -05:00
jaredgoldman
d7317c3710
Shorten assertion docstring
2023-02-28 13:52:03 -05:00
jaredgoldman
87eb9c5772
Format assertion conditions
2023-02-28 13:51:47 -05:00
jaredgoldman
ecb22dda1a
Remove whitespace, remove stale comments
2023-02-28 13:51:47 -05:00
jaredgoldman
6f15d47012
Add space in docstrings,
...
remove duplicate import
2023-02-28 13:51:47 -05:00
jaredgoldman
802af306ac
Add specific location of _testing dir in delete_testing_dir fixture
2023-02-28 13:51:47 -05:00
jaredgoldman
342aec648b
Skip zero test and change use Path when creating a config folder in marketstore
2023-02-28 13:51:47 -05:00
jaredgoldman
4b72d3ba99
Add backpressure setting back as it wasn't altering test behaviour
2023-02-28 13:51:47 -05:00
jaredgoldman
36f466fff8
Ensure tests are running and working up until asserting pps
2023-02-28 13:51:47 -05:00
jaredgoldman
fcd8b8eb78
Remove breaking call to load pps from ledger
2023-02-25 18:59:40 -05:00
jaredgoldman
3a6fbabaf8
Minor formatting
2023-02-25 18:59:40 -05:00
jaredgoldman
85ad23a1e9
Remove uneeded assert_precision arg
2023-02-25 18:59:40 -05:00
jaredgoldman
15525c2b46
Add functionality and tests for executing mutliple orders
2023-02-25 18:59:40 -05:00
jaredgoldman
76736a5441
Refactor to avoid global state while testing
2023-02-25 18:59:40 -05:00
jaredgoldman
4c2e776e01
Ensure to cleanup by passing fixture in paper_test signature
2023-02-25 18:59:40 -05:00
jaredgoldman
3fcad16298
Ensure not to write to pps when asserting?
2023-02-25 18:59:40 -05:00
jaredgoldman
2d25d1f048
Push failing assert no pps test
2023-02-25 18:59:40 -05:00
jaredgoldman
e54d928405
Reformat fake fill in paper engine,
...
Ensure tests pass, refactor test wrapper
2023-02-25 18:59:40 -05:00
jaredgoldman
c99381216d
Ensure actual pp is sent to ems
...
ensure not to write pp header on startup
Comment out pytest settings
Add comments explaining delete_testing_dir fixture
use nonlocal instead of global for test state
Add unpacking get_fqsn method
Format test_paper
Add comments explaining sync/async book.send calls
2023-02-25 18:59:40 -05:00
algorandpa
7bd8019876
Add back cleanup fixture
2023-02-25 18:59:39 -05:00
algorandpa
8122e6c86f
Disable cleanup to see if CI passes
2023-02-25 18:59:39 -05:00
algorandpa
7e87dc52eb
Scope fixture to session
2023-02-25 18:59:39 -05:00
algorandpa
2c366d7349
Fix type
2023-02-25 18:59:39 -05:00
algorandpa
9acbfacd4c
only clean up if _testing file exists
2023-02-25 18:59:39 -05:00
algorandpa
316ead577d
Remove scoping
2023-02-25 18:59:39 -05:00
algorandpa
4b6d3fe138
Scope cleanup fixture to module
2023-02-25 18:59:39 -05:00
algorandpa
0dec2b9c89
Enable backpressure during data-feed layer startup to avoid overruns
2023-02-25 18:59:39 -05:00
algorandpa
e5cefeb44b
Format to prep for PR
2023-02-25 18:59:39 -05:00
algorandpa
7142a6a7ca
Add hacky cleanup solution for _testng data
2023-02-25 18:59:39 -05:00
algorandpa
dff8abd6ad
Minor reformatting
2023-02-25 18:59:39 -05:00
algorandpa
95b9dacb7a
Break test into steps
2023-02-25 18:59:39 -05:00
algorandpa
df868cec35
Assert that trades persist in ems after teardown and startup
2023-02-25 18:59:39 -05:00
algorandpa
84cd1e0059
initial commit on copy
2023-02-25 18:59:39 -05:00
algorandpa
86b4386522
minor changes, prepare for rebase of overlays branch
2023-02-25 18:59:39 -05:00
Guillermo Rodriguez
47bf45f30e
Merge pull request #464 from pikers/elasticsearch_integration
...
Elasticsearch integration
2023-02-24 16:38:37 -03:00
Esmeralda Gallardo
b96e2c314a
Minor style changes and removed unnecesary comments
2023-02-24 15:11:15 -03:00
Esmeralda Gallardo
f96d6a04b6
Fixed UnboundLocalError on _ahab. Added test for marketstore's initialization
2023-02-22 13:28:07 -03:00
Guillermo Rodriguez
acc6249d88
Remove unnesesary arguments to some pikerd functions, fix container init error
...
by switching from log reading to quering es health endpoint, fix install on ci
and add more logging.
2023-02-21 20:45:10 -03:00
Tyler Goodlet
0b678c97f4
Pass `loglevel: str` cli value through to service tests
2023-02-21 12:02:26 -05:00
Esmeralda Gallardo
4122c482ba
Added new tests for elasticsearch's and marketstore's initialization and stop
2023-02-21 13:34:29 -03:00
Esmeralda Gallardo
b5cdf14036
Modified elasticsearch file name to 'elastic' to avoid name errors. Applied changes suggested in the pr.
2023-02-21 13:34:29 -03:00
Tyler Goodlet
b3400f0d9c
Add `loglevel: str` fixture, passthrough to `open_test_pikerd()`
2023-02-21 10:54:18 -05:00
Tyler Goodlet
cd3e9b1b2a
Move quest fixtures to test mod, clean out old travis fixture
2023-02-21 10:54:18 -05:00
Tyler Goodlet
69074f4fa5
Bump up service tree spawn timeout a couple secs
2023-01-26 17:59:25 -05:00
Tyler Goodlet
fe4fb37b58
Add service tree tests for data-feeds and the EMS
2023-01-24 15:15:27 -05:00
Tyler Goodlet
7cfd431a2b
Yield `Services` in `open_test_pikerd()` fixture
2023-01-24 15:15:27 -05:00
Tyler Goodlet
37e0ec7b7d
Assert fixture caller is `pikerd`
2023-01-13 13:21:49 -05:00
Tyler Goodlet
6a1bb13feb
Add base `pikerd` service tree custom check test
2023-01-13 13:21:49 -05:00
Tyler Goodlet
593db0ed0d
Only run `kraken` feed tests in CI, use `open_test_pikerd()`
2023-01-10 11:09:19 -05:00
Tyler Goodlet
06622105cd
Add a `open_test_pikerd()` acm fixture for easy booting of the service stack
2023-01-10 11:09:19 -05:00
Tyler Goodlet
f232d6d4ee
Add `ci_env` detector fixture
2023-01-10 11:09:19 -05:00
Tyler Goodlet
b7e1443618
Use ETH on kraken to ensure enough quotes
2023-01-10 11:09:19 -05:00
Tyler Goodlet
5d021ffb85
Bump up timeout on multi-feed test for CI
2023-01-10 11:09:19 -05:00
Tyler Goodlet
e348968113
Add multi-broker streaming test using both `binance` and `kraken`
2023-01-10 11:09:19 -05:00