import pytest from unittest.mock import patch from inputs.enums import LogInputType from inputs.models import LogInput from inputs.services.inputs import get_allowed_input_count FULL_LICENSE = {"uuid": "5fcda3dd-8b32-47cd-96d4-1b39f68cf2f3", "hardware": "f5fbe2bd-872c-31f6-9af2-2b8eccdd9dd1", "customer": "Developers", "product": "ARMA Console", "type": "ENTERPRISE", "features": ["event_processing"], "options": {"event_sources": "100"}, "evaluationStart": "2021-08-26T19:58:03.674613245Z", "evaluationEnd": "2021-09-25T19:58:03.674613245Z"} SMALL_LICENSE = {"uuid": "5fcda3dd-8b32-47cd-96d4-1b39f68cf2f3", "hardware": "f5fbe2bd-872c-31f6-9af2-2b8eccdd9dd1", "customer": "Developers", "product": "ARMA Console", "type": "ENTERPRISE", "features": ["event_processing"], "options": {"event_sources": "1"}, "evaluationStart": "2021-08-26T19:58:03.674613245Z", "evaluationEnd": "2021-09-25T19:58:03.674613245Z"} @pytest.mark.django_db class TestAllowedInputs: @pytest.mark.unit @patch("inputs.services.inputs.get_license_info") def test_check_good_input_count(self, mock_function): mock_function.return_value = FULL_LICENSE assert get_allowed_input_count() == 100 @pytest.mark.unit @patch("inputs.services.inputs.get_license_info") def test_check_bad_input_count(self, mock_function): mock_function.return_value = None assert get_allowed_input_count() == 0 @pytest.mark.unit @patch("inputs.services.inputs.get_license_info") def test_check_change_input_count(self, mock_function): mock_function.return_value = SMALL_LICENSE assert get_allowed_input_count() == 1 LogInput.objects.create(label="1", type=LogInputType.ARMAIF, can_delete=False) assert get_allowed_input_count() == 0