Skip to content

Commit 0c340e2

Browse files
KelvinLinBUQuanMPhm
authored andcommitted
Force CHROME_BIN_PATH env var to be validated at start of billing pipeline.
This makes use of `required_env_vars()`.
1 parent 38d7036 commit 0c340e2

File tree

3 files changed

+4
-11
lines changed

3 files changed

+4
-11
lines changed

process_report/invoices/pi_specific_invoice.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import os
2-
import sys
32
from dataclasses import dataclass
43
import subprocess
54
import tempfile
@@ -13,7 +12,6 @@
1312

1413

1514
TEMPLATE_DIR_PATH = "process_report/templates"
16-
CHROME_BIN_PATH = os.environ.get("CHROME_BIN_PATH", "/usr/bin/chromium")
1715

1816

1917
logger = logging.getLogger(__name__)
@@ -121,17 +119,12 @@ def _create_html_invoice(temp_fd):
121119
temp_fd.flush()
122120

123121
def _create_pdf_invoice(temp_fd_name):
124-
if not os.path.exists(CHROME_BIN_PATH):
125-
sys.exit(
126-
f"Chrome binary does not exist at {CHROME_BIN_PATH}. Make sure the env var CHROME_BIN_PATH is set correctly and that Google Chrome is installed"
127-
)
128-
129122
invoice_pdf_path = (
130123
f"{self.name}/{pi_instituition}_{pi}_{self.invoice_month}.pdf"
131124
)
132125
subprocess.run(
133126
[
134-
CHROME_BIN_PATH,
127+
os.environ.get("CHROME_BIN_PATH", "/usr/bin/chromium"),
135128
"--headless",
136129
"--no-sandbox",
137130
f"--print-to-pdf={invoice_pdf_path}",

process_report/process_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ def main():
241241
)
242242
args = parser.parse_args()
243243

244-
required_env_vars = []
244+
required_env_vars = ["CHROME_BIN_PATH"]
245245
if not args.coldfront_data_file:
246246
required_env_vars.extend(["KEYCLOAK_CLIENT_ID", "KEYCLOAK_CLIENT_SECRET"])
247247
validate_required_env_vars(required_env_vars)

process_report/tests/unit/invoices/test_pi_specific_invoice.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import os
12
import tempfile
23
from unittest import TestCase, mock
34
import pandas
45

56
from process_report.tests import util as test_utils
6-
from process_report.invoices.pi_specific_invoice import CHROME_BIN_PATH
77

88

99
class TestPISpecificInvoice(TestCase):
@@ -138,7 +138,7 @@ def test_export_pi(self, mock_subprocess_run, mock_path_exists, mock_filter_cols
138138
for i, pi_pdf_path in enumerate([pi_pdf_1, pi_pdf_2]):
139139
chrome_arglist, _ = mock_subprocess_run.call_args_list[i]
140140
answer_arglist = [
141-
CHROME_BIN_PATH,
141+
os.environ.get("CHROME_BIN_PATH", "/usr/bin/chromium"),
142142
"--headless",
143143
"--no-sandbox",
144144
f"--print-to-pdf={pi_pdf_path}",

0 commit comments

Comments
 (0)