#[cfg(any(test, feature = "test-support"))]
use crate::mock_client::{ExpectationBuilder, MockClient};
#[cfg(any(test, feature = "test-support"))]
pub trait SqlMockHelpers {
fn expect_list_servers(&mut self, subscription_id: &str) -> ExpectationBuilder<'_>;
fn expect_get_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_create_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_delete_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_list_databases(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_get_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_create_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_delete_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_list_firewall_rules(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_create_firewall_rule(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
firewall_rule_name: &str,
) -> ExpectationBuilder<'_>;
}
#[cfg(any(test, feature = "test-support"))]
impl SqlMockHelpers for MockClient {
fn expect_list_servers(
&mut self,
subscription_id: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!("/subscriptions/{subscription_id}/providers/Microsoft.Sql/servers");
self.expect_get(&path)
}
fn expect_get_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}"
);
self.expect_get(&path)
}
fn expect_create_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}"
);
self.expect_put(&path)
}
fn expect_delete_server(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}"
);
self.expect_delete(&path)
}
fn expect_list_databases(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/databases"
);
self.expect_get(&path)
}
fn expect_get_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/databases/{database_name}"
);
self.expect_get(&path)
}
fn expect_create_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/databases/{database_name}"
);
self.expect_put(&path)
}
fn expect_delete_database(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
database_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/databases/{database_name}"
);
self.expect_delete(&path)
}
fn expect_list_firewall_rules(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/firewallRules"
);
self.expect_get(&path)
}
fn expect_create_firewall_rule(
&mut self,
subscription_id: &str,
resource_group_name: &str,
server_name: &str,
firewall_rule_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Sql/servers/{server_name}/firewallRules/{firewall_rule_name}"
);
self.expect_put(&path)
}
}