mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
exchange: add SetRequester to exchange Base (#1095)
* add setRequester to exchange Base * add tests * fix lint * Update exchange_test.go
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/margin"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/order"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/protocol"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/request"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/stream"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/trade"
|
||||
"github.com/thrasher-corp/gocryptotrader/log"
|
||||
@@ -47,6 +48,16 @@ var (
|
||||
errSymbolCannotBeMatched = errors.New("symbol cannot be matched")
|
||||
)
|
||||
|
||||
// SetRequester sets the instance of the requester
|
||||
func (b *Base) SetRequester(r *request.Requester) error {
|
||||
if r == nil {
|
||||
return fmt.Errorf("%s cannot set requester, no requester provided", b.Name)
|
||||
}
|
||||
|
||||
b.Requester = r
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetClientProxyAddress sets a proxy address for REST and websocket requests
|
||||
func (b *Base) SetClientProxyAddress(addr string) error {
|
||||
if addr == "" {
|
||||
|
||||
@@ -2616,3 +2616,31 @@ func TestGetPairAndAssetTypeRequestFormatted(t *testing.T) {
|
||||
t.Fatalf("received: '%v' but expected: '%v'", p, expected)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetRequester(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
b := Base{
|
||||
Config: &config.Exchange{Name: "kitties"},
|
||||
Requester: nil,
|
||||
}
|
||||
|
||||
err := b.SetRequester(nil)
|
||||
if err == nil {
|
||||
t.Fatal("error cannot be nil")
|
||||
}
|
||||
|
||||
requester, err := request.New("testingRequester", common.NewHTTPClientWithTimeout(0))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = b.SetRequester(requester)
|
||||
if err != nil {
|
||||
t.Fatalf("expected no error, received %v", err)
|
||||
}
|
||||
|
||||
if b.Requester == nil {
|
||||
t.Fatal("requester not set correctly")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user