public async Task CanUseFirewall() { Debug.WriteLine("Creating firewall rule"); var rule = new FirewallRule("TestRule1", "0.0.0.0", "255.255.255.255"); await DatabaseServer.AddFirewallRule(rule); Debug.WriteLine("Retrieving firewall rule"); var retrievedRule = (await DatabaseServer.FirewallRules.AsTask()).SingleOrDefault(r => r.Name == "TestRule1"); Assert.IsNotNull(retrievedRule); Assert.AreEqual(retrievedRule.StartIpAddress, rule.StartIpAddress); Assert.AreEqual(retrievedRule.EndIpAddress, rule.EndIpAddress); var cxString = "Data Source=tcp:" + DatabaseServer.Name + ".database.windows.net;User ID=testadmin;Password="******";Initial Catalog=master;Encrypt=true"; using (var cx = new SqlConnection(cxString)) { Debug.WriteLine("Testing SQL connection"); cx.Open(); Assert.AreEqual(1, new SqlCommand("SELECT COUNT(*) FROM sys.firewall_rules", cx).ExecuteScalar()); } Debug.WriteLine("Deleting firewall rule"); await rule.DeleteAsync(); Debug.WriteLine("Verifying firewall rule deletion"); var deletedRule = (await DatabaseServer.FirewallRules.AsTask()).SingleOrDefault(r => r.Name == "TestRule1"); Assert.IsNull(deletedRule); }