summaryrefslogtreecommitdiff
path: root/libvirt/resource_libvirt_network_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libvirt/resource_libvirt_network_test.go')
-rw-r--r--libvirt/resource_libvirt_network_test.go118
1 files changed, 118 insertions, 0 deletions
diff --git a/libvirt/resource_libvirt_network_test.go b/libvirt/resource_libvirt_network_test.go
index f3c0d211..eafbc76f 100644
--- a/libvirt/resource_libvirt_network_test.go
+++ b/libvirt/resource_libvirt_network_test.go
@@ -48,6 +48,124 @@ func TestNetworkAutostart(t *testing.T) {
})
}
+func TestNetworkDNS(t *testing.T) {
+ resource.Test(t, resource.TestCase{
+ PreCheck: func() { testAccPreCheck(t) },
+ Providers: testAccProviders,
+ CheckDestroy: testAccCheckLibvirtNetworkDestroy,
+ Steps: []resource.TestStep{
+ {
+ Config: fmt.Sprintf(`
+ resource "libvirt_network" "test_net" {
+ name = "networktest"
+ mode = "nat"
+ domain = "k8s.local"
+ addresses = ["10.17.3.0/24"]
+ dns {
+ enabled = true
+ local_only = true
+
+ forwarders = [
+ "8.8.8.8",
+ "my.domain.com -> 10.10.0.67",
+ "hello.com"
+ ]
+
+ host {
+ address = "10.17.3.2"
+ name = ["server1.com", "server2.com"]
+ }
+ }
+ }`),
+ Check: resource.ComposeTestCheckFunc(
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.enabled", "true"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.local_only", "true"),
+
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.forwarders.#", "3"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.forwarders.0", "8.8.8.8"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.forwarders.1", "my.domain.com -> 10.10.0.67"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.forwarders.2", "hello.com"),
+
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.host.0.address", "10.17.3.2"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.host.0.name.#", "2"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.host.0.name.0", "server1.com"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dns.0.host.0.name.1", "server2.com"),
+ ),
+ },
+ },
+ })
+}
+
+func TestNetworkDHCP(t *testing.T) {
+ resource.Test(t, resource.TestCase{
+ PreCheck: func() { testAccPreCheck(t) },
+ Providers: testAccProviders,
+ CheckDestroy: testAccCheckLibvirtNetworkDestroy,
+ Steps: []resource.TestStep{
+ {
+ Config: fmt.Sprintf(`
+ resource "libvirt_network" "test_net" {
+ name = "networktest"
+ mode = "nat"
+ domain = "k8s.local"
+ addresses = ["10.17.3.0/24"]
+ dhcp {
+ enabled = false
+ }
+ }`),
+ Check: resource.ComposeTestCheckFunc(
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "dhcp.0.enabled", "false"),
+ ),
+ },
+ },
+ })
+}
+
+func TestNetworkStaticRoutes(t *testing.T) {
+ resource.Test(t, resource.TestCase{
+ PreCheck: func() { testAccPreCheck(t) },
+ Providers: testAccProviders,
+ CheckDestroy: testAccCheckLibvirtNetworkDestroy,
+ Steps: []resource.TestStep{
+ {
+ Config: fmt.Sprintf(`
+ resource "libvirt_network" "test_net" {
+ name = "networktest"
+ mode = "nat"
+ domain = "k8s.local"
+ addresses = ["10.17.3.0/24"]
+ routes = [
+ "192.168.7.0/24 -> 127.0.0.1",
+ "192.168.9.1/24 -> 127.0.0.1",
+ "192.168.17.1/32 -> 127.0.0.1",
+ "2001:db9:4:1::/64 -> ::1"
+ ]
+ }`),
+ Check: resource.ComposeTestCheckFunc(
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.0.address", "192.168.7.0"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.0.prefix", "24"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.0.family", "ipv4"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.0.gateway", "127.0.0.1"),
+
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.1.address", "192.168.9.0"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.1.prefix", "24"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.1.family", "ipv4"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.1.gateway", "127.0.0.1"),
+
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.2.address", "192.168.17.1"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.2.prefix", "32"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.2.family", "ipv4"),
+ resource.TestCheckResourceAttr("libvirt_network.test_net", "route.2.gateway", "127.0.0.1"),
+ ),
+ },
+ },
+ })
+}
+
+/*************************
+ * tests helpers
+ ************************/
+
func networkExists(n string, network *libvirt.Network) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[n]