Skip to content
Snippets Groups Projects
Commit 907689f0 authored by capossele's avatar capossele
Browse files

:white_check_mark: improves dRNG integration test

parent 8745a15e
No related branches found
No related tags found
No related merge requests found
...@@ -153,5 +153,12 @@ func (f *Framework) CreateDRNGNetwork(name string, members, peers int) (*DRNGNet ...@@ -153,5 +153,12 @@ func (f *Framework) CreateDRNGNetwork(name string, members, peers int) (*DRNGNet
} }
} }
// wait until peers are fully started and connected
time.Sleep(1 * time.Second)
err = drng.network.WaitForAutopeering(3)
if err != nil {
return nil, err
}
return drng, nil return drng, nil
} }
package tests package tests
import ( import (
"encoding/hex"
"log" "log"
"testing" "testing"
"time" "time"
...@@ -17,22 +18,28 @@ func TestDRNG(t *testing.T) { ...@@ -17,22 +18,28 @@ func TestDRNG(t *testing.T) {
// wait for randomness generation to be started // wait for randomness generation to be started
log.Printf("Waiting for randomness generation to be started...\n") log.Printf("Waiting for randomness generation to be started...\n")
time.Sleep(70 * time.Second) time.Sleep(100 * time.Second)
peers := len(drng.Peers()) peers := len(drng.Peers())
randomnessMap := make(map[string]int)
// check for randomness on every peer // check for randomness on every peer
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {
randomness := make([][]byte, peers) for _, peer := range drng.Peers() {
for j, peer := range drng.Peers() {
resp, err := peer.GetRandomness() resp, err := peer.GetRandomness()
require.NoError(t, err) require.NoError(t, err)
log.Println(resp) log.Println(resp)
randomness[j] = resp.Randomness randomnessMap[hex.EncodeToString(resp.Randomness)]++
}
for i := 1; i < peers; i++ {
require.Equal(t, randomness[0], randomness[i])
} }
// wait for the next randomness
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
} }
// check that we got at least 3 different random values
require.GreaterOrEqual(t, len(randomnessMap), 3)
// check that each random values has been received by all the peers.
for _, v := range randomnessMap {
require.GreaterOrEqual(t, v, peers)
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment