diff options
Diffstat (limited to 'test/test_args.py')
| -rw-r--r-- | test/test_args.py | 55 |
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) |
