1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-15 01:24:29 +02:00

add top-s tests

This commit is contained in:
Kelly Brazil
2022-05-27 14:29:33 -07:00
parent 388da9f003
commit f774513554
4 changed files with 64 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

61
tests/test_top_s.py Normal file
View File

@ -0,0 +1,61 @@
import os
import json
import unittest
import jc.parsers.top_s
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
# To create streaming output use:
# $ cat top.out | jc --top-s | jello -c > top-streaming.json
class MyTests(unittest.TestCase):
def setUp(self):
# input
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n3.out'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n3 = f.read()
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n1-gib.out'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n1_gib = f.read()
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w.out'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n1_gib_allfields_w = f.read()
# output
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n3-streaming.json'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n3_streaming_json = json.loads(f.read())
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n1-gib-streaming.json'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n1_gib_streaming_json = json.loads(f.read())
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/top-b-n1-gib-allfields-w-streaming.json'), 'r', encoding='utf-8') as f:
self.centos_7_7_top_b_n1_gib_allfields_w_streaming_json = json.loads(f.read())
def test_top_s_nodata(self):
"""
Test 'top' with no data
"""
self.assertEqual(list(jc.parsers.top_s.parse([], quiet=True)), [])
def test_top_s_b_n3_centos_7_7(self):
"""
Test 'top -b -n3' on Centos 7.7
"""
self.assertEqual(list(jc.parsers.top_s.parse(self.centos_7_7_top_b_n3.splitlines(), quiet=True)), self.centos_7_7_top_b_n3_streaming_json)
def test_top_s_b_n1_gib_centos_7_7(self):
"""
Test 'top -b -n1' with GiB units on Centos 7.7
"""
self.assertEqual(list(jc.parsers.top_s.parse(self.centos_7_7_top_b_n1_gib.splitlines(), quiet=True)), self.centos_7_7_top_b_n1_gib_streaming_json)
def test_top_s_b_n1_gib_allfields_w_centos_7_7(self):
"""
Test 'top -b -n1 -w' with GiB units, all fields selected and wide output on Centos 7.7
"""
self.assertEqual(list(jc.parsers.top_s.parse(self.centos_7_7_top_b_n1_gib_allfields_w.splitlines(), quiet=True)), self.centos_7_7_top_b_n1_gib_allfields_w_streaming_json)
if __name__ == '__main__':
unittest.main()