github.com/danp/terraform@v0.9.5-0.20170426144147-39d740081351/builtin/providers/opc/data_source_network_interface_test.go (about) 1 package opc 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/hashicorp/terraform/helper/acctest" 8 "github.com/hashicorp/terraform/helper/resource" 9 ) 10 11 func TestAccOPCDataSourceNetworkInterface_basic(t *testing.T) { 12 rInt := acctest.RandInt() 13 resName := "data.opc_compute_network_interface.test" 14 15 resource.Test(t, resource.TestCase{ 16 PreCheck: func() { testAccPreCheck(t) }, 17 Providers: testAccProviders, 18 Steps: []resource.TestStep{ 19 { 20 Config: testAccDataSourceNetworkInterfaceBasic(rInt), 21 Check: resource.ComposeTestCheckFunc( 22 resource.TestCheckResourceAttr(resName, "ip_network", fmt.Sprintf("testing-ip-network-%d", rInt)), 23 resource.TestCheckResourceAttr(resName, "vnic", fmt.Sprintf("ip-network-test-%d", rInt)), 24 resource.TestCheckResourceAttr(resName, "shared_network", "false"), 25 ), 26 }, 27 }, 28 }) 29 } 30 31 func TestAccOPCDataSourceNetworkInterface_sharedNetwork(t *testing.T) { 32 rInt := acctest.RandInt() 33 resName := "data.opc_compute_network_interface.test" 34 35 resource.Test(t, resource.TestCase{ 36 PreCheck: func() { testAccPreCheck(t) }, 37 Providers: testAccProviders, 38 Steps: []resource.TestStep{ 39 { 40 Config: testAccDataSourceNetworkInterfaceShared(rInt), 41 Check: resource.ComposeTestCheckFunc( 42 resource.TestCheckResourceAttr(resName, "nat.#", "1"), 43 resource.TestCheckResourceAttr(resName, "shared_network", "true"), 44 resource.TestCheckResourceAttr(resName, "sec_lists.#", "1"), 45 resource.TestCheckResourceAttr(resName, "name_servers.#", "0"), 46 resource.TestCheckResourceAttr(resName, "vnic_sets.#", "0"), 47 ), 48 }, 49 }, 50 }) 51 } 52 53 func testAccDataSourceNetworkInterfaceBasic(rInt int) string { 54 return fmt.Sprintf(` 55 resource "opc_compute_ip_network" "foo" { 56 name = "testing-ip-network-%d" 57 description = "testing-ip-network-instance" 58 ip_address_prefix = "10.1.12.0/24" 59 } 60 61 resource "opc_compute_instance" "test" { 62 name = "test-%d" 63 label = "test" 64 shape = "oc3" 65 image_list = "/oracle/public/oel_6.7_apaas_16.4.5_1610211300" 66 networking_info { 67 index = 0 68 ip_network = "${opc_compute_ip_network.foo.id}" 69 vnic = "ip-network-test-%d" 70 shared_network = false 71 } 72 } 73 74 data "opc_compute_network_interface" "test" { 75 instance_name = "${opc_compute_instance.test.name}" 76 instance_id = "${opc_compute_instance.test.id}" 77 interface = "eth0" 78 }`, rInt, rInt, rInt) 79 } 80 81 func testAccDataSourceNetworkInterfaceShared(rInt int) string { 82 return fmt.Sprintf(` 83 resource "opc_compute_instance" "test" { 84 name = "test-%d" 85 label = "test" 86 shape = "oc3" 87 image_list = "/oracle/public/oel_6.7_apaas_16.4.5_1610211300" 88 tags = ["tag1", "tag2"] 89 networking_info { 90 index = 0 91 nat = ["ippool:/oracle/public/ippool"] 92 shared_network = true 93 } 94 } 95 96 data "opc_compute_network_interface" "test" { 97 instance_name = "${opc_compute_instance.test.name}" 98 instance_id = "${opc_compute_instance.test.id}" 99 interface = "eth0" 100 }`, rInt) 101 }