Merge pull request #324 from meshplus/test/add-vm-test

test: add vm test
This commit is contained in:
levi9311 2021-01-26 16:56:41 +08:00 committed by GitHub
commit 65995ecba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

5
go.sum
View File

@ -603,6 +603,11 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/meshplus/bitxhub-core v0.1.0-rc1.0.20210126064930-8245c5b45956 h1:f1CXhJSLo/JuTXLjv5PRtvLvzq7mxzD58Aet27k5QlU=
github.com/meshplus/bitxhub-core v0.1.0-rc1.0.20210126064930-8245c5b45956/go.mod h1:MHf0waxqnW4Qwfpq66jqvJP+FritN5OTs/8wlQcNlJY=
github.com/meshplus/bitxhub-core v0.1.0-rc1.0.20210112105719-497a79914e4e h1:gQf9QgAiiLrCInvcBBGvOU/6D8x6+kaJwHGXUlV8RTA=
github.com/meshplus/bitxhub-core v0.1.0-rc1.0.20210112105719-497a79914e4e/go.mod h1:MHf0waxqnW4Qwfpq66jqvJP+FritN5OTs/8wlQcNlJY=
github.com/meshplus/bitxhub-kit v1.0.0-rc1/go.mod h1:ra/AhOkPvpElI+wXrB9G6DjdcrdxFU3vMwA5MYKr9D0=
github.com/meshplus/bitxhub-kit v1.0.0/go.mod h1:7cWyhXWZfrQ3+EaxkRoXfuiG3Y5R9DXYJomeZKkETW8=
github.com/meshplus/bitxhub-kit v1.1.1 h1:vkPO88oA3+Kpc0N8lIgfj/U52KBuI+633hPbMYt1xm8=
github.com/meshplus/bitxhub-kit v1.1.1/go.mod h1:r4l4iqn0RPJreb/OmoYKfjCjQJrXpZX++6Qc31VG/1k=
github.com/meshplus/bitxhub-kit v1.1.2-0.20201021105954-468d0a9d7957/go.mod h1:r4l4iqn0RPJreb/OmoYKfjCjQJrXpZX++6Qc31VG/1k=
github.com/meshplus/bitxhub-kit v1.1.2-0.20201023030558-9f36554d5d5d/go.mod h1:r4l4iqn0RPJreb/OmoYKfjCjQJrXpZX++6Qc31VG/1k=

View File

@ -379,3 +379,42 @@ BcNwjTDCxyxLNjFKQfMAc6sY6iJs+Ma59WZyC/4uhjE=
},
}
}
func TestContext(t *testing.T) {
privKey, err := asym.GenerateKeyPair(crypto.Secp256k1)
assert.Nil(t, err)
bytes, err := ioutil.ReadFile("./testdata/fabric_policy.wasm")
require.Nil(t, err)
data := &pb.TransactionData{
Payload: bytes,
}
addr, err := privKey.PublicKey().Address()
require.Nil(t, err)
dir := filepath.Join(os.TempDir(), "ctx_test")
store, err := leveldb.New(filepath.Join(dir, "validation"))
assert.Nil(t, err)
ldb, err := leveldb.New(filepath.Join(dir, "ledger"))
assert.Nil(t, err)
accountCache, err := ledger.NewAccountCache()
require.Nil(t, err)
logger := log.NewWithModule("ctx_test")
blockFile, err := blockfile.NewBlockFile(dir, logger)
assert.Nil(t, err)
ldg, err := ledger.New(createMockRepo(t), store, ldb, blockFile, accountCache, log.NewWithModule("executor"))
require.Nil(t, err)
tx := &pb.Transaction{
From: addr,
To: addr,
}
ctx := NewContext(tx, data, ldg, logger)
require.Equal(t, ctx.Caller(), addr.String())
require.Equal(t, ctx.Callee(), addr.String())
require.NotNil(t, ctx.Logger())
}