File tree Expand file tree Collapse file tree 3 files changed +14
-6
lines changed
Expand file tree Collapse file tree 3 files changed +14
-6
lines changed Original file line number Diff line number Diff line change 22
33from 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
88class 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
Original file line number Diff line number Diff line change 11import pytest
22from 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
713def 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])
3440def test_APIResponseVersionHeaderMiddleware__invalid_version_info___adds_unknown_header (
3541 mocker : MockerFixture ,
Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments