Fixed unit test for new randomize smc.

This commit is contained in:
MestryOmkar 2018-11-07 11:49:10 +05:30
parent b53a7a111a
commit 7892d7c162
3 changed files with 66 additions and 50 deletions

View file

@ -246,7 +246,7 @@ func (a UnprefixedAddress) MarshalText() ([]byte, error) {
// Extract validators from byte array. // Extract validators from byte array.
func RemoveItemFromArray(array []Address, items []Address) []Address { func RemoveItemFromArray(array []Address, items []Address) []Address {
if items == nil || len(items) == 0 { if items == nil {
return array return array
} }
for i, value := range array { for i, value := range array {

View file

@ -155,6 +155,6 @@ func TestRemoveItemInArray(t *testing.T) {
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")} remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
array = RemoveItemFromArray(array, remove) array = RemoveItemFromArray(array, remove)
if len(array) != 2 { if len(array) != 2 {
t.Error("fail remove item from array addres ") t.Error("fail remove item from array address")
} }
} }

View file

@ -70,56 +70,72 @@ func TestSendTxRandomizeSecretAndOpening(t *testing.T) {
} }
backend.Commit() backend.Commit()
nonce := uint64(1)
randomizeKeyValue := contracts.RandStringByte(32) randomizeKeyValue := contracts.RandStringByte(32)
tx, err := contracts.BuildTxSecretRandomize(nonce, randomizeAddr, epocNumber, randomizeKeyValue)
if err != nil {
t.Fatalf("Can't create tx randomize secret: %v", err)
}
tx, err = types.SignTx(tx, signer, acc1Key)
if err != nil {
t.Fatalf("Can't sign tx randomize secret: %v", err)
}
err = backend.SendTransaction(ctx, tx) for i := 1; i <= 900; i++ {
if err != nil { nonce := uint64(i)
t.Fatalf("Can't send tx for create randomize secret: %v", err) switch i {
} case 800:
backend.Commit() tx, err := contracts.BuildTxSecretRandomize(nonce, randomizeAddr, epocNumber, randomizeKeyValue)
// Increment nonce. if err != nil {
nonce++ t.Fatalf("Can't create tx randomize secret: %v", err)
// Set opening. }
tx, err = contracts.BuildTxOpeningRandomize(nonce, randomizeAddr, randomizeKeyValue) tx, err = types.SignTx(tx, signer, acc1Key)
if err != nil { if err != nil {
t.Fatalf("Can't create tx randomize opening: %v", err) t.Fatalf("Can't sign tx randomize secret: %v", err)
} }
tx, err = types.SignTx(tx, signer, acc1Key) err = backend.SendTransaction(ctx, tx)
if err != nil { if err != nil {
t.Fatalf("Can't sign tx randomize opening: %v", err) t.Fatalf("Can't send tx for create randomize secret: %v", err)
} }
break
case 850:
// Set opening.
tx, err := contracts.BuildTxOpeningRandomize(nonce, randomizeAddr, randomizeKeyValue)
if err != nil {
t.Fatalf("Can't create tx randomize opening: %v", err)
}
tx, err = types.SignTx(tx, signer, acc1Key)
if err != nil {
t.Fatalf("Can't sign tx randomize opening: %v", err)
}
err = backend.SendTransaction(ctx, tx)
if err != nil {
t.Fatalf("Can't send tx for create randomize opening: %v", err)
}
break
err = backend.SendTransaction(ctx, tx) case 900:
if err != nil { // Get randomize secret from SC.
t.Fatalf("Can't send tx for create randomize opening: %v", err) secrets, err := randomizeContract.GetSecret(acc1Addr)
} if err != nil {
backend.Commit() t.Error("Fail get secrets from randomize", err)
}
// Get randomize secret from SC. if len(secrets) <= 0 {
secrets, err := randomizeContract.GetSecret(acc1Addr) t.Error("Empty get secrets from SC", err)
if err != nil { }
t.Error("Fail get secrets from randomize", err) // Decrypt randomize from SC.
} opening, err := randomizeContract.GetOpening(acc1Addr)
if len(secrets) <= 0 { if err != nil {
t.Error("Empty get secrets from SC", err) t.Fatalf("Can't get secret from SC: %v", err)
} }
// Decrypt randomize from SC. randomize, err := contracts.DecryptRandomizeFromSecretsAndOpening(secrets, opening)
opening, err := randomizeContract.GetOpening(acc1Addr) t.Log("randomize", randomize)
if err != nil { if err != nil {
t.Fatalf("Can't get secret from SC: %v", err) t.Error("Can't decrypt secret and opening", err)
} }
randomize, err := contracts.DecryptRandomizeFromSecretsAndOpening(secrets, opening) break
t.Log("randomize", randomize) default:
if err != nil { tx, err := types.SignTx(types.NewTransaction(nonce, common.Address{}, new(big.Int), 21000, new(big.Int), nil), signer, acc1Key)
t.Error("Can't decrypt secret and opening", err) if err != nil {
t.Fatalf("Can't sign tx randomize: %v", err)
}
err = backend.SendTransaction(ctx, tx)
if err != nil {
t.Fatalf("Can't send tx for create randomize: %v", err)
}
break
}
backend.Commit()
} }
} }