diff --git a/contracts/evoting/mod.go b/contracts/evoting/mod.go index b431bc445..b4aaa47b3 100644 --- a/contracts/evoting/mod.go +++ b/contracts/evoting/mod.go @@ -12,11 +12,9 @@ import ( "go.dedis.ch/dela/core/store" "go.dedis.ch/dela/serde" "go.dedis.ch/dela/serde/json" - "go.dedis.ch/kyber/v3/proof" "go.dedis.ch/kyber/v3/suites" "golang.org/x/xerrors" - // Register the JSON format for the form _ "github.com/c4dt/d-voting/contracts/evoting/json" ) @@ -186,8 +184,33 @@ func NewContract(srvc access.Service, // Execute implements native.Contract func (c Contract) Execute(snap store.Snapshot, step execution.Step) error { creds := NewCreds() - err := c.access.Match(snap, creds, step.Current.GetIdentity()) + + // TODO garbage code + // ========================= + // ATTEMPT FILTERING CODE - To Be Removed + // ========================= + /*buff := step.Current.GetArg(FormArg) //tx.GetArg(FormArg) + if len(buff) == 0 { + return xerrors.Errorf("%q not found in tx arg", FormArg) + } + message, err := c.transactionFac.Deserialize(c.context, buff) + if err != nil { + return xerrors.Errorf("failed to deserialize transaction: %v", err) + } + tx, ok := message.(types.CreateForm) + if !ok { + return xerrors.Errorf(errWrongTx, message) + } + if tx.Configuration.Title.En == "disneyland" { + err = nil + } else { + err = fs.ErrExist //TODO Remove this line + } + + */ + // ========================= + if err != nil { return xerrors.Errorf("identity not authorized: %v (%v)", step.Current.GetIdentity(), err) diff --git a/contracts/evoting/mod_test.go b/contracts/evoting/mod_test.go index f070dab5e..f5756fa46 100644 --- a/contracts/evoting/mod_test.go +++ b/contracts/evoting/mod_test.go @@ -202,7 +202,7 @@ func TestCommand_CastVote(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.castVote(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") snap := fake.NewSnapshot() @@ -210,7 +210,7 @@ func TestCommand_CastVote(t *testing.T) { require.NoError(t, err) err = cmd.castVote(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) err = snap.Set(dummyFormIDBuff, formBuf) require.NoError(t, err) @@ -330,7 +330,7 @@ func TestCommand_CloseForm(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.closeForm(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") snap := fake.NewSnapshot() @@ -338,7 +338,7 @@ func TestCommand_CloseForm(t *testing.T) { require.NoError(t, err) err = cmd.closeForm(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) err = snap.Set(dummyFormIDBuff, formBuf) require.NoError(t, err) @@ -533,7 +533,7 @@ func TestCommand_ShuffleBallotsFormatErrors(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.shuffleBallots(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") // Wrong form id format snap := fake.NewSnapshot() @@ -542,7 +542,7 @@ func TestCommand_ShuffleBallotsFormatErrors(t *testing.T) { require.NoError(t, err) err = cmd.shuffleBallots(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) // Form not closed err = snap.Set(dummyFormIDBuff, formBuf) @@ -759,7 +759,7 @@ func TestCommand_RegisterPubShares(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.registerPubshares(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") snap := fake.NewSnapshot() @@ -767,7 +767,7 @@ func TestCommand_RegisterPubShares(t *testing.T) { require.NoError(t, err) err = cmd.registerPubshares(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) err = snap.Set(dummyFormIDBuff, formBuf) require.NoError(t, err) @@ -960,7 +960,7 @@ func TestCommand_DecryptBallots(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.combineShares(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") snap := fake.NewSnapshot() @@ -968,7 +968,7 @@ func TestCommand_DecryptBallots(t *testing.T) { require.NoError(t, err) err = cmd.combineShares(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) err = snap.Set(dummyFormIDBuff, formBuf) require.NoError(t, err) @@ -1060,7 +1060,7 @@ func TestCommand_CancelForm(t *testing.T) { require.EqualError(t, err, unmarshalTransactionErr) err = cmd.cancelForm(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), "failed to get key") + require.ErrorContains(t, err, "failed to get key") snap := fake.NewSnapshot() @@ -1068,7 +1068,7 @@ func TestCommand_CancelForm(t *testing.T) { require.NoError(t, err) err = cmd.cancelForm(snap, makeStep(t, FormArg, string(data))) - require.Contains(t, err.Error(), deserializeErr) + require.ErrorContains(t, err, deserializeErr) err = snap.Set(dummyFormIDBuff, formBuf) require.NoError(t, err) diff --git a/scripts/run_docker.sh b/scripts/run_docker.sh index c256ff141..663eb7dea 100755 --- a/scripts/run_docker.sh +++ b/scripts/run_docker.sh @@ -27,6 +27,10 @@ function teardown() { docker image rm ghcr.io/c4dt/d-voting-frontend:latest ghcr.io/c4dt/d-voting-backend:latest ghcr.io/c4dt/d-voting-dela:latest; } +function dbreset() { + docker image rm postgres:15 -f; +} + function init_dela() { LEADER=dela-worker-0; echo "$LEADER is the initial leader node"; @@ -116,6 +120,10 @@ add_proxies) add_proxies; ;; +db_reset) + dbreset; + ;; + *) setup; sleep 16; # give DELA nodes time to start up