#[cfg(any(test, feature = "test-support"))]
use crate::mock_client::{ExpectationBuilder, MockClient};
#[cfg(any(test, feature = "test-support"))]
pub trait FunctionsMockHelpers {
fn expect_list_function_apps(&mut self, subscription_id: &str) -> ExpectationBuilder<'_>;
fn expect_list_function_apps_by_resource_group(
&mut self,
subscription_id: &str,
resource_group_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_get_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
fn expect_create_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
fn expect_delete_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
fn expect_list_functions(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
fn expect_get_function(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
function_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_list_app_settings(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
fn expect_update_app_settings(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> ExpectationBuilder<'_>;
}
#[cfg(any(test, feature = "test-support"))]
impl FunctionsMockHelpers for MockClient {
fn expect_list_function_apps(
&mut self,
subscription_id: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!("/subscriptions/{subscription_id}/providers/Microsoft.Web/sites");
self.expect_get(&path)
}
fn expect_list_function_apps_by_resource_group(
&mut self,
subscription_id: &str,
resource_group_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites"
);
self.expect_get(&path)
}
fn expect_get_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}"
);
self.expect_get(&path)
}
fn expect_create_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}"
);
self.expect_put(&path)
}
fn expect_delete_function_app(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}"
);
self.expect_delete(&path)
}
fn expect_list_functions(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}/functions"
);
self.expect_get(&path)
}
fn expect_get_function(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
function_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}/functions/{function_name}"
);
self.expect_get(&path)
}
fn expect_list_app_settings(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}/config/appsettings/list"
);
self.expect_post(&path)
}
fn expect_update_app_settings(
&mut self,
subscription_id: &str,
resource_group_name: &str,
name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Web/sites/{name}/config/appsettings"
);
self.expect_put(&path)
}
}