mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-10-08 23:22:21 +02:00
fix net_localgroup tests
This commit is contained in:
@@ -1,55 +1,179 @@
|
||||
import json
|
||||
import os
|
||||
import unittest
|
||||
import jc.parsers.ipconfig
|
||||
import jc.parsers.net_localgroup
|
||||
import json
|
||||
from typing import Dict
|
||||
from jc.parsers.net_localgroup import parse
|
||||
|
||||
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
class MyTests(unittest.TestCase):
|
||||
test_files = [
|
||||
"tests/fixtures/windows/windows-xp/net_localgroup",
|
||||
"tests/fixtures/windows/windows-xp/net_localgroup.administrators",
|
||||
"tests/fixtures/windows/windows-7/net_localgroup",
|
||||
"tests/fixtures/windows/windows-7/net_localgroup.administrators",
|
||||
"tests/fixtures/windows/windows-2008/net_localgroup",
|
||||
"tests/fixtures/windows/windows-2008/net_localgroup.administrators",
|
||||
"tests/fixtures/windows/windows-2016/net_localgroup",
|
||||
"tests/fixtures/windows/windows-2016/net_localgroup.administrators",
|
||||
"tests/fixtures/windows/windows-10/net_localgroup",
|
||||
"tests/fixtures/windows/windows-10/net_localgroup.administrators",
|
||||
"tests/fixtures/windows/windows-11/net_localgroup",
|
||||
"tests/fixtures/windows/windows-11/net_localgroup.administrators"
|
||||
]
|
||||
f_in: Dict = {}
|
||||
f_json: Dict = {}
|
||||
|
||||
def setUp(self):
|
||||
for tf in MyTests.test_files:
|
||||
in_file = os.path.join(THIS_DIR, os.pardir, f"{tf}.out")
|
||||
out_file = os.path.join(THIS_DIR, os.pardir, f"{tf}.json")
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
fixtures = {
|
||||
'windows_xp_net_localgroup': (
|
||||
'fixtures/windows/windows-xp/net_localgroup.out',
|
||||
'fixtures/windows/windows-xp/net_localgroup.json'),
|
||||
'windows_xp_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-xp/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-xp/net_localgroup.administrators.json'),
|
||||
'windows_7_net_localgroup': (
|
||||
'fixtures/windows/windows-7/net_localgroup.out',
|
||||
'fixtures/windows/windows-7/net_localgroup.json'),
|
||||
'windows_7_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-7/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-7/net_localgroup.administrators.json'),
|
||||
'windows_2008_net_localgroup': (
|
||||
'fixtures/windows/windows-2008/net_localgroup.out',
|
||||
'fixtures/windows/windows-2008/net_localgroup.json'),
|
||||
'windows_2008_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-2008/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-2008/net_localgroup.administrators.json'),
|
||||
'windows_2016_net_localgroup': (
|
||||
'fixtures/windows/windows-2016/net_localgroup.out',
|
||||
'fixtures/windows/windows-2016/net_localgroup.json'),
|
||||
'windows_2016_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-2016/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-2016/net_localgroup.administrators.json'),
|
||||
'windows_10_net_localgroup': (
|
||||
'fixtures/windows/windows-10/net_localgroup.out',
|
||||
'fixtures/windows/windows-10/net_localgroup.json'),
|
||||
'windows_10_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-10/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-10/net_localgroup.administrators.json'),
|
||||
'windows_11_net_localgroup': (
|
||||
'fixtures/windows/windows-11/net_localgroup.out',
|
||||
'fixtures/windows/windows-11/net_localgroup.json'),
|
||||
'windows_11_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-11/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-11/net_localgroup.administrators.json'),
|
||||
}
|
||||
|
||||
with open(in_file, "r", encoding="utf-8") as f:
|
||||
setattr(self, self.varName(tf), f.read())
|
||||
with open(out_file, "r", encoding="utf-8") as f:
|
||||
setattr(self, self.varName(tf) + "_json", json.loads(f.read()))
|
||||
for file, filepaths in fixtures.items():
|
||||
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
|
||||
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
|
||||
cls.f_in[file] = a.read()
|
||||
cls.f_json[file] = json.loads(b.read())
|
||||
|
||||
def varName(self, path):
|
||||
return (
|
||||
path.replace("tests/fixtures/windows", "")
|
||||
.replace("-", "_")
|
||||
.replace("/", "_")
|
||||
|
||||
def test_net_localgroup_nodata(self):
|
||||
"""
|
||||
Test 'net_localgroup' with no data
|
||||
"""
|
||||
self.assertEqual(parse('', quiet=True), {})
|
||||
|
||||
|
||||
def test_net_localgroup_windows_xp(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows XP
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_xp_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_xp_net_localgroup']
|
||||
)
|
||||
|
||||
def test_windows_net_localgroup(self):
|
||||
def test_net_localgroup_administrators_windows_xp(self):
|
||||
"""
|
||||
Test a sample Windows "net localgroup" command output
|
||||
Test 'net_localgroup' administrators on Windows XP
|
||||
"""
|
||||
for tf in MyTests.test_files:
|
||||
in_var = getattr(self, self.varName(tf))
|
||||
out_var = getattr(self, self.varName(tf) + "_json")
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_xp_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_xp_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
self.assertEqual(jc.parsers.net_localgroup.parse(in_var, quiet=True), out_var)
|
||||
def test_net_localgroup_windows_7(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 7
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_7_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_7_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_7(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 7
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_7_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_7_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_2008(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 2008
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2008_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_2008_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_2008(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 2008
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2008_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_2008_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_2016(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 2016
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2016_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_2016_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_2016(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 2016
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2016_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_2016_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_10(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 10
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_10_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_10_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_10(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 10
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_10_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_10_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_11(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 11
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_11_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_11_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_11(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 11
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_11_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_11_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
@@ -1,179 +0,0 @@
|
||||
import os
|
||||
import unittest
|
||||
import json
|
||||
from typing import Dict
|
||||
from jc.parsers.net_localgroup import parse
|
||||
|
||||
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
class MyTests(unittest.TestCase):
|
||||
f_in: Dict = {}
|
||||
f_json: Dict = {}
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
fixtures = {
|
||||
'windows_xp_net_localgroup': (
|
||||
'fixtures/windows/windows-xp/net_localgroup.out',
|
||||
'fixtures/windows/windows-xp/net_localgroup.json'),
|
||||
'windows_xp_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-xp/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-xp/net_localgroup.administrators.json'),
|
||||
'windows_7_net_localgroup': (
|
||||
'fixtures/windows/windows-7/net_localgroup.out',
|
||||
'fixtures/windows/windows-7/net_localgroup.json'),
|
||||
'windows_7_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-7/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-7/net_localgroup.administrators.json'),
|
||||
'windows_2008_net_localgroup': (
|
||||
'fixtures/windows/windows-2008/net_localgroup.out',
|
||||
'fixtures/windows/windows-2008/net_localgroup.json'),
|
||||
'windows_2008_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-2008/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-2008/net_localgroup.administrators.json'),
|
||||
'windows_2016_net_localgroup': (
|
||||
'fixtures/windows/windows-2016/net_localgroup.out',
|
||||
'fixtures/windows/windows-2016/net_localgroup.json'),
|
||||
'windows_2016_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-2016/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-2016/net_localgroup.administrators.json'),
|
||||
'windows_10_net_localgroup': (
|
||||
'fixtures/windows/windows-10/net_localgroup.out',
|
||||
'fixtures/windows/windows-10/net_localgroup.json'),
|
||||
'windows_10_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-10/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-10/net_localgroup.administrators.json'),
|
||||
'windows_11_net_localgroup': (
|
||||
'fixtures/windows/windows-11/net_localgroup.out',
|
||||
'fixtures/windows/windows-11/net_localgroup.json'),
|
||||
'windows_11_net_localgroup_administrators': (
|
||||
'fixtures/windows/windows-11/net_localgroup.administrators.out',
|
||||
'fixtures/windows/windows-11/net_localgroup.administrators.json'),
|
||||
}
|
||||
|
||||
for file, filepaths in fixtures.items():
|
||||
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
|
||||
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
|
||||
cls.f_in[file] = a.read()
|
||||
cls.f_json[file] = json.loads(b.read())
|
||||
|
||||
|
||||
def test_net_localgroup_nodata(self):
|
||||
"""
|
||||
Test 'net_localgroup' with no data
|
||||
"""
|
||||
self.assertEqual(parse('', quiet=True), {})
|
||||
|
||||
|
||||
def test_net_localgroup_windows_xp(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows XP
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_xp_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_xp_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_xp(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows XP
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_xp_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_xp_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_7(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 7
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_7_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_7_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_7(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 7
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_7_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_7_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_2008(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 2008
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2008_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_2008_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_2008(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 2008
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2008_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_2008_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_2016(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 2016
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2016_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_2016_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_2016(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 2016
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_2016_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_2016_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_10(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 10
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_10_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_10_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_10(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 10
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_10_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_10_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
def test_net_localgroup_windows_11(self):
|
||||
"""
|
||||
Test 'net_localgroup' on Windows 11
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_11_net_localgroup'], quiet=True),
|
||||
self.f_json['windows_11_net_localgroup']
|
||||
)
|
||||
|
||||
def test_net_localgroup_administrators_windows_11(self):
|
||||
"""
|
||||
Test 'net_localgroup' administrators on Windows 11
|
||||
"""
|
||||
self.assertEqual(
|
||||
parse(self.f_in['windows_11_net_localgroup_administrators'], quiet=True),
|
||||
self.f_json['windows_11_net_localgroup_administrators']
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Reference in New Issue
Block a user