* added tests (for the sake of on demand local tests)

* added wrapping the first parameters of the calls into `"`

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
Jürgen Eckel 2024-03-20 11:23:16 +01:00
parent 0ec6fba4ec
commit 0178fc75d0
No known key found for this signature in database
2 changed files with 68 additions and 8 deletions

View File

@ -24,7 +24,7 @@ func ReissueAsset(reissueTx string) (txID string, err error) {
cmdArgs := strings.Split(reissueTx, " ")
elementsSyncAccess.Lock()
defer elementsSyncAccess.Unlock()
result, err := elements.ReissueAsset(url, []string{cmdArgs[1], cmdArgs[2]})
result, err := elements.ReissueAsset(url, []string{`"` + cmdArgs[1] + `"`, cmdArgs[2]})
if err != nil {
return
}
@ -39,7 +39,7 @@ func DistributeAsset(address string, amount string, reissuanceAsset string) (txI
elementsSyncAccess.Lock()
defer elementsSyncAccess.Unlock()
txID, err = elements.SendToAddress(url, []string{
address,
`"` + address + `"`,
`"` + amount + `"`,
`""`,
`""`,
@ -62,7 +62,7 @@ func IssueNFTAsset(name string, machineAddress string, domain string) (assetID s
return
}
addressInfo, err := elements.GetAddressInfo(url, []string{address})
addressInfo, err := elements.GetAddressInfo(url, []string{`"` + address + `"`})
if err != nil {
return
}
@ -74,7 +74,7 @@ func IssueNFTAsset(name string, machineAddress string, domain string) (assetID s
return
}
fundRawTransactionResult, err := elements.FundRawTransaction(url, []string{hex, `{"feeRate":0.00001000}`})
fundRawTransactionResult, err := elements.FundRawTransaction(url, []string{`"` + hex + `"`, `{"feeRate":0.00001000}`})
if err != nil {
return
}
@ -109,7 +109,7 @@ func IssueNFTAsset(name string, machineAddress string, domain string) (assetID s
hash[i], hash[j] = hash[j], hash[i]
}
rawIssueAssetResults, err := elements.RawIssueAsset(url, []string{fundRawTransactionResult.Hex,
rawIssueAssetResults, err := elements.RawIssueAsset(url, []string{`"` + fundRawTransactionResult.Hex + `"`,
`[{"asset_amount":0.00000001, "asset_address":"` + address + `", "blind":false, "contract_hash":"` + fmt.Sprintf("%+x", hash) + `"}]`,
})
if err != nil {
@ -117,13 +117,13 @@ func IssueNFTAsset(name string, machineAddress string, domain string) (assetID s
}
rawIssueAssetResult := rawIssueAssetResults[len(rawIssueAssetResults)-1]
hex, err = elements.BlindRawTransaction(url, []string{rawIssueAssetResult.Hex, `true`, `[]`, `false`})
hex, err = elements.BlindRawTransaction(url, []string{`"` + rawIssueAssetResult.Hex + `"`, `true`, `[]`, `false`})
if err != nil {
return
}
assetID = rawIssueAssetResult.Asset
signRawTransactionWithWalletResult, err := elements.SignRawTransactionWithWallet(url, []string{hex})
signRawTransactionWithWalletResult, err := elements.SignRawTransactionWithWallet(url, []string{`"` + hex + `"`})
if err != nil {
return
}
@ -139,7 +139,7 @@ func IssueNFTAsset(name string, machineAddress string, domain string) (assetID s
return
}
hex, err = elements.SendRawTransaction(url, []string{signRawTransactionWithWalletResult.Hex})
hex, err = elements.SendRawTransaction(url, []string{`"` + signRawTransactionWithWalletResult.Hex + `"`})
if err != nil {
return
}

View File

@ -0,0 +1,60 @@
package util_test
import (
"fmt"
"math/rand"
"strconv"
"sync"
"testing"
"github.com/planetmint/planetmint-go/testutil/moduleobject"
"github.com/planetmint/planetmint-go/testutil/sample"
"github.com/planetmint/planetmint-go/util"
"github.com/planetmint/planetmint-go/x/machine/types"
elements "github.com/rddl-network/elements-rpc"
elementsmocks "github.com/rddl-network/elements-rpc/utils/mocks"
"github.com/stretchr/testify/assert"
)
func TestReissueAsset(t *testing.T) {
elements.Client = &elementsmocks.MockClient{}
txid, err := util.ReissueAsset("reissueasset 06c20c8de513527f1ae6c901f74a05126525ac2d7e89306f4a7fd5ec4e674403 900.000")
fmt.Println("txid :" + txid)
assert.NoError(t, err)
}
func TestDistributeAsset(t *testing.T) {
elements.Client = &elementsmocks.MockClient{}
txid, err := util.DistributeAsset(
"tlq1qqt5078sef4aqls29c3j3pwfmukgjug70t37x26gwyhzpdxmtmjmphar88fwsl9qcm559jevve772prhtuyf9xkxdtrhvuce6a",
"20",
"06c20c8de513527f1ae6c901f74a05126525ac2d7e89306f4a7fd5ec4e674403")
fmt.Println("txid :" + txid)
assert.NoError(t, err)
}
func TestIssueNFTAsset(t *testing.T) {
elements.Client = &elementsmocks.MockClient{}
params := types.DefaultParams()
var wg sync.WaitGroup
for i := 0; i < 1; i++ {
wg.Add(1)
go func() {
randomInt := rand.Int()
sk, pk := sample.KeyPair(randomInt)
machine := moduleobject.MachineRandom(pk, pk, sk, "address "+strconv.Itoa(randomInt), randomInt)
assetID, contract, hex, err := util.IssueNFTAsset(machine.Name, machine.Address, params.AssetRegistryDomain)
fmt.Println("asset id :" + assetID)
fmt.Println("contract :" + contract)
fmt.Println("hex :" + hex)
assert.NoError(t, err)
wg.Done()
}()
}
wg.Wait()
}