예제 #1
0
func TestSendSky(t *testing.T) {
	_, teardown, err := setup()
	if err != nil {
		t.Fatal(err)
	}
	defer teardown()

	id, err := api.NewWallet("skycoin", "qwerqer")
	if err != nil {
		t.Fatal(err)
	}

	_, err = api.NewAddress(id, 3)
	if err != nil {
		t.Fatal(err)
	}

	txid, err := api.SendSky(id, "UsS43vk2yRqjXvgbwq12Dkjr8cHVTBxYoj", "1000000")
	// if err != nil {
	// 	t.Fatal(err)
	// 	return
	// }
	if !strings.Contains(err.Error(), "insufficient balance") {
		t.Fatal(err)
	}
	fmt.Println(txid)
}
예제 #2
0
func TestSendMzc(t *testing.T) {
	_, teardown, err := setup()
	if err != nil {
		t.Fatal(err)
	}
	defer teardown()

	id, err := api.NewWallet("mzcoin", "99999")
	if err != nil {
		t.Fatal(err)
	}

	_, err = api.NewAddress(id, 3)
	if err != nil {
		t.Fatal(err)
	}

	txid, err := api.SendMzc(id, "ntXEnuc6JoDie9eV4jEFFvALiRMpadhyGS", "1000000")
	// if err != nil {
	// 	t.Fatal(err)
	// 	return
	// }
	if !strings.Contains(err.Error(), "insufficient balance") {
		t.Fatal(err)
	}
	fmt.Println(txid)
}
예제 #3
0
func TestSendBtc(t *testing.T) {
	_, teardown, err := setup()
	if err != nil {
		t.Fatal(err)
	}
	defer teardown()

	id, err := api.NewWallet("bitcoin", "asdfasdf")
	if err != nil {
		t.Fatal(err)
	}

	_, err = api.NewAddress(id, 3)
	if err != nil {
		t.Fatal(err)
	}

	txid, err := api.SendBtc(id, "14NAt8DhxMYKUwP5ZyH1yu7m1psYsn9Wqz", "1000", "1000")
	// if err != nil {
	// 	t.Fatal(err)
	// 	return
	// }
	if !strings.Contains(err.Error(), "insufficient balance") {
		t.Fatal(err)
	}
	fmt.Println(txid)
}
예제 #4
0
func TestGetAddresses(t *testing.T) {
	_, teardown, err := setup()
	if err != nil {
		t.Fatal(err)
	}
	defer teardown()

	var testData = []struct {
		coinType   string
		seed       string
		num        int
		expectNum  int
		expectAddr map[string]bool
	}{
		{
			"bitcoin",
			"12345",
			2,
			2,
			map[string]bool{
				"17wGH9K5sE5qq7iKiWqYd89gpz15frtYVA": true,
				"1Kn8pqcX71VooZRQrEBPr9xhAP24jSZ95n": true,
			},
		},
		{
			"skycoin",
			"12345",
			2,
			2,
			map[string]bool{
				"VYPSLGumCu1BgPUFW9yo9Y9Wm6L8v1qpZt": true,
				"Ays2XnjRKFxLR5Z5cN4VFwUoctAiftLuwB": true,
			},
		},
		{
			"mzcoin",
			"2345",
			2,
			2,
			map[string]bool{
				"5v6aHMp7dxwFzZmnF1c2XjcJSKnaMixXmr":  true,
				"2CiP9MXLy6KpUyUzU3Y8nTRTuffYwreqgqa": true,
			},
		},
	}

	for _, td := range testData {
		id, err := api.NewWallet(td.coinType, td.seed)
		if err != nil {
			t.Fatal(err)
		}

		_, err = api.NewAddress(id, td.num)
		if err != nil {
			t.Fatal(err)
		}

		addrJSON, err := api.GetAddresses(id)
		if err != nil {
			t.Fatal(err)
		}
		var addrs struct {
			Addresses []string `json:"addresses"`
		}

		if err := json.Unmarshal([]byte(addrJSON), &addrs); err != nil {
			t.Fatal(err)
		}
		assert.Equal(t, len(addrs.Addresses), td.expectNum)
		for _, addr := range addrs.Addresses {
			if _, ok := td.expectAddr[addr]; !ok {
				t.Fatalf("addr: %s not expected", addr)
			}
		}
	}
}