Skip to content

Commit a9b6acc

Browse files
achristie-ima.b.christie
andauthored
fix: Fix env constant response (#3)
Co-authored-by: a.b.christie <alan.christie@matildapeak.com>
1 parent 8d4b9ad commit a9b6acc

2 files changed

Lines changed: 12 additions & 15 deletions

File tree

decoder/decoder.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -323,23 +323,19 @@ def get_environment_assets(job_definition: Dict[str, Any]) -> List[Dict[str, str
323323
return env_assets
324324

325325

326-
def get_environment_constants(job_definition: Dict[str, Any]) -> List[Dict[str, str]]:
327-
"""Given a Job definition this function returns the list of all the
328-
environment-based image constants declared. What's returned is a list
329-
of the environment variable's name and its value.
326+
def get_environment_constants(job_definition: Dict[str, Any]) -> Dict[str, str]:
327+
"""Given a Job definition this function returns all the
328+
environment-based image constants declared. What's returned is a map
329+
of environment variable names and values.
330330
"""
331-
env_constants: List[Dict[str, str]] = []
331+
env_constants: Dict[str, str] = {}
332332
# Iterate through the environment block...
333333
environment: List[Dict[str, Any]] = job_definition.get("image", {}).get(
334334
"environment", []
335335
)
336-
env_constants.extend(
337-
{
338-
item["name"]: item["value-from"]["constant"]["value"],
339-
}
340-
for item in environment
341-
if "constant" in item["value-from"]
342-
)
336+
for item in environment:
337+
if "value-from" in item and "constant" in item["value-from"]:
338+
env_constants[item["name"]] = item["value-from"]["constant"]["value"]
343339

344340
return env_constants
345341

tests/test_get_environment_constants.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ def test_get_environment_constants():
2222
}
2323

2424
# Act
25-
env_assets = decoder.get_environment_constants(job_definition)
25+
env_constants = decoder.get_environment_constants(job_definition)
2626

2727
# Assert
28-
assert len(env_assets) == 1
29-
assert env_assets[0]["BLOB"] == "42"
28+
assert len(env_constants) == 1
29+
assert "BLOB" in env_constants
30+
assert env_constants["BLOB"] == "42"

0 commit comments

Comments
 (0)