mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
accounts: Move to instance methods, fix races and isolate tests (#1923)
* Bybit: Fix race in TestUpdateAccountInfo and TestWSHandleData * DriveBy rename TestWSHandleData * This doesn't address running with -race=2+ due to the singleton * Accounts: Add account.GetService() * exchange: Assertify TestSetupDefaults * Exchanges: Add account.Service override for testing * Exchanges: Remove duplicate IsWebsocketEnabled test from TestSetupDefaults * Dispatch: Replace nil checks with NilGuard * Engine: Remove deprecated printAccountHoldingsChangeSummary * Dispatcher: Add EnsureRunning method * Accounts: Move singleton accounts service to exchange Accounts * Move singleton accounts service to exchange Accounts This maintains the concept of a global store, whilst allowing exchanges to override it when needed, particularly for testing. APIServer: * Remove getAllActiveAccounts from apiserver Deprecated apiserver only thing using this, so remove it instead of updating it * Update comment for UpdateAccountBalances everywhere * Docs: Add punctuation to function comments * Bybit: Coverage for wsProcessWalletPushData Save
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/thrasher-corp/gocryptotrader/config"
|
||||
"github.com/thrasher-corp/gocryptotrader/currency"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchange/accounts"
|
||||
exchange "github.com/thrasher-corp/gocryptotrader/exchanges"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/mock"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/sharedtestvalues"
|
||||
@@ -34,8 +35,7 @@ func Setup(e exchange.IBotExchange) error {
|
||||
return err
|
||||
}
|
||||
|
||||
err = cfg.LoadConfig(filepath.Join(root, "testdata", "configtest.json"), true)
|
||||
if err != nil {
|
||||
if err = cfg.LoadConfig(filepath.Join(root, "testdata", "configtest.json"), true); err != nil {
|
||||
return fmt.Errorf("LoadConfig() error: %w", err)
|
||||
}
|
||||
e.SetDefaults()
|
||||
@@ -47,10 +47,13 @@ func Setup(e exchange.IBotExchange) error {
|
||||
e.SetDefaults()
|
||||
b := e.GetBase()
|
||||
b.Websocket = sharedtestvalues.NewTestWebsocket()
|
||||
err = e.Setup(exchConf)
|
||||
if err != nil {
|
||||
|
||||
if err = e.Setup(exchConf); err != nil {
|
||||
return fmt.Errorf("Setup() error: %w", err)
|
||||
}
|
||||
|
||||
b.Accounts = accounts.MustNewAccounts(b)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user