Files
gocryptotrader/cmd/exchange_template/exchange_template_test.go
Adrian Gallagher b384991183 exchange_template: Fix test regression (#1128)
* exchange_template: Fix test regression

* Add coverage for saveConfig, fix test error

* Swap
2023-02-01 09:31:19 +11:00

83 lines
1.6 KiB
Go

package main
import (
"os"
"path/filepath"
"testing"
"github.com/thrasher-corp/gocryptotrader/common/file"
"github.com/thrasher-corp/gocryptotrader/config"
)
func TestCheckExchangeName(t *testing.T) {
tester := []struct {
Name string
ErrExpected error
}{
{
Name: "test exch",
ErrExpected: errInvalidExchangeName,
},
{
ErrExpected: errInvalidExchangeName,
},
{
Name: " ",
ErrExpected: errInvalidExchangeName,
},
{
Name: "m",
ErrExpected: errInvalidExchangeName,
},
{
Name: "mu",
ErrExpected: errInvalidExchangeName,
},
{
Name: "testexch",
},
}
for x := range tester {
if r := checkExchangeName(tester[x].Name); r != tester[x].ErrExpected {
t.Errorf("test: %d unexpected result", x)
}
}
}
func TestNewExchangeAndSaveConfig(t *testing.T) {
const testExchangeName = "testexch"
testExchangeDir := filepath.Join(targetPath, testExchangeName)
cfg := config.GetConfig()
t.Cleanup(func() {
if err := os.RemoveAll(testExchangeDir); err != nil {
t.Errorf("RemoveAll failed: %s, manual deletion of test directory required", err)
}
})
exchCfg, err := makeExchange(
testExchangeDir,
cfg,
&exchange{
Name: testExchangeName,
REST: true,
WS: true,
},
)
if err != nil {
t.Fatal(err)
}
cfgData, err := os.ReadFile(exchangeConfigPath)
if err != nil {
t.Fatal(err)
}
if err = saveConfig(testExchangeDir, cfg, exchCfg); err != nil {
t.Error(err)
}
if err = os.WriteFile(exchangeConfigPath, cfgData, file.DefaultPermissionOctal); err != nil {
t.Error(err)
}
}