Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)