github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/builtin/providers/openstack/data_source_openstack_networking_network_v2_test.go (about) 1 package openstack 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/hashicorp/terraform/helper/resource" 8 "github.com/hashicorp/terraform/terraform" 9 ) 10 11 func TestAccOpenStackNetworkingNetworkV2DataSource_basic(t *testing.T) { 12 resource.Test(t, resource.TestCase{ 13 PreCheck: func() { testAccPreCheck(t) }, 14 Providers: testAccProviders, 15 Steps: []resource.TestStep{ 16 resource.TestStep{ 17 Config: testAccOpenStackNetworkingNetworkV2DataSource_network, 18 }, 19 resource.TestStep{ 20 Config: testAccOpenStackNetworkingNetworkV2DataSource_basic, 21 Check: resource.ComposeTestCheckFunc( 22 testAccCheckNetworkingNetworkV2DataSourceID("data.openstack_networking_network_v2.net"), 23 resource.TestCheckResourceAttr( 24 "data.openstack_networking_network_v2.net", "name", "tf_test_network"), 25 resource.TestCheckResourceAttr( 26 "data.openstack_networking_network_v2.net", "admin_state_up", "true"), 27 ), 28 }, 29 }, 30 }) 31 } 32 33 func TestAccOpenStackNetworkingNetworkV2DataSource_subnet(t *testing.T) { 34 resource.Test(t, resource.TestCase{ 35 PreCheck: func() { testAccPreCheck(t) }, 36 Providers: testAccProviders, 37 Steps: []resource.TestStep{ 38 resource.TestStep{ 39 Config: testAccOpenStackNetworkingNetworkV2DataSource_network, 40 }, 41 resource.TestStep{ 42 Config: testAccOpenStackNetworkingNetworkV2DataSource_subnet, 43 Check: resource.ComposeTestCheckFunc( 44 testAccCheckNetworkingNetworkV2DataSourceID("data.openstack_networking_network_v2.net"), 45 resource.TestCheckResourceAttr( 46 "data.openstack_networking_network_v2.net", "name", "tf_test_network"), 47 resource.TestCheckResourceAttr( 48 "data.openstack_networking_network_v2.net", "admin_state_up", "true"), 49 ), 50 }, 51 }, 52 }) 53 } 54 55 func testAccCheckNetworkingNetworkV2DataSourceID(n string) resource.TestCheckFunc { 56 return func(s *terraform.State) error { 57 rs, ok := s.RootModule().Resources[n] 58 if !ok { 59 return fmt.Errorf("Can't find network data source: %s", n) 60 } 61 62 if rs.Primary.ID == "" { 63 return fmt.Errorf("Network data source ID not set") 64 } 65 66 return nil 67 } 68 } 69 70 const testAccOpenStackNetworkingNetworkV2DataSource_network = ` 71 resource "openstack_networking_network_v2" "net" { 72 name = "tf_test_network" 73 admin_state_up = "true" 74 } 75 76 resource "openstack_networking_subnet_v2" "subnet" { 77 name = "tf_test_subnet" 78 cidr = "192.168.199.0/24" 79 no_gateway = true 80 network_id = "${openstack_networking_network_v2.net.id}" 81 } 82 ` 83 84 var testAccOpenStackNetworkingNetworkV2DataSource_basic = fmt.Sprintf(` 85 %s 86 87 data "openstack_networking_network_v2" "net" { 88 name = "${openstack_networking_network_v2.net.name}" 89 } 90 `, testAccOpenStackNetworkingNetworkV2DataSource_network) 91 92 var testAccOpenStackNetworkingNetworkV2DataSource_subnet = fmt.Sprintf(` 93 %s 94 95 data "openstack_networking_network_v2" "net" { 96 matching_subnet_cidr = "${openstack_networking_subnet_v2.subnet.cidr}" 97 } 98 `, testAccOpenStackNetworkingNetworkV2DataSource_network)