Skip to content

Commit 4a45a03

Browse files
committed
fix tests for raw transactions
1 parent 54d3d59 commit 4a45a03

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

test/clj_btc/core_test.clj

+22-14
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
;;;; any other, from this software.
99

1010
(ns clj-btc.core-test
11-
(:require [clojure.test :refer :all]
11+
(:require [clojure.set :refer (superset?)]
12+
[clojure.test :refer :all]
1213
[clj-btc.core :refer :all]
1314
[clj-btc.config :refer :all]))
1415

@@ -19,6 +20,7 @@
1920
;;; local configuration file.
2021

2122
(def cfg (atom {}))
23+
2224
(def addr-with-bitcoins
2325
{:public "mqWiQRdS6MePCtALRg2smULFvqf8Ru1usj",
2426
:private "cVGghpMADPnrX6YNnS7X8nSEnULR6epfJFHLyw9dvKi6n17tUkDg"})
@@ -46,6 +48,11 @@
4648
(str ~rpc-method " should return a result of type "
4749
~(str expected-type)))))
4850

51+
(defn- supermap?
52+
"Does m1 cointain all of m2? (inspired by https://stackoverflow.com/questions/20421405/how-to-check-if-a-map-is-a-subset-of-another-in-clojure)"
53+
[m1 m2]
54+
(superset? (set m1) (set m2)))
55+
4956
(deftest return-types
5057
(is-type integer? getblockcount)
5158
(is-type integer? getconnectioncount)
@@ -106,32 +113,33 @@
106113
"raw transaction creation correct")
107114

108115
(let [random-vout (rand-int 10000)
109-
random-amount (bigdec (rand))
116+
random-amount (bigdec (format "%.8f" (rand)))
110117
raw-transaction (createrawtransaction
111118
:txids-map
112119
[{"txid" "7acb74b4ad7f982eed3dabf93c8f474451b0a60f3f7950cd12a2bbe721290cb8"
113120
"vout" random-vout}]
114121
:addrs-amounts-map
115122
{"mqWiQRdS6MePCtALRg2smULFvqf8Ru1usj" random-amount})
116123
decoded-raw-transaction (decoderawtransaction :hex-string raw-transaction)]
117-
(is (= decoded-raw-transaction
118-
{"txid" "6316b2abcc2d957ecb1304f63725ea70841b1feae94c6f017e114556d8c60537",
119-
"version" 1, "locktime" 0,
120-
"vin" [{"txid" "7acb74b4ad7f982eed3dabf93c8f474451b0a60f3f7950cd12a2bbe721290cb8",
121-
"vout" random-vout, "scriptSig" {"asm" "", "hex" ""},
122-
"sequence" 4294967295}],
123-
"vout" [{"value" random-amount, "n" 0,
124-
"scriptPubKey"
125-
{"asm" "OP_DUP OP_HASH160 6da5a9b587c385c1a6002bf77f71e4333e0ceb1a OP_EQUALVERIFY OP_CHECKSIG",
126-
"hex" "76a9146da5a9b587c385c1a6002bf77f71e4333e0ceb1a88ac",
127-
"reqSigs" 1, "type" "pubkeyhash", "addresses" ["mqWiQRdS6MePCtALRg2smULFvqf8Ru1usj"]}}]})
124+
(is (supermap?
125+
decoded-raw-transaction
126+
{;; "txid" "6316b2abcc2d957ecb1304f63725ea70841b1feae94c6f017e114556d8c60537",
127+
"version" 1, "locktime" 0,
128+
"vin" [{"txid" "7acb74b4ad7f982eed3dabf93c8f474451b0a60f3f7950cd12a2bbe721290cb8",
129+
"vout" random-vout, "scriptSig" {"asm" "", "hex" ""},
130+
"sequence" 4294967295}],
131+
"vout" [{"value" random-amount, "n" 0,
132+
"scriptPubKey"
133+
{"asm" "OP_DUP OP_HASH160 6da5a9b587c385c1a6002bf77f71e4333e0ceb1a OP_EQUALVERIFY OP_CHECKSIG",
134+
"hex" "76a9146da5a9b587c385c1a6002bf77f71e4333e0ceb1a88ac",
135+
"reqSigs" 1, "type" "pubkeyhash", "addresses" ["mqWiQRdS6MePCtALRg2smULFvqf8Ru1usj"]}}]})
128136
"decoding encoded raw transaction correct"))
129137
(is (= (getrawtransaction :txid "7acb74b4ad7f982eed3dabf93c8f474451b0a60f3f7950cd12a2bbe721290cb8")
130138
"01000000019c19404b3cd4aa272cdc45fd6362f33151181d6ea6f26bda8d6311664e8a2248000000006b483045022065939207fde542fd6f38da9c651537f3e36621e9a447f2877ff0e8a807137367022100c7935881cd3af35502eb12a7ea12d7a2952ac5e1ada1dd52bef1b9449fca36240121024d1a5f75a170eebebe25df71a87e3ef012cc07754db4c87feeee65f1aeed84bfffffffff0210270000000000001976a914fac7cf4845a26094ff9571a27db6268950a3b70e88ac3214ac3a000000001976a914560b13a3ac034489c8bc9488d749174a2fb198e988ac00000000")
131139
"get raw transaction")
132140

133141
(is (= (signrawtransaction
134-
:txid "010000000189957b01aed596d3b361b576234eaeed3249246f14562d6bc6085166cd247d5a0000000000ffffffff0180969800000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000"
142+
:hexstring "010000000189957b01aed596d3b361b576234eaeed3249246f14562d6bc6085166cd247d5a0000000000ffffffff0180969800000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000"
135143
:txinfo [{:txid "7acb74b4ad7f982eed3dabf93c8f474451b0a60f3f7950cd12a2bbe721290cb8" :vout 2 :scriptPubKey "123d"}])
136144
{"hex" "010000000189957b01aed596d3b361b576234eaeed3249246f14562d6bc6085166cd247d5a0000000000ffffffff0180969800000000001976a9140dfc8bafc8419853b34d5e072ad37d1a5159f58488ac00000000",
137145
"complete" false})

0 commit comments

Comments
 (0)