def test_remove_ocp(self): """Remove ocp provider.""" # Create Provider credentials = {"cluster_id": "cluster_id_1001"} provider_authentication = ProviderAuthentication.objects.create( credentials=credentials) with patch("masu.celery.tasks.check_report_updates"): provider = Provider.objects.create( name="ocpprovidername", created_by=self.user, customer=self.customer, authentication=provider_authentication, ) provider_uuid = provider.uuid new_user_dict = self._create_user_data() request_context = self._create_request_context(self.customer_data, new_user_dict, False, create_user=False) user_serializer = UserSerializer(data=new_user_dict, context=request_context) other_user = None if user_serializer.is_valid(raise_exception=True): other_user = user_serializer.save() with tenant_context(self.tenant): ocp_metric = metric_constants.OCP_METRIC_CPU_CORE_USAGE_HOUR ocp_source_type = Provider.PROVIDER_OCP tiered_rates = [{"unit": "USD", "value": 0.22}] ocp_data = { "name": "Test Cost Model", "description": "Test", "provider_uuids": [], "rates": [{ "metric": { "name": ocp_metric }, "source_type": ocp_source_type, "tiered_rates": tiered_rates }], } manager = CostModelManager() manager.create(**ocp_data) manager = ProviderManager(provider_uuid) manager.remove(self._create_delete_request(other_user)) cost_model_query = CostModelMap.objects.all().filter( provider_uuid=provider_uuid) self.assertFalse(cost_model_query) provider_query = Provider.objects.all().filter(uuid=provider_uuid) self.assertFalse(provider_query)
def test_remove_ocp(self, mock_delete_report): """Remove ocp provider.""" # Create Provider provider_authentication = ProviderAuthentication.objects.create( provider_resource_name='cluster_id_1001') provider = Provider.objects.create( name='ocpprovidername', created_by=self.user, customer=self.customer, authentication=provider_authentication, ) provider_uuid = provider.uuid new_user_dict = self._create_user_data() request_context = self._create_request_context(self.customer_data, new_user_dict, False) user_serializer = UserSerializer(data=new_user_dict, context=request_context) other_user = None if user_serializer.is_valid(raise_exception=True): other_user = user_serializer.save() with tenant_context(self.tenant): ocp_metric = CostModelMetricsMap.OCP_METRIC_CPU_CORE_USAGE_HOUR ocp_source_type = 'OCP' tiered_rates = [{'unit': 'USD', 'value': 0.22}] ocp_data = { 'name': 'Test Cost Model', 'description': 'Test', 'provider_uuids': [], 'rates': [{ 'metric': { 'name': ocp_metric }, 'source_type': ocp_source_type, 'tiered_rates': tiered_rates }] } manager = CostModelManager() manager.create(**ocp_data) manager = ProviderManager(provider_uuid) manager.remove(other_user) cost_model_query = CostModelMap.objects.all().filter( provider_uuid=provider_uuid) self.assertFalse(cost_model_query) provider_query = Provider.objects.all().filter(uuid=provider_uuid) self.assertFalse(provider_query)