45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
package okx
|
|
|
|
import (
|
|
. "gitea.zjmud.xyz/phyer/tanya/okx"
|
|
"testing"
|
|
)
|
|
|
|
func TestGetInstruments(t *testing.T) {
|
|
service := NewOkxPublicDataService() // 使用默认的正式环境 URL
|
|
|
|
params := InstrumentsRequest{InstType: "SPOT"}
|
|
instruments, err := service.GetInstruments(params)
|
|
if err != nil {
|
|
t.Fatalf("Expected no error, got %v", err)
|
|
}
|
|
|
|
if len(instruments) == 0 {
|
|
t.Fatal("Expected at least one instrument, got none")
|
|
}
|
|
|
|
// 检查返回数据的结构
|
|
for _, inst := range instruments {
|
|
if inst.InstType != "SPOT" {
|
|
t.Errorf("Expected InstType 'SPOT', got %s", inst.InstType)
|
|
}
|
|
if inst.InstID == "" {
|
|
t.Error("Expected non-empty InstID")
|
|
}
|
|
if inst.BaseCcy == "" || inst.QuoteCcy == "" {
|
|
t.Error("Expected non-empty BaseCcy and QuoteCcy")
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestGetInstruments_InvalidInstType(t *testing.T) {
|
|
service := NewOkxPublicDataService()
|
|
|
|
params := InstrumentsRequest{InstType: "INVALID"}
|
|
_, err := service.GetInstruments(params)
|
|
if err == nil {
|
|
t.Fatal("Expected an error for invalid instType, got nil")
|
|
}
|
|
}
|
|
|