From 4bbce17bee91abc6309401edd4aae74e8e847b67 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Tue, 10 Oct 2017 12:08:12 +0100 Subject: [PATCH] d/dns_managed_zone: Error out if zone is not found --- google/data_source_dns_managed_zone.go | 20 +++++++++++++++++++- google/data_source_dns_managed_zone_test.go | 12 +++++------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/google/data_source_dns_managed_zone.go b/google/data_source_dns_managed_zone.go index 46d7ae45..05f96458 100644 --- a/google/data_source_dns_managed_zone.go +++ b/google/data_source_dns_managed_zone.go @@ -41,7 +41,25 @@ func dataSourceDnsManagedZone() *schema.Resource { } func dataSourceDnsManagedZoneRead(d *schema.ResourceData, meta interface{}) error { + config := meta.(*Config) + d.SetId(d.Get("name").(string)) - return resourceDnsManagedZoneRead(d, meta) + project, err := getProject(d, config) + if err != nil { + return err + } + + zone, err := config.clientDns.ManagedZones.Get( + project, d.Id()).Do() + if err != nil { + return err + } + + d.Set("name_servers", zone.NameServers) + d.Set("name", zone.Name) + d.Set("dns_name", zone.DnsName) + d.Set("description", zone.Description) + + return nil } diff --git a/google/data_source_dns_managed_zone_test.go b/google/data_source_dns_managed_zone_test.go index 277a8c6d..d8e3c0a4 100644 --- a/google/data_source_dns_managed_zone_test.go +++ b/google/data_source_dns_managed_zone_test.go @@ -16,7 +16,7 @@ func TestAccDataSourceDnsManagedZone_basic(t *testing.T) { Steps: []resource.TestStep{ resource.TestStep{ Config: testAccDataSourceDnsManagedZone_basic, - Check: testAccDataSourceDnsManagedZoneCheck("qa", "foo"), + Check: testAccDataSourceDnsManagedZoneCheck("data.google_dns_managed_zone.qa", "google_dns_managed_zone.foo"), }, }, }) @@ -24,16 +24,14 @@ func TestAccDataSourceDnsManagedZone_basic(t *testing.T) { func testAccDataSourceDnsManagedZoneCheck(dsName, rsName string) resource.TestCheckFunc { return func(s *terraform.State) error { - dsFullName := "data.google_dns_managed_zone." + dsName - rsFullName := "google_dns_managed_zone." + rsName - ds, ok := s.RootModule().Resources[dsFullName] + ds, ok := s.RootModule().Resources[rsName] if !ok { - return fmt.Errorf("cant' find resource called %s in state", dsFullName) + return fmt.Errorf("can't find resource called %s in state", rsName) } - rs, ok := s.RootModule().Resources[rsFullName] + rs, ok := s.RootModule().Resources[dsName] if !ok { - return fmt.Errorf("can't find data source called %s in state", rsFullName) + return fmt.Errorf("can't find data source called %s in state", dsName) } dsAttr := ds.Primary.Attributes