[#269] morph/audit: Implement wrapper over Audit contract client

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-12-21 16:47:19 +03:00 committed by Alex Vanin
parent 07da9d31f2
commit 919f4364f1
3 changed files with 123 additions and 0 deletions

View file

@ -0,0 +1,59 @@
package audit_test
import (
"crypto/sha256"
"testing"
"time"
"github.com/nspcc-dev/neo-go/pkg/util"
auditAPI "github.com/nspcc-dev/neofs-api-go/pkg/audit"
"github.com/nspcc-dev/neofs-api-go/pkg/container"
crypto "github.com/nspcc-dev/neofs-crypto"
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
"github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
auditWrapper "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit/wrapper"
"github.com/stretchr/testify/require"
)
func TestAuditResults(t *testing.T) {
t.Skip()
endpoint := "http://morph_chain.neofs.devenv:30333"
sAuditHash := "96a746aa7186f775e5744a6e2c6566dc5c4a57a2"
irKeyWIF := "L3o221BojgcCPYgdbXsm6jn7ayTZ72xwREvBHXKknR8VJ3G4WmjB"
key, err := crypto.WIFDecode(irKeyWIF)
require.NoError(t, err)
pubKey := crypto.MarshalPublicKey(&key.PublicKey)
auditHash, err := util.Uint160DecodeStringLE(sAuditHash)
require.NoError(t, err)
morphClient, err := client.New(key, endpoint)
require.NoError(t, err)
auditContractClient, err := client.NewStatic(morphClient, auditHash, 0)
require.NoError(t, err)
auditClient := audit.New(auditContractClient)
auditClientWrapper := auditWrapper.WrapClient(auditClient)
cid := container.NewID()
cid.SetSHA256([sha256.Size]byte{1, 2, 3})
auditRes := auditAPI.NewResult()
auditRes.SetAuditEpoch(11)
auditRes.SetPublicKey(pubKey)
auditRes.SetContainerID(cid)
require.NoError(t, auditClientWrapper.PutAuditResult(auditRes))
time.Sleep(5 * time.Second)
list, err := auditClientWrapper.ListAuditResults()
require.NoError(t, err)
require.Len(t, list, 1)
require.Contains(t, list, auditRes)
}