diff options
| author | Teddy Wing | 2015-06-06 19:25:17 -0400 |
|---|---|---|
| committer | Teddy Wing | 2015-06-06 19:25:17 -0400 |
| commit | 1135764727f3dc525d0f674c784edbc81cc786f3 (patch) | |
| tree | 5c402c88d3a07a3cde84237ead5829bda28f3e25 /vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go | |
| download | New-House-on-the-Block-1135764727f3dc525d0f674c784edbc81cc786f3.tar.bz2 | |
Initial commit. Install coinbase-go.
* Use nut for vendored dependencies
* Install coinbase-go to interact with the Coinbase API
Diffstat (limited to 'vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go')
| -rw-r--r-- | vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go | 255 |
1 files changed, 255 insertions, 0 deletions
diff --git a/vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go b/vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go new file mode 100644 index 0000000..30f190f --- /dev/null +++ b/vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go @@ -0,0 +1,255 @@ +package coinbase + +import ( + "log" + "os" + "testing" +) + +// Initialize the client with mock mode enabled on rpc +// All calls return the corresponding json response from the test_data files +func initTestClient() Client { + return apiKeyClientTest(os.Getenv("COINBASE_KEY"), os.Getenv("COINBASE_SECRET")) +} + +// About Mock Tests: +// All Mock Tests simulate requests to the coinbase API by returning the expected +// return values from a file under the test_data folder. The values received from +// the file are compared with the expected value given the marshaling of the JSON +// executed correctly. + +func TestMockGetBalanceParse(t *testing.T) { + c := initTestClient() + amount, err := c.GetBalance() + if err != nil { + log.Fatal(err) + } + compareFloat(t, "GetBalanceParse", 36.62800000, amount) +} + +func TestMockGetReceiveAddressParse(t *testing.T) { + c := initTestClient() + params := &AddressParams{} + address, err := c.GenerateReceiveAddress(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "GetReceiveAddressParse", "muVu2JZo8PbewBHRp6bpqFvVD87qvqEHWA", address) +} + +func TestMockGetAllAddressesParse(t *testing.T) { + c := initTestClient() + params := &AddressesParams{} + addresses, err := c.GetAllAddresses(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "GetAllAddressesParse", "2013-05-09T23:07:08-07:00", addresses.Addresses[0].CreatedAt) + compareString(t, "GetAllAddressesParse", "mwigfecvyG4MZjb6R5jMbmNcs7TkzhUaCj", addresses.Addresses[1].Address) + compareInt(t, "GetAllAddressesParse", 1, int64(addresses.NumPages)) +} + +func TestMockCreateButtonParse(t *testing.T) { + c := initTestClient() + params := &Button{} + data, err := c.CreateButton(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "CreateButtonParse", "93865b9cae83706ae59220c013bc0afd", data.Code) + compareString(t, "CreateButtonParse", "Sample description", data.Description) +} + +func TestMockSendMoneyParse(t *testing.T) { + c := initTestClient() + params := &TransactionParams{} + data, err := c.SendMoney(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "SendMoneyParse", "-1.23400000", data.Transaction.Amount.Amount) + compareString(t, "SendMoneyParse", "37muSN5ZrukVTvyVh3mT5Zc5ew9L9CBare", data.Transaction.RecipientAddress) +} + +func TestMockRequestMoneyParse(t *testing.T) { + c := initTestClient() + params := &TransactionParams{} + data, err := c.RequestMoney(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "RequestMoneyParse", "1.23400000", data.Transaction.Amount.Amount) + compareString(t, "RequestMoneyParse", "5011f33df8182b142400000e", data.Transaction.Recipient.Id) +} + +func TestMockResendRequestParse(t *testing.T) { + c := initTestClient() + data, err := c.ResendRequest("ID") + if err != nil { + log.Fatal(err) + } + compareBool(t, "ResendRequestParse", true, data) +} + +func TestMockCancelRequestParse(t *testing.T) { + c := initTestClient() + data, err := c.CancelRequest("ID") + if err != nil { + log.Fatal(err) + } + compareBool(t, "CancelRequestParse", false, data) +} + +func TestMockCompleteRequestParse(t *testing.T) { + c := initTestClient() + data, err := c.CompleteRequest("ID") + if err != nil { + log.Fatal(err) + } + compareString(t, "CancelRequestParse", "503c46a3f8182b106500009b", data.Transaction.Id) +} + +func TestMockCreateOrderFromButtonCodeParse(t *testing.T) { + c := initTestClient() + data, err := c.CreateOrderFromButtonCode("ID") + if err != nil { + log.Fatal(err) + } + compareString(t, "CreateOrderFromButtonCodeParse", "7RTTRDVP", data.Id) + compareString(t, "CreateOrderFromButtonCodeParse", "new", data.Status) +} + +func TestMockCreateUserParse(t *testing.T) { + c := initTestClient() + data, err := c.CreateUser("test@email.com", "password") + if err != nil { + log.Fatal(err) + } + compareString(t, "CreateUser", "newuser@example.com", data.Email) + compareString(t, "CreateUser", "501a3d22f8182b2754000011", data.Id) +} + +func TestMockBuyParse(t *testing.T) { + c := initTestClient() + data, err := c.Buy(1000.0, true) + if err != nil { + log.Fatal(err) + } + compareString(t, "Buys", "2013-01-28T16:08:58-08:00", data.CreatedAt) + compareString(t, "Buys", "USD", data.Fees.Bank.CurrencyIso) + compareString(t, "Buys", "13.55", data.Subtotal.Amount) +} + +func TestMockSellParse(t *testing.T) { + c := initTestClient() + data, err := c.Sell(1000.0) + if err != nil { + log.Fatal(err) + } + compareString(t, "Sells", "2013-01-28T16:32:35-08:00", data.CreatedAt) + compareString(t, "Sells", "USD", data.Fees.Bank.CurrencyIso) + compareString(t, "Sells", "13.50", data.Subtotal.Amount) +} + +func TestMockGetContactsParse(t *testing.T) { + c := initTestClient() + params := &ContactsParams{ + Page: 1, + Limit: 5, + } + data, err := c.GetContacts(params) + if err != nil { + log.Fatal(err) + } + compareString(t, "GetContacts", "user1@example.com", data.Emails[0]) +} + +func TestMockGetTransactionsParse(t *testing.T) { + c := initTestClient() + data, err := c.GetTransactions(1) + if err != nil { + log.Fatal(err) + } + compareInt(t, "GetTransactions", 2, data.TotalCount) + compareString(t, "GetTransactions", "5018f833f8182b129c00002f", data.Transactions[0].Id) + compareString(t, "GetTransactions", "-1.00000000", data.Transactions[1].Amount.Amount) +} + +func TestMockGetOrdersParse(t *testing.T) { + c := initTestClient() + data, err := c.GetOrders(1) + if err != nil { + log.Fatal(err) + } + compareString(t, "GetOrders", "buy_now", data.Orders[0].Button.Type) + compareInt(t, "GetOrders", int64(0), int64(data.Orders[0].Transaction.Confirmations)) +} + +func TestMockGetTransfersParse(t *testing.T) { + c := initTestClient() + data, err := c.GetTransfers(1) + if err != nil { + log.Fatal(err) + } + compareString(t, "GetTransfers", "BTC", data.Transfers[0].Btc.Currency) + compareInt(t, "GetTransfers", int64(1), int64(data.NumPages)) +} + +func TestMockGetTransaction(t *testing.T) { + c := initTestClient() + data, err := c.GetTransaction("ID") + if err != nil { + log.Fatal(err) + } + compareString(t, "GetTransaction", "5018f833f8182b129c00002f", data.Id) + compareString(t, "GetTransaction", "BTC", data.Amount.Currency) + compareString(t, "GetTransaction", "User One", data.Recipient.Name) +} + +func TestMockGetOrder(t *testing.T) { + c := initTestClient() + data, err := c.GetOrder("ID") + if err != nil { + log.Fatal(err) + } + compareString(t, "GetTransaction", "A7C52JQT", data.Id) + compareString(t, "GetTransaction", "BTC", data.TotalBtc.CurrencyIso) + compareString(t, "GetTransaction", "test", data.Button.Name) +} + +func TestMockGetUser(t *testing.T) { + c := initTestClient() + data, err := c.GetUser() + if err != nil { + log.Fatal(err) + } + compareString(t, "GetTransaction", "512db383f8182bd24d000001", data.Id) + compareString(t, "GetTransaction", "49.76000000", data.Balance.Amount) + compareString(t, "GetTransaction", "Company Name, Inc.", data.Merchant.CompanyName) +} + +func compareFloat(t *testing.T, prefix string, expected float64, got float64) { + if expected != got { + t.Errorf(`%s + Expected %0.32f + but got %0.32f`, prefix, expected, got) + } +} + +func compareInt(t *testing.T, prefix string, expected int64, got int64) { + if expected != got { + t.Errorf("%s Expected %d but got %d", prefix, expected, got) + } +} + +func compareString(t *testing.T, prefix string, expected string, got string) { + if expected != got { + t.Errorf("%s Expected '%s' but got '%s'", prefix, expected, got) + } +} + +func compareBool(t *testing.T, prefix string, expected bool, got bool) { + if expected != got { + t.Errorf("%s Expected '%t' but got '%t'", prefix, expected, got) + } +} |
