Skip to content

Commit 4c69bcf

Browse files
committed
CMR-10254: Fixing EnvVars test setup.
1 parent 4239d0d commit 4c69bcf

File tree

3 files changed

+14
-22
lines changed

3 files changed

+14
-22
lines changed

subscription/run-tests-cicd.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
export PYTHONPATH=src
4+
export AWS_REGION="us-east-1"
45

56
pip3 install boto3 Flask requests
6-
#python3 -m unittest -v
77
python3 -m unittest discover -v -s ./test -p "*_test.py"

subscription/src/env_vars.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,26 @@
22
import boto3
33
from botocore.exceptions import ClientError
44
from sys import stdout
5+
from logger import logger
56

67
class Env_Vars:
78
"""Encapsulates Accessing Variables first from the OS
89
if not there, then the parameter store."""
910

1011
def __init__(self):
11-
self.ssm_client = boto3.client('ssm')
12+
self.ssm_client = boto3.client('ssm', region_name=os.getenv("AWS_REGION"))
1213

1314
def get_var(self, name, decryption=False):
1415
value = os.getenv(name)
15-
if value:
16-
print("Value: " + value)
17-
else:
18-
print("No Value")
19-
2016

2117
if not value:
2218
try:
2319
# Get the parameter value from AWS Parameter Store
2420
response = self.ssm_client.get_parameter(Name=name, WithDecryption=decryption)
25-
value = response['Parameter']['Value']
26-
print("if Value: " + value)
27-
return value
21+
return response['Parameter']['Value']
2822

2923
except ClientError as e:
30-
print(f"Error retrieving parameter from AWS Parameter Store: {e}")
31-
stdout.flush()
24+
logger.error(f"Error retrieving parameter from AWS Parameter Store: {e}")
3225
raise
3326
else:
34-
print("Else Value: " + value)
3527
return value

subscription/test/env_vars_test.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,27 @@ class TestEnvVars(unittest.TestCase):
88
def setUp(self):
99
self.env_vars = Env_Vars()
1010

11-
@patch.dict(os.environ, {'TEST_VAR': 'test_value'})
11+
@patch.dict(os.environ, {"TEST_VAR": "test_value"})
1212
def test_get_var_from_os(self):
13-
value = self.env_vars.get_var('TEST_VAR')
14-
self.assertEqual(value, 'test_value')
13+
value = self.env_vars.get_var("TEST_VAR")
14+
self.assertEqual(value, "test_value")
1515

1616
@patch.dict(os.environ, {}, clear=True)
1717
@patch('boto3.client')
1818
def test_get_var_from_ssm(self, mock_boto3_client):
1919
mock_ssm = MagicMock()
2020
mock_boto3_client.return_value = mock_ssm
2121
mock_ssm.get_parameter.return_value = {
22-
'Parameter': {
23-
'Value': 'some_value'
22+
"Parameter": {
23+
"Value": "some_value"
2424
}
2525
}
2626

2727
self.env_vars.ssm_client = mock_ssm
2828

29-
value = self.env_vars.get_var('SOME_VAR')
30-
self.assertEqual(value, 'some_value')
31-
mock_ssm.get_parameter.assert_called_once_with(Name='SOME_VAR', WithDecryption=False)
29+
value = self.env_vars.get_var("SOME_VAR")
30+
self.assertEqual(value, "some_value")
31+
mock_ssm.get_parameter.assert_called_once_with(Name="SOME_VAR", WithDecryption=False)
3232

3333
@patch.dict(os.environ, {}, clear=True)
3434
@patch('boto3.client')
@@ -63,4 +63,4 @@ def test_get_var_ssm_error(self, mock_boto3_client):
6363
self.env_vars.get_var('NONEXISTENT_VAR')
6464

6565
if __name__ == '__main__':
66-
unittest.main()
66+
unittest.main()

0 commit comments

Comments
 (0)