From e14ffbe68bbc0b929869e5ae51a2baf2f9f4dca1 Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Fri, 3 Dec 2021 14:17:37 +0300 Subject: [PATCH] [#192] proxy: Add proxy contract tests Signed-off-by: Pavel Karpy --- tests/proxy_test.go | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/proxy_test.go diff --git a/tests/proxy_test.go b/tests/proxy_test.go new file mode 100644 index 0000000..67b363c --- /dev/null +++ b/tests/proxy_test.go @@ -0,0 +1,48 @@ +package tests + +import ( + "path" + "testing" + + "github.com/nspcc-dev/neo-go/pkg/neotest" + "github.com/nspcc-dev/neo-go/pkg/util" + "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" +) + +const proxyPath = "../proxy" + +func deployProxyContract(t *testing.T, e *neotest.Executor, addrNetmap util.Uint160) util.Uint160 { + args := make([]interface{}, 1) + args[0] = addrNetmap + + c := neotest.CompileFile(t, e.CommitteeHash, proxyPath, path.Join(proxyPath, "config.yml")) + e.DeployContract(t, c, args) + return c.Hash +} + +func newProxyInvoker(t *testing.T) *neotest.ContractInvoker { + e := newExecutor(t) + + ctrNetmap := neotest.CompileFile(t, e.CommitteeHash, netmapPath, path.Join(netmapPath, "config.yml")) + ctrBalance := neotest.CompileFile(t, e.CommitteeHash, balancePath, path.Join(balancePath, "config.yml")) + ctrContainer := neotest.CompileFile(t, e.CommitteeHash, containerPath, path.Join(containerPath, "config.yml")) + ctrProxy := neotest.CompileFile(t, e.CommitteeHash, proxyPath, path.Join(proxyPath, "config.yml")) + + deployNetmapContract(t, e, ctrBalance.Hash, ctrContainer.Hash) + deployProxyContract(t, e, ctrNetmap.Hash) + + return e.CommitteeInvoker(ctrProxy.Hash) +} + +func TestVerify(t *testing.T) { + e := newProxyInvoker(t) + + const method = "verify" + + e.Invoke(t, stackitem.NewBool(true), method) + + notAlphabet := e.NewAccount(t) + cNotAlphabet := e.WithSigners(notAlphabet) + + cNotAlphabet.Invoke(t, stackitem.NewBool(false), method) +}