Skip to content
Snippets Groups Projects
Commit 9ea9ca2e authored by capossele's avatar capossele
Browse files

:white_check_mark: update FPC test

parent 8b5497bf
No related branches found
No related tags found
No related merge requests found
...@@ -55,7 +55,7 @@ func runFPCLiveFeed() { ...@@ -55,7 +55,7 @@ func runFPCLiveFeed() {
onFPCHeartbeatReceived := events.NewClosure(func(hb *packet.FPCHeartbeat) { onFPCHeartbeatReceived := events.NewClosure(func(hb *packet.FPCHeartbeat) {
select { select {
case <-newMsgRateLimiter.C: case <-newMsgRateLimiter.C:
fpcLiveFeedWorkerPool.TrySubmit(createFPCUpdate(hb)) fpcLiveFeedWorkerPool.TrySubmit(createFPCUpdate(hb, true))
default: default:
} }
}) })
...@@ -71,7 +71,7 @@ func runFPCLiveFeed() { ...@@ -71,7 +71,7 @@ func runFPCLiveFeed() {
}, shutdown.PriorityDashboard) }, shutdown.PriorityDashboard)
} }
func createFPCUpdate(hb *packet.FPCHeartbeat) *FPCUpdate { func createFPCUpdate(hb *packet.FPCHeartbeat, recordEvent bool) *FPCUpdate {
// prepare the update // prepare the update
conflicts := make(map[string]Conflict) conflicts := make(map[string]Conflict)
nodeID := base58.Encode(hb.OwnID) nodeID := base58.Encode(hb.OwnID)
...@@ -90,9 +90,11 @@ func createFPCUpdate(hb *packet.FPCHeartbeat) *FPCUpdate { ...@@ -90,9 +90,11 @@ func createFPCUpdate(hb *packet.FPCHeartbeat) *FPCUpdate {
conflicts[ID] = newConflict() conflicts[ID] = newConflict()
conflicts[ID].NodesView[nodeID] = newVoteContext conflicts[ID].NodesView[nodeID] = newVoteContext
if recordEvent {
// update recorded events // update recorded events
recordedConflicts.Update(ID, Conflict{NodesView: map[string]voteContext{nodeID: newVoteContext}}) recordedConflicts.Update(ID, Conflict{NodesView: map[string]voteContext{nodeID: newVoteContext}})
} }
}
return &FPCUpdate{ return &FPCUpdate{
Conflicts: conflicts, Conflicts: conflicts,
......
...@@ -2,19 +2,19 @@ package dashboard ...@@ -2,19 +2,19 @@ package dashboard
import ( import (
"crypto/sha256" "crypto/sha256"
"fmt"
"testing" "testing"
"time" "time"
"github.com/iotaledger/goshimmer/packages/vote" "github.com/iotaledger/goshimmer/packages/vote"
"github.com/iotaledger/goshimmer/plugins/analysis/packet" "github.com/iotaledger/goshimmer/plugins/analysis/packet"
"github.com/mr-tron/base58/base58"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
// TestCreateFPCUpdate checks that given a FPC heartbeat, the returned FPCUpdate is ok. // TestCreateFPCUpdate checks that given a FPC heartbeat, the returned FPCUpdate is ok.
func TestCreateFPCUpdate(t *testing.T) { func TestCreateFPCUpdate(t *testing.T) {
ownID := sha256.Sum256([]byte{'A'}) ownID := sha256.Sum256([]byte{'A'})
shortOwnID := fmt.Sprintf("%x", ownID[:8]) base58OwnID := base58.Encode(ownID[:])
// create a FPCHeartbeat // create a FPCHeartbeat
hbTest := &packet.FPCHeartbeat{ hbTest := &packet.FPCHeartbeat{
...@@ -38,8 +38,8 @@ func TestCreateFPCUpdate(t *testing.T) { ...@@ -38,8 +38,8 @@ func TestCreateFPCUpdate(t *testing.T) {
Conflicts: map[string]Conflict{ Conflicts: map[string]Conflict{
"one": { "one": {
NodesView: map[string]voteContext{ NodesView: map[string]voteContext{
shortOwnID: { base58OwnID: {
NodeID: shortOwnID, NodeID: base58OwnID,
Rounds: 3, Rounds: 3,
Opinions: []int32{disliked, liked, disliked}, Opinions: []int32{disliked, liked, disliked},
Status: liked, Status: liked,
...@@ -50,6 +50,6 @@ func TestCreateFPCUpdate(t *testing.T) { ...@@ -50,6 +50,6 @@ func TestCreateFPCUpdate(t *testing.T) {
} }
// check that createFPCUpdate returns a matching FPCMsg // check that createFPCUpdate returns a matching FPCMsg
require.Equal(t, want, createFPCUpdate(hbTest)) require.Equal(t, want, createFPCUpdate(hbTest, false))
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment