Skip to content

Commit

Permalink
add context to logs in _remove_expired_data func
Browse files Browse the repository at this point in the history
  • Loading branch information
djnakabaale committed Jul 2, 2024
1 parent b39fc6a commit 6fa7ee6
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 6 deletions.
6 changes: 4 additions & 2 deletions koku/masu/processor/_tasks/remove_expired.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ def _remove_expired_data(schema_name, provider, simulate, provider_uuid=None):
"""

LOG.info(log_json(msg="Remove expired data", schema=schema_name, provider=provider, simulate=simulate))
context = {"schema": schema_name, "provider_type": provider, "provider_uuid": provider_uuid, "simulate": simulate}

LOG.info(log_json(msg="Remove expired data", context=context))

remover = ExpiredDataRemover(schema_name, provider)
removed_data = remover.remove(simulate=simulate, provider_uuid=provider_uuid)
if removed_data:
status_msg = "Expired Data" if simulate else "Removed Data"
LOG.info(log_json(msg=status_msg, removed_data=removed_data))
LOG.info(log_json(msg=status_msg, removed_data=removed_data, context=context))
68 changes: 64 additions & 4 deletions koku/masu/test/processor/test_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -645,18 +645,78 @@ class TestRemoveExpiredDataTasks(MasuTestCase):
"""Test cases for Processor Celery tasks."""

@patch.object(ExpiredDataRemover, "remove")
def test_remove_expired_data(self, fake_remover):
def test_remove_expired_data_simulate(self, fake_remover):
"""Test task."""
expected_results = [{"account_payer_id": "999999999", "billing_period_start": "2018-06-24 15:47:33.052509"}]
fake_remover.return_value = expected_results

expected = "INFO:masu.processor._tasks.remove_expired:Expired Data:\n {}"
schema = self.schema
provider = Provider.PROVIDER_AWS
simulate = True

expected_initial_remove_log = (
"INFO:masu.processor._tasks.remove_expired:"
"{'message': 'Remove expired data', 'tracing_id': '', "
"'schema': '" + schema + "', "
"'provider_type': '" + provider + "', "
"'provider_uuid': " + str(None) + ", "
"'simulate': " + str(simulate) + "}"
)

expected_expired_data_log = (
"INFO:masu.processor._tasks.remove_expired:"
"{'message': 'Expired Data', 'tracing_id': '', "
"'schema': '" + schema + "', "
"'provider_type': '" + provider + "', "
"'provider_uuid': " + str(None) + ", "
"'simulate': " + str(simulate) + ", "
"'removed_data': " + str(expected_results) + "}"
)

# disable logging override set in masu/__init__.py
logging.disable(logging.NOTSET)
with self.assertLogs("masu.processor._tasks.remove_expired") as logger:
remove_expired_data(schema_name=schema, provider=provider, simulate=simulate)

self.assertIn(expected_initial_remove_log, logger.output)
self.assertIn(expected_expired_data_log, logger.output)

@patch.object(ExpiredDataRemover, "remove")
def test_remove_expired_data_no_simulate(self, fake_remover):
"""Test task."""
expected_results = [{"account_payer_id": "999999999", "billing_period_start": "2018-06-24 15:47:33.052509"}]
fake_remover.return_value = expected_results

schema = self.schema
provider = Provider.PROVIDER_AWS
simulate = False

expected_initial_remove_log = (
"INFO:masu.processor._tasks.remove_expired:"
"{'message': 'Remove expired data', 'tracing_id': '', "
"'schema': '" + schema + "', "
"'provider_type': '" + provider + "', "
"'provider_uuid': " + str(None) + ", "
"'simulate': " + str(simulate) + "}"
)

expected_expired_data_log = (
"INFO:masu.processor._tasks.remove_expired:"
"{'message': 'Expired Data', 'tracing_id': '', "
"'schema': '" + schema + "', "
"'provider_type': '" + provider + "', "
"'provider_uuid': " + str(None) + ", "
"'simulate': " + str(simulate) + ", "
"'removed_data': " + str(expected_results) + "}"
)

# disable logging override set in masu/__init__.py
logging.disable(logging.NOTSET)
with self.assertLogs("masu.processor._tasks.remove_expired") as logger:
remove_expired_data(schema_name=self.schema, provider=Provider.PROVIDER_AWS, simulate=True)
self.assertIn(expected.format(str(expected_results)), logger.output)
remove_expired_data(schema_name=schema, provider=provider, simulate=simulate)

self.assertIn(expected_initial_remove_log, logger.output)
self.assertNotIn(expected_expired_data_log, logger.output)


class TestUpdateSummaryTablesTask(MasuTestCase):
Expand Down

0 comments on commit 6fa7ee6

Please sign in to comment.