mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 02:06:16 +00:00
63 lines
1.8 KiB
Go
63 lines
1.8 KiB
Go
package data
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/GMWalletApp/epusdt/internal/testutil"
|
|
"github.com/GMWalletApp/epusdt/model/mdb"
|
|
)
|
|
|
|
func TestEvmTransactionLockAddressIsCaseInsensitive(t *testing.T) {
|
|
cleanup := testutil.SetupTestDatabases(t)
|
|
defer cleanup()
|
|
|
|
tradeID := "trade-evm-case"
|
|
address := "0xA1B2c3D4e5F60718293aBcDeF001122334455667"
|
|
|
|
if err := LockTransaction("Ethereum", address, "usdt", tradeID, 1.23, time.Hour); err != nil {
|
|
t.Fatalf("lock transaction: %v", err)
|
|
}
|
|
|
|
gotTradeID, err := GetTradeIdByWalletAddressAndAmountAndToken(mdb.NetworkEthereum, strings.ToLower(address), "USDT", 1.23)
|
|
if err != nil {
|
|
t.Fatalf("lookup transaction lock: %v", err)
|
|
}
|
|
if gotTradeID != tradeID {
|
|
t.Fatalf("trade id = %q, want %q", gotTradeID, tradeID)
|
|
}
|
|
|
|
if err := UnLockTransaction(mdb.NetworkEthereum, strings.ToUpper(address), "USDT", 1.23); err != nil {
|
|
t.Fatalf("unlock transaction: %v", err)
|
|
}
|
|
|
|
gotTradeID, err = GetTradeIdByWalletAddressAndAmountAndToken(mdb.NetworkEthereum, address, "USDT", 1.23)
|
|
if err != nil {
|
|
t.Fatalf("lookup after unlock: %v", err)
|
|
}
|
|
if gotTradeID != "" {
|
|
t.Fatalf("expected lock to be released, got trade id %q", gotTradeID)
|
|
}
|
|
}
|
|
|
|
func TestNonEvmTransactionLockAddressRemainsCaseSensitive(t *testing.T) {
|
|
cleanup := testutil.SetupTestDatabases(t)
|
|
defer cleanup()
|
|
|
|
tradeID := "trade-tron-case"
|
|
address := "TCaseSensitiveAddress001"
|
|
|
|
if err := LockTransaction(mdb.NetworkTron, address, "USDT", tradeID, 1.00, time.Hour); err != nil {
|
|
t.Fatalf("lock transaction: %v", err)
|
|
}
|
|
|
|
gotTradeID, err := GetTradeIdByWalletAddressAndAmountAndToken(mdb.NetworkTron, strings.ToLower(address), "USDT", 1.00)
|
|
if err != nil {
|
|
t.Fatalf("lookup transaction lock: %v", err)
|
|
}
|
|
if gotTradeID != "" {
|
|
t.Fatalf("tron address lookup should remain case-sensitive, got trade id %q", gotTradeID)
|
|
}
|
|
}
|