frostfs-node/pkg/morph/client/audit/wrapper/result_test.go
Leonard Lyubich 919f4364f1 [#269] morph/audit: Implement wrapper over Audit contract client
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-12-25 16:49:27 +03:00

59 lines
1.6 KiB
Go

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)
}