|
4 | 4 | "fmt" |
5 | 5 | "strings" |
6 | 6 | "testing" |
| 7 | + "time" |
7 | 8 |
|
| 9 | + "github.com/Azure/azure-sdk-for-go/management/sql" |
8 | 10 | "github.com/hashicorp/terraform/helper/resource" |
9 | 11 | "github.com/hashicorp/terraform/terraform" |
10 | 12 | ) |
@@ -101,32 +103,42 @@ func TestAccAzureSqlDatabaseServerFirewallRuleUpdate(t *testing.T) { |
101 | 103 |
|
102 | 104 | func testAccAzureDatabaseServerFirewallRuleExists(name string, servers []string) resource.TestCheckFunc { |
103 | 105 | return func(s *terraform.State) error { |
104 | | - resource, ok := s.RootModule().Resources[name] |
| 106 | + res, ok := s.RootModule().Resources[name] |
105 | 107 | if !ok { |
106 | 108 | return fmt.Errorf("Azure Database Server Firewall Rule %q doesn't exist.", name) |
107 | 109 | } |
108 | 110 |
|
109 | | - if resource.Primary.ID == "" { |
110 | | - return fmt.Errorf("Azure Database Server Firewall Rule %q resource ID not set.", name) |
| 111 | + if res.Primary.ID == "" { |
| 112 | + return fmt.Errorf("Azure Database Server Firewall Rule %q res ID not set.", name) |
111 | 113 | } |
112 | 114 |
|
113 | 115 | sqlClient := testAccProvider.Meta().(*Client).sqlClient |
114 | 116 |
|
115 | 117 | for _, server := range servers { |
116 | | - rules, err := sqlClient.ListFirewallRules(server) |
| 118 | + var rules sql.ListFirewallRulesResponse |
| 119 | + |
| 120 | + err := resource.Retry(10*time.Minute, func() error { |
| 121 | + var erri error |
| 122 | + rules, erri = sqlClient.ListFirewallRules(server) |
| 123 | + if erri != nil { |
| 124 | + return fmt.Errorf("Error listing Azure Database Server Firewall Rules for Server %q: %s", server, erri) |
| 125 | + } |
| 126 | + |
| 127 | + return nil |
| 128 | + }) |
117 | 129 | if err != nil { |
118 | | - return fmt.Errorf("Error listing Azure Database Server Firewall Rules for Server %q: %s", server, err) |
| 130 | + return err |
119 | 131 | } |
120 | 132 |
|
121 | 133 | var found bool |
122 | 134 | for _, rule := range rules.FirewallRules { |
123 | | - if rule.Name == resource.Primary.ID { |
| 135 | + if rule.Name == res.Primary.ID { |
124 | 136 | found = true |
125 | 137 | break |
126 | 138 | } |
127 | 139 | } |
128 | 140 | if !found { |
129 | | - return fmt.Errorf("Azure Database Server Firewall Rule %q doesn't exists on server %q.", resource.Primary.ID, server) |
| 141 | + return fmt.Errorf("Azure Database Server Firewall Rule %q doesn't exists on server %q.", res.Primary.ID, server) |
130 | 142 | } |
131 | 143 | } |
132 | 144 |
|
|
0 commit comments