コード例 #1
0
ファイル: test_stats.py プロジェクト: virtengine/ve-waldur-v2
    def test_fixed_usage_is_aggregated_for_project_and_customer(self):
        # Arrange
        models.ResourcePlanPeriod.objects.create(
            resource=self.resource,
            plan=self.plan,
            start=parse_date('2019-01-10'),
            end=parse_date('2019-01-20'),
        )

        # Act
        tasks.calculate_usage_for_current_month()

        # Assert
        project_usage = (models.CategoryComponentUsage.objects.filter(
            scope=self.project,
            component=self.category_component,
            date=self.date,
        ).get().fixed_usage)
        customer_usage = (models.CategoryComponentUsage.objects.filter(
            scope=self.customer,
            component=self.category_component,
            date=self.date).get().fixed_usage)

        self.assertEqual(project_usage, self.plan_component.amount)
        self.assertEqual(customer_usage, self.plan_component.amount)
コード例 #2
0
ファイル: test_stats.py プロジェクト: virtengine/ve-waldur-v2
    def test_reported_usage_is_aggregated_for_project_and_customer(self):
        # Arrange
        plan_period = models.ResourcePlanPeriod.objects.create(
            start=parse_datetime('2019-01-01'),
            resource=self.resource,
            plan=self.plan,
        )

        models.ComponentUsage.objects.create(
            resource=self.resource,
            component=self.offering_component,
            date=parse_date('2019-01-10'),
            billing_period=parse_date('2019-01-01'),
            plan_period=plan_period,
            usage=100,
        )

        self.new_resource = factories.ResourceFactory(project=self.project,
                                                      offering=self.offering,
                                                      plan=self.plan)

        new_plan_period = models.ResourcePlanPeriod.objects.create(
            start=parse_date('2019-01-01'),
            resource=self.new_resource,
            plan=self.plan,
        )

        models.ComponentUsage.objects.create(
            resource=self.resource,
            component=self.offering_component,
            date=parse_date('2019-01-20'),
            billing_period=parse_date('2019-01-01'),
            plan_period=new_plan_period,
            usage=200,
        )

        # Act
        tasks.calculate_usage_for_current_month()

        # Assert
        project_usage = (models.CategoryComponentUsage.objects.filter(
            scope=self.project,
            component=self.category_component,
            date=self.date).get().reported_usage)
        customer_usage = (models.CategoryComponentUsage.objects.filter(
            scope=self.customer,
            component=self.category_component,
            date=self.date).get().reported_usage)

        self.assertEqual(project_usage, 300)
        self.assertEqual(customer_usage, 300)
コード例 #3
0
ファイル: test_tasks.py プロジェクト: yyri/waldur-mastermind
 def test_calculate_usage_if_category_component_is_not_set(self):
     self.offering_component.parent = None
     self.offering_component.save()
     tasks.calculate_usage_for_current_month()
     self.assertEqual(models.CategoryComponentUsage.objects.count(), 0)
コード例 #4
0
ファイル: test_tasks.py プロジェクト: yyri/waldur-mastermind
 def test_calculate_usage_if_category_component_is_set(self):
     tasks.calculate_usage_for_current_month()
     self.assertEqual(models.CategoryComponentUsage.objects.count(), 2)