diff --git a/apps/cli/utilities/wf_monitor/logs/test.log b/apps/cli/utilities/wf_monitor/logs/test.log
new file mode 100644
index 0000000000000000000000000000000000000000..9a98d74001825a698878a9f23cfd7a5961e8d1e4
--- /dev/null
+++ b/apps/cli/utilities/wf_monitor/logs/test.log
@@ -0,0 +1 @@
+this will trigger an exception!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\ No newline at end of file
diff --git a/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py b/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py
index 4e381941f20772294aecfb38f5961bf166d788a1..a908f46cd50db69a97a2e34dedbaee8d45000bcf 100644
--- a/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py
+++ b/apps/cli/utilities/wf_monitor/test/test_wf_monitor.py
@@ -1,12 +1,17 @@
+from typing import List
+
+import pika
+import pytest
+import pytest_mock
 from wf_monitor.wf_event import WorkflowEvent, EventType
-from wf_monitor.monitor import WorkflowMonitor
+from wf_monitor.monitor import WorkflowMonitor, send_event_data, make_amqp_connection
 
-log_path = 'logs/condor.log'
-test_monitor = WorkflowMonitor(log_path)
+log_path: str = 'logs/condor.log'
+test_monitor: WorkflowMonitor = WorkflowMonitor(log_path)
 
 
 def test_read_log():
-    test_strs = [
+    test_strs: List[str] = [
         'Image size of job updated: 432',
         '432  -  ResidentSetSize of job (KB)',
         '(1) Normal termination (return value 0)',
@@ -17,8 +22,15 @@ def test_read_log():
         assert s in test_monitor.log
 
 
+def test_read_log_timeout(capsys):
+    with pytest.raises(SystemExit) as sys_ex:
+        WorkflowMonitor('logs/file-that-does-not-exist.txt', 1)
+    assert sys_ex.type == SystemExit
+    assert sys_ex.value.code == -1
+
+
 def test_parse_log():
-    test_event_types = [
+    test_event_types: List[EventType] = [
         EventType.SUBMITTED,
         EventType.EXECUTING,
         EventType.OTHER,
@@ -32,5 +44,22 @@ def test_parse_log():
         assert e.type == e_type
 
 
-def test_send_event_data():
-    pass
+def test_parse_log_error():
+    with pytest.raises(ValueError) as val_err:
+        WorkflowMonitor('logs/test.log')
+    assert val_err.type == ValueError
+
+
+def test_send_event_data(mocker):
+    mock_list = [
+        'pika.adapters.blocking_connection.BlockingChannel.basic_publish',
+        'wf_monitor.monitor.make_amqp_connection',
+        'wf_monitor.monitor.send_event_data',
+    ]
+    [mocker.patch(mock) for mock in mock_list]
+
+    connection: pika.BlockingConnection = make_amqp_connection('nmtest')
+
+    for event in WorkflowMonitor(log_path).events:
+        send_event_data(connection, event)
+    assert connection.channel().basic_publish.call_count == 8