Commit Graph

70 Commits

Author SHA1 Message Date
creslinux 631df64c68 To better align with multiple client protocols, this PR
Refactors the existing RPC directory, classes, defs as below.
This is to better reflect the nature of the files/classes/defs to support other clients - such as rest

The code is functional, ive tested every RPC button in Telegram.
1 unit test is failing ( they all were till find_replace) in test_rpc_telegram.

Can I ask for anothers opinion on why this 1 test fails, im at loss to debug
- mocker is stretching my working knowledge of python -

Ive renamed common methods from RPC_method_name to server_method_name
e.g rpc_stop becomes server_stop, the super class is CLIENTS not RPC as it is agnostic to RPC

freqtrade/rcp/ - rpc.py
......................- rpc_manager.py
......................- telegram.py

to:

freqtrade/clients/client_manager.py (was rpc_manager
......................-common/client.py (was rpc.py - but is agnostic to what client calls)
......................-rpc/telegram.py
......................-rpc/*discord.py (example future RPC client
......................-rest/*cmd line.py (example future rest cmdline rest client
......................-rest/*web.py (example future rest web client
2018-06-09 09:03:22 +00:00
gcarq a29ac44d64 adapt tests 2018-06-07 05:27:55 +02:00
Matthias Voppichler 8549201502 add test for new fiat_convert logic 2018-05-13 20:46:02 +02:00
Matthias Voppichler b1c53ec656 refactor "patch_coinmarketcap" to conftest"
add patch_coinmarketcap to get_patched_freqtradebot
2018-05-13 20:04:40 +02:00
gcarq 306885e174 Merge branch 'develop' into feat/objectify-ccxt 2018-05-02 22:49:55 +02:00
Michael Egger 90a107393a Merge pull request #622 from gcarq/fix/dl-testdata
fix download testdata
2018-05-02 22:06:43 +02:00
Matthias Voppichler 72c17e29c0 Add test for "no trades found" case 2018-04-25 09:08:02 +02:00
Matthias Voppichler f6ecd8e514 Add pytest fixture for real_amount test 2018-04-25 08:51:31 +02:00
Matthias Voppichler a70958da41 test modify-logic 2018-04-22 11:05:23 +02:00
Samuel Husso 9f1544978d tests: use only coins that most likely are going to be in bittrex 2018-04-22 11:29:21 +03:00
Matthias Voppichler a140748b5a Merge branch 'feat/objectify-ccxt' into cxxt_obj_sellfix 2018-04-21 22:39:22 +02:00
Matthias 23e989d31f Fix tests run in random order (#599)
* allow tests to run in random mode

* Fix random test mode for fiat-convert

* allow random test execution in persistence

* fix pep8 styling

* use "usefixtures" to prevent pylint "unused parameter" message

* add pytest-random-order to travis
2018-04-21 21:21:50 +02:00
Matthias Voppichler 1d43dc229b refactor tests of get_real_amount 2018-04-21 13:33:29 +02:00
enenn 53b1f8d3a4 Add a 4th pair to testing dynamic whitelist generation 2018-04-15 12:20:49 +02:00
enenn cc5991d269 Fixturize fee MagicMock object in tests 2018-04-15 12:09:12 +02:00
enenn 91b2092d55 Remove ticker_history_api and ticker_history_without_bv from conftest.py 2018-04-12 18:16:25 +02:00
enenn fef8a4c978 Update tests related to whitelist 2018-04-12 18:07:44 +02:00
enenn 0b71f7186c Replace 'get_wallet_health' and 'get_markets_summaries'
Both are now covered by 'get_markets'
2018-04-12 18:07:43 +02:00
Matthias a26cdceb4b Fix tests run in random order (#599)
* allow tests to run in random mode

* Fix random test mode for fiat-convert

* allow random test execution in persistence

* fix pep8 styling

* use "usefixtures" to prevent pylint "unused parameter" message

* add pytest-random-order to travis
2018-04-07 20:06:53 +02:00
enenn 4f4cb3698e Revert editing health in conftest.py 2018-04-07 17:05:44 +02:00
enenn db46ad6502 Change ticker interval from minutes as integer to string (1m, 5m, 1h,...) 2018-04-07 16:57:47 +02:00
enenn 616006caf8 Replace 'ETH/BTC' with 'UNITTEST/BTC' to fix adx not generating if ETH/BTC ticker history is too short 2018-04-07 16:55:18 +02:00
enenn c1c6ed6ed7 Replace 'BTC_XXX' with 'XXX/BTC' for pairs and 'XXX_BTC' for files 2018-04-07 16:51:50 +02:00
enenn 1f75636e56 [1/3] Add support for multiple exchanges with ccxt (objectified version) (#585)
* remove obsolete helper functions and make _state a public member.

* remove function assertions

* revert worker() changes

* Update pytest from 3.4.2 to 3.5.0

* Adapt exchange functions to ccxt API
Remove get_market_summaries and get_wallet_health, add exception handling

* Add NetworkException

* Change pair format in constants.py

* Add tests for exchange functions that comply with ccxt

* Remove bittrex tests

* Remove Bittrex and Interface classes

* Add retrier decorator

* Remove cache from get_ticker

* Remove unused and duplicate imports

* Add keyword arguments for get_fee

* Implement 'get_pair_detail_url'

* Change get_ticker_history format to ccxt format

* Fix exchange urls dict, don't need to initialize exchanges

* Add "Using Exchange ..." logging line
2018-04-06 10:57:08 +03:00
Michael Egger 9019f6492f define constants on module level (#596) 2018-04-02 16:42:53 +02:00
Samuel Husso 3069a422e9 Conftest: use coins that we know are in bittrex, added a new conf for ccxt unittest 2018-03-26 09:24:22 +03:00
Matthias Voppichler 82a2144296 change format of health fixture and get_market_summaries fixture 2018-03-24 20:36:33 +01:00
Matthias Voppichler 609c1eee55 fix persistance tests 2018-03-24 20:03:31 +01:00
gcarq d2aea7bdc1 optimize imports 2018-03-20 19:50:04 +01:00
Matthias b67257db35 replace pymarketcap with coinmarketcap (#562)
* replace pymarketcap with coinmarketcap

* fix tests to use coinmarketcap instead of pymarketcap

* use arraypos 0

* update setup.py from pymarketcap to coinmarketcap

* Add test to check for unsupported Crypto currency
2018-03-19 18:40:40 +01:00
Gerald Lonlas 38510d4b03 Merge commit '1134c81aad049d4357c8f299ffc801218f3d9574' into feature/objectify 2018-03-03 17:26:06 -08:00
Gerald Lonlas bc8ca491cd Minor updates 2018-03-03 09:33:54 +08:00
Gerald Lonlas 766ec5ad0f Update unit tests to be compatible with this refactoring
Updated:
- test_acl_pair to be compatible with FreqtradeBot() class
- test_default_strategy.py to be compatible with Analyze() class
2018-03-03 09:33:54 +08:00
Gerald Lonlas 1d251d6151 Move Backtesting to a class and add unit tests 2018-03-03 09:33:54 +08:00
Gerald Lonlas 4da033c7a2 Refactor main.py
- Update, clean, and improve code coverage on main.py
- Move bot trading logic into Freqtradebot() class
- Move unit tests to test_freqtradebot, add more coverage tests
2018-03-03 09:33:54 +08:00
Gerald Lonlas 89e3729955 Add a Configuration class that generate the Bot config from Arguments 2018-03-03 09:33:54 +08:00
kryofly 12a19e400f tests: more backtesting testing (#496)
* tests: more backtesting testing

* tests: hyperopt

* tests: document kludge

* tests: improve test_dataframe_correct_length

* tests: remove remarks
2018-02-08 21:49:43 +02:00
kryofly 9f6aedea47 telegram refactor 1/ (#389)
* telegram refactor 1/

move out freqcode from telegram

* telegram refactor 2/

move out rpc_trade_status

* telegram refactor 3/

move out rpc_daily_profit

* telegram refactor /4

move out rpc_trade_statistics

* 5/

* rpc refactor 6/

* rpc refactor 7/

* rpc refactor 8/

* rpc refactor 9/

* rpc refactor 10/

cleanups
two tests are broken

* fiat

* rpc: Add back fiat singleton usage

* test: rpc_trade_statistics

Test that rpc_trade_statistics can handle trades that lacks
trade.open_rate (it is set to None)

* test: rpc_forcesell

Also some cleanups

* test: telegram.py::init

* test: telegram test_cleanup and test_status

* test rcp cleanup
2018-02-01 08:05:23 +02:00
Gerald Lonlas d824816880 Increase pylint score on test files 2018-01-28 00:28:41 -08:00
Janne Sinivirta 7dc63c06e7 Merge pull request #356 from kryofly/test_coverage
Test coverage
2018-01-25 09:31:06 +02:00
Samuel Husso 757a46ab12 ticker_interval as int (instead of string) 2018-01-22 10:39:26 +02:00
Jean-Baptiste LE STANG c0d3ac5534 With a better unit test thanks @glonlas 2018-01-21 15:02:41 +01:00
Jean-Baptiste LE STANG 960d088deb Fixing the 'BV' key being missing for USDT 2018-01-21 15:02:41 +01:00
kryofly e94e6292e9 Merge branch 'develop' into test_coverage 2018-01-20 22:01:03 +01:00
Jean-Baptiste LE STANG 8e5de365a5 Ticker in the conf is now an enum string 2018-01-17 13:52:14 +01:00
Jean-Baptiste LE STANG e2e2005567 Adding 30 minutes, 1 hour, 1 day tickers 2018-01-17 13:52:14 +01:00
kryofly 05f5a1b0ee Merge branch 'develop' into test_coverage 2018-01-11 19:49:33 +01:00
Janne Sinivirta c11102cf4a another run of autopep8 2018-01-11 07:08:56 +02:00
Janne Sinivirta 86db6c9084 sort imports 2018-01-11 07:08:56 +02:00
kryofly f8cc08e2a1 small refactor splitting the _process() 2018-01-10 13:42:59 +01:00