1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-27 00:41:20 +02:00

add tests

This commit is contained in:
Kelly Brazil
2022-04-22 16:25:45 -07:00
parent 4825b16f07
commit 73b7e71cad
6 changed files with 73 additions and 1 deletions

View File

@ -1,6 +1,6 @@
jc changelog jc changelog
20220404 v1.18.7 (in progress) 20220404 v1.18.7
- Add git log command parser - Add git log command parser
- Add update-alternatives --query parser - Add update-alternatives --query parser
- Add update-alternatives --get-selections parser - Add update-alternatives --get-selections parser

View File

@ -0,0 +1 @@
[{"name":"arptables","status":"auto","current":"/usr/sbin/arptables-nft"},{"name":"awk","status":"auto","current":"/usr/bin/gawk"},{"name":"builtins.7.gz","status":"auto","current":"/usr/share/man/man7/bash-builtins.7.gz"},{"name":"c++","status":"auto","current":"/usr/bin/g++"},{"name":"c89","status":"auto","current":"/usr/bin/c89-gcc"},{"name":"c99","status":"auto","current":"/usr/bin/c99-gcc"},{"name":"cc","status":"auto","current":"/usr/bin/gcc"},{"name":"cpp","status":"auto","current":"/usr/bin/cpp"},{"name":"ebtables","status":"auto","current":"/usr/sbin/ebtables-nft"},{"name":"editor","status":"auto","current":"/bin/nano"},{"name":"ex","status":"auto","current":"/usr/bin/vim.basic"},{"name":"fakeroot","status":"auto","current":"/usr/bin/fakeroot-sysv"},{"name":"ftp","status":"auto","current":"/usr/bin/netkit-ftp"},{"name":"infobrowser","status":"auto","current":"/usr/bin/info"},{"name":"ip6tables","status":"auto","current":"/usr/sbin/ip6tables-nft"},{"name":"iptables","status":"auto","current":"/usr/sbin/iptables-nft"},{"name":"jsondiff","status":"auto","current":"/usr/bin/json-patch-jsondiff"},{"name":"lzma","status":"auto","current":"/usr/bin/xz"},{"name":"mt","status":"auto","current":"/bin/mt-gnu"},{"name":"nc","status":"auto","current":"/bin/nc.openbsd"},{"name":"newt-palette","status":"auto","current":"/etc/newt/palette.ubuntu"},{"name":"pager","status":"auto","current":"/usr/bin/less"},{"name":"pico","status":"auto","current":"/bin/nano"},{"name":"pinentry","status":"auto","current":"/usr/bin/pinentry-curses"},{"name":"rcp","status":"auto","current":"/usr/bin/scp"},{"name":"rlogin","status":"auto","current":"/usr/bin/slogin"},{"name":"rmt","status":"auto","current":"/usr/sbin/rmt-tar"},{"name":"rsh","status":"auto","current":"/usr/bin/ssh"},{"name":"rview","status":"auto","current":"/usr/bin/vim.basic"},{"name":"rvim","status":"auto","current":"/usr/bin/vim.basic"},{"name":"sar","status":"auto","current":"/usr/bin/sar.sysstat"},{"name":"telnet","status":"auto","current":"/usr/bin/telnet.netkit"},{"name":"text.plymouth","status":"auto","current":"/usr/share/plymouth/themes/ubuntu-text/ubuntu-text.plymouth"},{"name":"traceroute6","status":"auto","current":"/usr/bin/traceroute6.iputils"},{"name":"vi","status":"auto","current":"/usr/bin/vim.basic"},{"name":"view","status":"auto","current":"/usr/bin/vim.basic"},{"name":"vim","status":"auto","current":"/usr/bin/vim.basic"},{"name":"vimdiff","status":"auto","current":"/usr/bin/vim.basic"},{"name":"vtrgb","status":"auto","current":"/etc/console-setup/vtrgb"},{"name":"w","status":"auto","current":"/usr/bin/w.procps"},{"name":"write","status":"auto","current":"/usr/bin/write.ul"}]

View File

