Skip to content
Snippets Groups Projects
quantumlayer-emu-prng_test.go 1.4 KiB
Newer Older
  • Learn to ignore specific revisions
  • Martin Stiemerling's avatar
    Martin Stiemerling committed
    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)
    
    Martin Stiemerling's avatar
    Martin Stiemerling committed
    
    	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)
    
    	}
    }