File tree Expand file tree Collapse file tree 2 files changed +29
-2
lines changed
Expand file tree Collapse file tree 2 files changed +29
-2
lines changed Original file line number Diff line number Diff line change 99
1010def get_version (root ):
1111 """
12- Load and return the contents of version.json.
12+ Load and return the contents of version.json. If a DOCKERFLOW_VERSION
13+ env var is set, sets the "version" attribute to the env var value.
1314
1415 :param root: The root path that the ``version.json`` file will be opened
1516 :type root: str
1617 :returns: Content of ``version.json`` or None
1718 :rtype: dict or None
1819 """
1920 version_json = os .path .join (root , "version.json" )
21+ version_env_var = os .getenv ("DOCKERFLOW_VERSION" )
2022 if os .path .exists (version_json ):
2123 with open (version_json , "r" ) as version_json_file :
22- return json .load (version_json_file )
24+ version_info = json .load (version_json_file )
25+ if version_env_var != None :
26+ version_info ["version" ] = version_env_var
27+ return version_info
28+ if version_env_var != None :
29+ return { "version" : version_env_var }
2330 return None
Original file line number Diff line number Diff line change 22# License, v. 2.0. If a copy of the MPL was not distributed with this
33# file, you can obtain one at http://mozilla.org/MPL/2.0/.
44import json
5+ import os
56
67from dockerflow .version import get_version
78
@@ -18,3 +19,22 @@ def test_get_version(tmpdir):
1819def test_no_version_json (tmpdir ):
1920 version = get_version (str (tmpdir ))
2021 assert version is None
22+
23+ def test_env_var_override (tmpdir , mocker ):
24+ content = {"spam" : "eggs" }
25+ mocker .patch .dict (os .environ , { "DOCKERFLOW_VERSION" : "foo" })
26+ version_json = tmpdir .join ("version.json" )
27+ version_json .write (json .dumps (content ))
28+
29+ version = get_version (str (tmpdir ))
30+ assert version == {
31+ "spam" : "eggs" ,
32+ "version" : "foo"
33+ }
34+
35+ def test_env_var_override_with_no_json (tmpdir , mocker ):
36+ mocker .patch .dict (os .environ , { "DOCKERFLOW_VERSION" : "foo" })
37+ version = get_version (str (tmpdir ))
38+ assert version == {
39+ "version" : "foo"
40+ }
You can’t perform that action at this time.
0 commit comments