@ -0,0 +1 @@
{"name":"editor","link":"/usr/bin/editor","slaves":[{"name":"editor.1.gz","path":"/usr/share/man/man1/editor.1.gz"},{"name":"editor.da.1.gz","path":"/usr/share/man/da/man1/editor.1.gz"},{"name":"editor.de.1.gz","path":"/usr/share/man/de/man1/editor.1.gz"},{"name":"editor.fr.1.gz","path":"/usr/share/man/fr/man1/editor.1.gz"},{"name":"editor.it.1.gz","path":"/usr/share/man/it/man1/editor.1.gz"},{"name":"editor.ja.1.gz","path":"/usr/share/man/ja/man1/editor.1.gz"},{"name":"editor.pl.1.gz","path":"/usr/share/man/pl/man1/editor.1.gz"},{"name":"editor.ru.1.gz","path":"/usr/share/man/ru/man1/editor.1.gz"}],"status":"auto","best":"/bin/nano","value":"/bin/nano","alternatives":[{"name":"/bin/ed","priority":-100,"slaves":[{"name":"editor.1.gz","path":"/usr/share/man/man1/ed.1.gz"}]},{"name":"/bin/nano","priority":40,"slaves":[{"name":"editor.1.gz","path":"/usr/share/man/man1/nano.1.gz"}]},{"name":"/usr/bin/vim.basic","priority":30,"slaves":[{"name":"editor.1.gz","path":"/usr/share/man/man1/vim.1.gz"},{"name":"editor.da.1.gz","path":"/usr/share/man/da/man1/vim.1.gz"},{"name":"editor.de.1.gz","path":"/usr/share/man/de/man1/vim.1.gz"},{"name":"editor.fr.1.gz","path":"/usr/share/man/fr/man1/vim.1.gz"},{"name":"editor.it.1.gz","path":"/usr/share/man/it/man1/vim.1.gz"},{"name":"editor.ja.1.gz","path":"/usr/share/man/ja/man1/vim.1.gz"},{"name":"editor.pl.1.gz","path":"/usr/share/man/pl/man1/vim.1.gz"},{"name":"editor.ru.1.gz","path":"/usr/share/man/ru/man1/vim.1.gz"}]},{"name":"/usr/bin/vim.tiny","priority":15,"slaves":[{"name":"editor.1.gz","path":"/usr/share/man/man1/vim.1.gz"},{"name":"editor.da.1.gz","path":"/usr/share/man/da/man1/vim.1.gz"},{"name":"editor.de.1.gz","path":"/usr/share/man/de/man1/vim.1.gz"},{"name":"editor.fr.1.gz","path":"/usr/share/man/fr/man1/vim.1.gz"},{"name":"editor.it.1.gz","path":"/usr/share/man/it/man1/vim.1.gz"},{"name":"editor.ja.1.gz","path":"/usr/share/man/ja/man1/vim.1.gz"},{"name":"editor.pl.1.gz","path":"/usr/share/man/pl/man1/vim.1.gz"},{"name":"editor.ru.1.gz","path":"/usr/share/man/ru/man1/vim.1.gz"}]}]}

View File

@ -0,0 +1,35 @@
import os
import unittest
import json
import jc.parsers.update_alt_gs
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
def setUp(self):
# input
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/update-alternatives-get-selections.out'), 'r', encoding='utf-8') as f:
self.update_alternatives_get_selections = f.read()
# output
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/update-alternatives-get-selections.json'), 'r', encoding='utf-8') as f:
self.update_alternatives_get_selections_json = json.loads(f.read())
def test_update_alt_gs_nodata(self):
"""
Test 'update-alternatives --get-selections' with no data
"""
self.assertEqual(jc.parsers.update_alt_gs.parse('', quiet=True), [])
def test_update_alt_gs(self):
"""
Test 'update-alternatives --get-selections'
"""
self.assertEqual(jc.parsers.update_alt_gs.parse(self.update_alternatives_get_selections, quiet=True), self.update_alternatives_get_selections_json)
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,35 @@
import os
import unittest
import json
import jc.parsers.update_alt_q
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
def setUp(self):
# input
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/update-alternatives-query.out'), 'r', encoding='utf-8') as f:
self.update_alternatives_query = f.read()
# output
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/update-alternatives-query.json'), 'r', encoding='utf-8') as f:
self.update_alternatives_query_json = json.loads(f.read())
def test_update_alt_q_nodata(self):
"""
Test 'update-alternatives --query' with no data
"""
self.assertEqual(jc.parsers.update_alt_q.parse('', quiet=True), {})
def test_update_alt_q(self):
"""
Test 'update-alternatives --query'
"""
self.assertEqual(jc.parsers.update_alt_q.parse(self.update_alternatives_query, quiet=True), self.update_alternatives_query_json)
if __name__ == '__main__':
unittest.main()