def test_subscription_with_one_client_but_no_checks(self):
        client = factories.Client()
        self.subscription.clients.add(client)

        tasks.run_subscription(self.subscription.id,
                               func_run_check=self.run_check)

        assert not self.run_check.called
        assert not self.run_check.delay.called
    def test_subscription_with_one_client_and_one_check(self):
        client = factories.Client()
        check = factories.Check()
        self.subscription.clients.add(client)
        self.subscription.checks.add(check)

        tasks.run_subscription(self.subscription.id,
                               func_run_check=self.run_check)

        assert not self.run_check.called
        self.run_check.delay.assert_called_with(check.id, client.id)
    def test_subscription_with_one_client_and_two_checks(self):
        client = factories.Client()
        check1 = factories.Check()
        check2 = factories.Check()
        self.subscription.clients.add(client)
        self.subscription.checks.add(check1)
        self.subscription.checks.add(check2)

        tasks.run_subscription(self.subscription.id,
                               func_run_check=self.run_check)

        assert not self.run_check.called
        self.run_check.delay.assert_has_calls(
            [
                call(check1.id, client.id),
                call(check2.id, client.id),
            ],
            any_order=True,
        )
    def test_subscription_without_checks(self):
        tasks.run_subscription(self.subscription.id,
                               func_run_check=self.run_check)

        assert not self.run_check.called
        assert not self.run_check.delay.called