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
Branches
Tags
No related merge requests found
......@@ -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
}
package tests
import (
"encoding/hex"
"log"
"testing"
"time"
......@@ -17,22 +18,28 @@ func TestDRNG(t *testing.T) {
// wait for randomness generation to be started
log.Printf("Waiting for randomness generation to be started...\n")
time.Sleep(70 * time.Second)
time.Sleep(100 * time.Second)
peers := len(drng.Peers())
randomnessMap := make(map[string]int)
// check for randomness on every peer
for i := 0; i < 3; i++ {
randomness := make([][]byte, peers)
for j, peer := range drng.Peers() {
for _, peer := range drng.Peers() {
resp, err := peer.GetRandomness()
require.NoError(t, err)
log.Println(resp)
randomness[j] = resp.Randomness
}
for i := 1; i < peers; i++ {
require.Equal(t, randomness[0], randomness[i])
randomnessMap[hex.EncodeToString(resp.Randomness)]++
}
// wait for the next randomness
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