Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package quantumlayer
// Some tests
import (
"fmt"
"net"
"testing"
"time"
)
func TestQuantumLayer(t *testing.T) {
ql1 := NewQuantumlayerEmuPRNG()
ql1.PowerOn()
defer ql1.PowerOff()
ql2 := NewQuantumlayerEmuPRNG()
ql2.PowerOn()
defer ql2.PowerOff()
// Generate UDPAddr for ql1 peer
udpQL2AddrString := fmt.Sprintf("127.0.0.1:%d", ql2.GetLocalQLPort().Port)
udpQL2Addr, err := net.ResolveUDPAddr("udp", udpQL2AddrString)
if err != nil {
t.Fatalf("QuantumlayerEmuPRNG UDP failure: %s", err)
return
}
// Generate UDPAddr for ql2 peer
udpQL1AddrString := fmt.Sprintf("127.0.0.1:%d", ql1.GetLocalQLPort().Port)
udpQL1Addr, err := net.ResolveUDPAddr("udp", udpQL1AddrString)
if err != nil {
t.Fatalf("QuantumlayerEmuPRNG UDP failure: %s", err)
return
}
ql1.AddPeer(udpQL2Addr)
ql2.AddPeer(udpQL1Addr)
for n := 0; n < 2; n++ {
resultQl1, err := ql1.GetKeyBatchPeer()
if err == nil {
t.Logf("run %d, *ql1* keyid %d \t keylen %d", n, resultQl1.BulkKeyId, resultQl1.BulkKeyLength)
}
//resultQl2 := ql2.GetBatchPeer()
resultQl2, err := ql2.GetKeyBatchPeer()
if err == nil {
t.Logf("*ql2* keyid %d \t keylen %d", resultQl2.BulkKeyId, resultQl1.BulkKeyLength)
}
resultQL2Local, err := ql2.GetKeyBatchLocal()
if err == nil {
t.Logf("Current key IDs are for ql2 local %d and for peer ql1 %d", resultQL2Local.BulkKeyId, resultQl1.BulkKeyId)
}
time.Sleep(5 * time.Second)
}
}