mirror of
https://github.com/openp2p-cn/openp2p.git
synced 2025-10-30 19:26:33 +08:00
3.18.4 virtual private network
This commit is contained in:
178
core/config_test.go
Normal file
178
core/config_test.go
Normal file
@@ -0,0 +1,178 @@
|
||||
package openp2p
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSetSDWAN_ChangeNode(t *testing.T) {
|
||||
conf := Config{}
|
||||
sdwanInfo := SDWANInfo{}
|
||||
sdwanStr := `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.4","resource":"10.1.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo)
|
||||
if len(conf.getDelNodes()) > 0 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
if len(conf.getAddNodes()) != 7 {
|
||||
t.Errorf("getAddNodes error")
|
||||
return
|
||||
}
|
||||
sdwanInfo2 := SDWANInfo{}
|
||||
sdwanStr = `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo2); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo2)
|
||||
diff := conf.getDelNodes()
|
||||
if len(diff) != 1 && diff[0].IP != "10.2.3.4" {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
sdwanInfo3 := SDWANInfo{}
|
||||
sdwanStr = `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo3); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo3)
|
||||
diff = conf.getDelNodes()
|
||||
if len(diff) != 1 && diff[0].IP != "10.2.3.60" {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
// add new node
|
||||
sdwanInfo4 := SDWANInfo{}
|
||||
sdwanStr = `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo4); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo4)
|
||||
diff = conf.getDelNodes()
|
||||
if len(diff) > 0 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
diff = conf.getAddNodes()
|
||||
if len(diff) != 1 && diff[0].IP != "10.2.3.60" {
|
||||
t.Errorf("getAddNodes error")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetSDWAN_ChangeNodeIP(t *testing.T) {
|
||||
conf := Config{}
|
||||
sdwanInfo := SDWANInfo{}
|
||||
sdwanStr := `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.4","resource":"10.1.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo)
|
||||
if len(conf.getDelNodes()) > 0 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
sdwanInfo2 := SDWANInfo{}
|
||||
sdwanStr = `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.44","resource":"10.1.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo2); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo2)
|
||||
diff := conf.getDelNodes()
|
||||
if len(diff) != 1 && diff[0].IP != "10.2.3.4" {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
diff = conf.getAddNodes()
|
||||
if len(diff) != 1 || diff[0].IP != "10.2.3.44" {
|
||||
t.Errorf("getAddNodes error")
|
||||
return
|
||||
}
|
||||
}
|
||||
func TestSetSDWAN_ClearAll(t *testing.T) {
|
||||
conf := Config{}
|
||||
sdwanInfo := SDWANInfo{}
|
||||
sdwanStr := `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.4","resource":"10.1.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo)
|
||||
if len(conf.getDelNodes()) > 0 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
sdwanInfo2 := SDWANInfo{}
|
||||
sdwanStr = `{"Nodes":null}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo2); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo2)
|
||||
diff := conf.getDelNodes()
|
||||
if len(diff) != 7 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
diff = conf.getAddNodes()
|
||||
if len(diff) != 0 {
|
||||
t.Errorf("getAddNodes error")
|
||||
return
|
||||
}
|
||||
}
|
||||
func TestSetSDWAN_ChangeNodeResource(t *testing.T) {
|
||||
conf := Config{}
|
||||
sdwanInfo := SDWANInfo{}
|
||||
sdwanStr := `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.4","resource":"10.1.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo)
|
||||
if len(conf.getDelNodes()) > 0 {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
sdwanInfo2 := SDWANInfo{}
|
||||
sdwanStr = `{"id":1312667996276071700,"name":"network1","gateway":"10.2.3.254/24","mode":"fullmesh","centralNode":"n1-stable","enable":1,"Nodes":[{"name":"222-debug","ip":"10.2.3.13"},{"name":"222stable","ip":"10.2.3.222"},{"name":"5800-debug","ip":"10.2.3.56"},{"name":"Mate60pro","ip":"10.2.3.60"},{"name":"Mymatepad2023","ip":"10.2.3.23"},{"name":"n1-stable","ip":"10.2.3.29","resource":"192.168.3.0/24"},{"name":"tony-stable","ip":"10.2.3.4","resource":"10.11.0.0/16"}]}`
|
||||
if err := json.Unmarshal([]byte(sdwanStr), &sdwanInfo2); err != nil {
|
||||
t.Errorf("unmarshal error")
|
||||
return
|
||||
}
|
||||
|
||||
conf.setSDWAN(sdwanInfo2)
|
||||
diff := conf.getDelNodes()
|
||||
if len(diff) != 1 && diff[0].IP != "10.2.3.4" {
|
||||
t.Errorf("getDelNodes error")
|
||||
return
|
||||
}
|
||||
diff = conf.getAddNodes()
|
||||
if len(diff) != 1 || diff[0].Resource != "10.11.0.0/16" {
|
||||
t.Errorf("getAddNodes error")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func TestInetAtoN(t *testing.T) {
|
||||
ipa, _ := inetAtoN("121.5.147.4")
|
||||
t.Log(ipa)
|
||||
ipa, _ = inetAtoN("121.5.147.4/32")
|
||||
t.Log(ipa)
|
||||
}
|
||||
Reference in New Issue
Block a user