| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package ovpm
- import "testing"
- func TestVPNCreateNewNetwork(t *testing.T) {
- // Initialize:
- setupTestCase()
- SetupDB("sqlite3", ":memory:")
- defer CeaseDB()
- Init("localhost", "")
- // Prepare:
- // Test:
- netName := "testnet"
- cidrStr := "192.168.1.0/24"
- n, err := CreateNewNetwork(netName, cidrStr)
- if err != nil {
- t.Fatalf("unexpected error when creating a new network: %v", err)
- }
- if n.Name != netName {
- t.Fatalf("network Name is expected to be '%s' but it's '%s' instead", netName, n.Name)
- }
- if n.CIDR != cidrStr {
- t.Fatalf("network CIDR is expected to be '%s' but it's '%s' instead", cidrStr, n.CIDR)
- }
- var network DBNetwork
- db.First(&network)
- if db.NewRecord(&network) {
- t.Fatalf("network is not created in the database.")
- }
- if network.Name != netName {
- t.Fatalf("network Name is expected to be '%s' but it's '%s' instead", netName, network.Name)
- }
- if network.CIDR != cidrStr {
- t.Fatalf("network CIDR is expected to be '%s' but it's '%s' instead", cidrStr, network.CIDR)
- }
- }
- func TestVPNDeleteNetwork(t *testing.T) {
- // Initialize:
- setupTestCase()
- SetupDB("sqlite3", ":memory:")
- defer CeaseDB()
- Init("localhost", "")
- // Prepare:
- // Test:
- netName := "testnet"
- cidrStr := "192.168.1.0/24"
- n, err := CreateNewNetwork(netName, cidrStr)
- if err != nil {
- t.Fatalf("unexpected error when creating a new network: %v", err)
- }
- var network DBNetwork
- db.First(&network)
- if db.NewRecord(&network) {
- t.Fatalf("network is not created in the database.")
- }
- err = n.Delete()
- if err != nil {
- t.Fatalf("can't delete network: %v", err)
- }
- // Empty the existing network object.
- network = DBNetwork{}
- db.First(&network)
- if !db.NewRecord(&network) {
- t.Fatalf("network is not deleted from the database. %+v", network)
- }
- }
- func TestVPNGetNetwork(t *testing.T) {
- // Initialize:
- setupTestCase()
- SetupDB("sqlite3", ":memory:")
- defer CeaseDB()
- Init("localhost", "")
- // Prepare:
- // Test:
- netName := "testnet"
- cidrStr := "192.168.1.0/24"
- _, err := CreateNewNetwork(netName, cidrStr)
- if err != nil {
- t.Fatalf("unexpected error when creating a new network: %v", err)
- }
- var network DBNetwork
- db.First(&network)
- if db.NewRecord(&network) {
- t.Fatalf("network is not created in the database.")
- }
- n, err := GetNetwork(netName)
- if err != nil {
- t.Fatalf("unexpected error: %v", err)
- }
- if db.NewRecord(&n) {
- t.Fatalf("network is not correctly returned from db.")
- }
- }
- func TestVPNGetAllNetworks(t *testing.T) {
- // Initialize:
- setupTestCase()
- SetupDB("sqlite3", ":memory:")
- defer CeaseDB()
- Init("localhost", "")
- // Prepare:
- // Test:
- var getallnettests = []struct {
- name string
- cidr string
- passing bool
- }{
- {"testnet1", "192.168.1.0/24", true},
- {"testnet2", "10.10.0.0/16", true},
- {"testnet3", "asdkfjadflsa", false},
- }
- for _, tt := range getallnettests {
- _, err := CreateNewNetwork(tt.name, tt.cidr)
- if (err == nil) != tt.passing {
- t.Fatalf("unexpected error when creating a new network: %v", err)
- }
- }
- for _, tt := range getallnettests {
- n, err := GetNetwork(tt.name)
- if (err == nil) != tt.passing {
- t.Fatalf("network's presence is expected to be '%t' but it's '%t' instead", tt.passing, !tt.passing)
- }
- if tt.passing {
- if n.Name != tt.name {
- t.Fatalf("network Name is expected to be '%s' but it's '%s'", tt.name, n.Name)
- }
- if n.CIDR != tt.cidr {
- t.Fatalf("network CIDR is expected to be '%s' but it's '%s'", tt.cidr, n.CIDR)
- }
- }
- }
- }
- func init() {
- // Init
- Testing = true
- }
|