def test_clear_sandbox_components(self): # arrange mock_sandbox: Sandbox = Mock() mock_sandbox.id = "sandbox_id" mock_api: CloudShellAPISession = Mock() mock_sandbox.automation_api = mock_api mock_get_reservation_details:GetReservationDescriptionResponseInfo = Mock() mock_reservation_description = Mock() mock_resource:ReservedResourceInfo = Mock() mock_resource.Name = "mock_resource_name" mock_service:ServiceInstance = Mock() mock_service.Alias = "mock_alias" mock_app:ReservationAppResource = Mock() mock_app.Name = "mock_app_name" mock_reservation_description.Resources = [mock_resource] mock_reservation_description.Services = [mock_service] mock_reservation_description.Apps = [mock_app] mock_get_reservation_details.ReservationDescription = mock_reservation_description mock_api.GetReservationDetails = Mock(return_value=mock_get_reservation_details) # act self.logic.clear_sandbox_components(mock_sandbox) # assert mock_sandbox.automation_api.RemoveResourcesFromReservation.assert_called_once_with(mock_sandbox.id,[mock_resource.Name]) mock_sandbox.automation_api.RemoveServicesFromReservation.assert_called_once_with(mock_sandbox.id,[mock_service.Alias]) mock_sandbox.automation_api.RemoveAppFromReservation.assert_called_once_with(mock_sandbox.id,appName=mock_app.Name)
def test_clear_sandbox_components_empty(self): # arrange mock_sandbox: Sandbox = Mock() mock_sandbox.id = "sandbox_id" mock_api: CloudShellAPISession = Mock() mock_sandbox.automation_api = mock_api mock_get_reservation_details:GetReservationDescriptionResponseInfo = Mock() mock_reservation_description = Mock() mock_reservation_description.Resources = [] mock_reservation_description.Services = [] mock_reservation_description.Apps = [] mock_get_reservation_details.ReservationDescription = mock_reservation_description mock_api.GetReservationDetails = Mock(return_value=mock_get_reservation_details) # act self.logic.clear_sandbox_components(mock_sandbox) # assert mock_sandbox.automation_api.RemoveResourcesFromReservation.assert_not_called() mock_sandbox.automation_api.RemoveServicesFromReservation.assert_not_called() mock_sandbox.automation_api.RemoveAppFromReservation.assert_not_called()
def test_clear_sandbox_components_ex(self): # arrange mock_sandbox: Sandbox = Mock() mock_sandbox.id = "sandbox_id" mock_api: CloudShellAPISession = Mock() mock_sandbox.automation_api = mock_api mock_get_reservation_details:GetReservationDescriptionResponseInfo = Mock() mock_reservation_description = Mock() mock_reservation_description.Resources = [] mock_service: ServiceInstance = Mock() mock_service.Alias = "mock_alias" mock_reservation_description.Services = [mock_service] mock_reservation_description.Apps = [] mock_get_reservation_details.ReservationDescription = mock_reservation_description mock_api.GetReservationDetails = Mock(return_value=mock_get_reservation_details) mock_api.RemoveServicesFromReservation = Mock(return_value=Exception) mock_api.RemoveServicesFromReservation.side_effect = Exception('') # act self.logic.clear_sandbox_components(mock_sandbox) # assert mock_sandbox.logger.exception.assert_called_once()