diff --git a/src/dhapi/client/mailjet_email_client.py b/src/dhapi/client/mailjet_email_client.py index 05e4337..6dddf1e 100644 --- a/src/dhapi/client/mailjet_email_client.py +++ b/src/dhapi/client/mailjet_email_client.py @@ -6,17 +6,17 @@ class MailjetEmailClient: - def __init__(self, to_email, api_key, api_secret, _sender_email): - self._to_email = to_email + def __init__(self, recipient_email, sender_email, api_key, api_secret): + self._recipient_email = recipient_email + self._sender_email = sender_email self._mailjet = Client(auth=(api_key, api_secret), version="v3.1") - self._sender_email = _sender_email def send_email(self, subject, body): data = { "Messages": [ { "From": {"Email": self._sender_email, "Name": "동행복권 API"}, - "To": [{"Email": self._to_email, "Name": self._to_email}], + "To": [{"Email": self._recipient_email, "Name": self._recipient_email}], "Subject": subject, "TextPart": body, "HTMLPart": "", diff --git a/src/dhapi/router/arg_parser.py b/src/dhapi/router/arg_parser.py index 3ae9c83..7b0e7df 100644 --- a/src/dhapi/router/arg_parser.py +++ b/src/dhapi/router/arg_parser.py @@ -3,8 +3,8 @@ from dhapi.configuration.logger import set_logger from dhapi.domain_object.lotto645_buy_request import Lotto645BuyRequest -from dhapi.router.credentials_provider import get_credentials from dhapi.meta.version_provider import get_installed_version +from dhapi.router.credentials_provider import get_credentials class HelpOnErrorParser(argparse.ArgumentParser): @@ -112,20 +112,16 @@ def user_id(self): def user_pw(self): return self._args.password - def email(self): - return self._args.email - - def mailjet_api_key(self): - return self._args.mailjet_api_key - - def mailjet_api_secret(self): - return self._args.mailjet_api_secret - - def mailjet_sender_email(self): - return self._args.mailjet_sender_email + def email_source(self): + return { + "recipient_email": self._args.email, + "sender_email": self._args.mailjet_sender_email, + "api_key": self._args.mailjet_api_key, + "api_secret": self._args.mailjet_api_secret, + } def send_result_to_email(self): - return self.email() is not None + return self._args.email is not None def is_quiet(self): return self._args.quiet diff --git a/tests/test_arg_parser.py b/tests/test_arg_parser.py index aaee948..30b71c4 100644 --- a/tests/test_arg_parser.py +++ b/tests/test_arg_parser.py @@ -15,10 +15,13 @@ def test_given_email_flag_is_set_and_api_credentials_not_set_when_arg_parser_ini @patch.object(sys, 'argv', ["dhapi", "buy_lotto645"]) def test_given_email_flag_not_set_when_arg_parser_email_method_used_then_no_error(self, get_credentials_mock): sut = ArgParser() - self.assertIsNone(sut.mailjet_api_key()) - self.assertIsNone(sut.mailjet_api_secret()) - self.assertIsNone(sut.mailjet_sender_email()) + self.assertDictEqual(sut.email_source(), { + "recipient_email": None, + "sender_email": None, + "api_key": None, + "api_secret": None, + }) @patch("dhapi.router.arg_parser.get_credentials", return_value={"mailjet_api_key": "test_key", "mailjet_api_secret": "test_secret", "mailjet_sender_email": "test_email@email.com"}) @patch.object(sys, 'argv', ["dhapi", "buy_lotto645", "-e", "receiver_email@email.com"]) diff --git a/tests/test_mailjet_email_client.py b/tests/test_mailjet_email_client.py index c38da4a..3c9f10e 100644 --- a/tests/test_mailjet_email_client.py +++ b/tests/test_mailjet_email_client.py @@ -7,6 +7,6 @@ class TestMailjetEmailClient(unittest.TestCase): @unittest.skip("sending real email is not needed after checking success") def test_send_email(self): - sut = MailjetEmailClient("EMAIL", "API_KEY", "SECRET_KEY") + sut = MailjetEmailClient("TO_EMAIL", "FROM_EMAIL", "API_KEY", "SECRET_KEY") sut.send_email("hello", "world")