summaryrefslogtreecommitdiff
path: root/test/test_args.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_args.py')
-rw-r--r--test/test_args.py55
1 files changed, 35 insertions, 20 deletions
diff --git a/test/test_args.py b/test/test_args.py
index 9ca0110..ff492ac 100644
--- a/test/test_args.py
+++ b/test/test_args.py
@@ -1,12 +1,15 @@
# TODO: Don't forget to strftime the fake dates for my TIME_FORMAT
from src.args_worklogger import parser
from argparse import Namespace
+from pprint import pprint
import subprocess
import os
import unittest
import random
+import json
+# 2024-11-29T02:45:40UTC
TIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Z"
FIELDS = ["timestamp", "job", "proj", "loc", "time", "start", "end", "desc"]
@@ -14,33 +17,46 @@ FIELDS = ["timestamp", "job", "proj", "loc", "time", "start", "end", "desc"]
class TestArgs(unittest.TestCase):
fields = ''
for x in FIELDS:
- if x == 'start' or x == 'end':
- continue
fields += f'{x},'
- cmd = f'fake -n {random.randint(50, 100)} date,job,word,word,time,sentence -f json -c ' + fields
- print(cmd)
+ cmd = f'fake -n {random.randint(50, 100)} date_time,job,word,word,time,time,time,sentence -f json -c ' + fields
data = subprocess.getoutput(cmd)
- print(data)
+ json_data: dict = {"logs": []}
+ for line in data.split('}'):
+ if not line:
+ continue
+
+ _propjson = line + '}'
+ json_data["logs"].append(json.loads(_propjson))
+
+ for log in json_data["logs"]:
+ _ts = log["timestamp"].split()
+ _tscorrect = ''
+ for i, ele in enumerate(_ts):
+ if i == 1:
+ _tscorrect += 'T'
+ _tscorrect += ele
+ log["timestamp"] = _tscorrect + 'UTC'
def test_argsbase(self):
- _flags = parser.parse_args(
- [
- 'not so great company',
- '-p', 'govwork',
- '-loc', 'remote',
- '-t', '1',
- '-s', 'now',
- '-m', 'testing again, does this work'
- ]
- )
- self.assertIsInstance(_flags, Namespace)
- _flagsDict = vars(_flags)
- self.assertIsInstance(_flagsDict, dict)
+ for log in self.json_data["logs"]:
+ _flags = parser.parse_args(
+ [
+ f'{log["job"]}',
+ '-p', f'{log["proj"]}',
+ '-loc', f'{log["loc"]}',
+ '-t', f'{log["time"]}',
+ '-s', f'{log["start"]}',
+ '-m', f'{log["desc"]}'
+ ]
+ )
+ self.assertIsInstance(_flags, Namespace)
+ _flagsDict = vars(_flags)
+ self.assertIsInstance(_flagsDict, dict)
def test_argsmerge(self):
_filetypes = ['csv', 'text', 'json']
for file in _filetypes:
- _flags = _flags = parser.parse_args(
+ _flags = parser.parse_args(
[
'test_job',
'merge', f'{file}',
@@ -48,7 +64,6 @@ class TestArgs(unittest.TestCase):
]
)
- print(_flags)
self.assertIsInstance(_flags, Namespace)
_flagsDict = vars(_flags)
self.assertIsInstance(_flagsDict, dict)