Skip to content

Commit 8ec109d

Browse files
committed
Fix tests again ✨
1 parent 50b4ef2 commit 8ec109d

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

src/common/core/middleware.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from django.http import HttpRequest, HttpResponse
44

5-
from common.core.utils import get_versions_from_manifest
5+
from common.core.utils import UNKNOWN, get_versions_from_manifest
66

77

88
class APIResponseVersionHeaderMiddleware:
@@ -18,10 +18,11 @@ def __init__(
1818

1919
def __call__(self, request: HttpRequest) -> HttpResponse:
2020
response = self.get_response(request)
21-
response.headers["X-Flagsmith-Version"] = self.get_version() or "unknown"
21+
response.headers["X-Flagsmith-Version"] = self.get_version()
2222
return response
2323

24-
def get_version(self) -> str | None:
24+
def get_version(self) -> str:
2525
"""Obtains the version number from the manifest file"""
2626
manifest_versions = get_versions_from_manifest()
27-
return manifest_versions["."]
27+
version: str = manifest_versions.get(".") or UNKNOWN
28+
return version

tests/unit/common/core/test_middleware.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import pytest
22
from pytest_mock import MockerFixture
33

4-
from common.core import middleware as middleware_module
4+
from common.core import middleware as middleware_module, utils
5+
6+
7+
@pytest.fixture(autouse=True)
8+
def clear_lru_caches() -> None:
9+
utils.get_file_contents.cache_clear()
10+
utils.get_versions_from_manifest.cache_clear()
511

612

713
def test_APIResponseVersionHeaderMiddleware__valid_version_info___adds_version_header(
@@ -28,8 +34,8 @@ def test_APIResponseVersionHeaderMiddleware__valid_version_info___adds_version_h
2834

2935

3036
@pytest.mark.parametrize("version_info", [
37+
{"foo": "bar"},
3138
{},
32-
None,
3339
])
3440
def test_APIResponseVersionHeaderMiddleware__invalid_version_info___adds_unknown_header(
3541
mocker: MockerFixture,

tests/unit/common/core/test_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ def test_get_version_info_with_missing_files(fs: FakeFilesystem) -> None:
9191
"has_email_provider": False,
9292
"is_enterprise": True,
9393
"is_saas": False,
94+
'package_versions': {'.': 'unknown'},
9495
"self_hosted_data": {
9596
"has_logins": False,
9697
"has_users": False,

0 commit comments

Comments
 (0)