aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go
diff options
context:
space:
mode:
authorTeddy Wing2015-06-06 19:25:17 -0400
committerTeddy Wing2015-06-06 19:25:17 -0400
commit1135764727f3dc525d0f674c784edbc81cc786f3 (patch)
tree5c402c88d3a07a3cde84237ead5829bda28f3e25 /vendor/_nuts/github.com/fabioberger/coinbase-go/mock_api_test.go
downloadNew-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.go255
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)
+ }
+}