#[cfg(any(test, feature = "test-support"))]
use crate::mock_client::{ExpectationBuilder, MockClient};
#[cfg(any(test, feature = "test-support"))]
pub trait IdentityMockHelpers {
fn expect_list_user_assigned_identities(
&mut self,
subscription_id: &str,
) -> ExpectationBuilder<'_>;
fn expect_list_user_assigned_identities_in_group(
&mut self,
subscription_id: &str,
resource_group_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_get_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_create_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_delete_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> ExpectationBuilder<'_>;
fn expect_get_system_assigned_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
parent_resource_provider: &str,
parent_resource_type: &str,
parent_resource_name: &str,
) -> ExpectationBuilder<'_>;
}
#[cfg(any(test, feature = "test-support"))]
impl IdentityMockHelpers for MockClient {
fn expect_list_user_assigned_identities(
&mut self,
subscription_id: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"
);
self.expect_get(&path)
}
fn expect_list_user_assigned_identities_in_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.ManagedIdentity/userAssignedIdentities"
);
self.expect_get(&path)
}
fn expect_get_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource_name}"
);
self.expect_get(&path)
}
fn expect_create_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource_name}"
);
self.expect_put(&path)
}
fn expect_delete_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
resource_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resource_name}"
);
self.expect_delete(&path)
}
fn expect_get_system_assigned_identity(
&mut self,
subscription_id: &str,
resource_group_name: &str,
parent_resource_provider: &str,
parent_resource_type: &str,
parent_resource_name: &str,
) -> crate::mock_client::ExpectationBuilder<'_> {
let path = format!(
"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/{parent_resource_provider}/{parent_resource_type}/{parent_resource_name}/providers/Microsoft.ManagedIdentity/identities/default"
);
self.expect_get(&path)
}
}