From b1b4df83b071adb63d9aa3c981094d9d6edb345c Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 16 Jun 2011 19:47:25 +0200 Subject: Cleanup --- clitest.py | 80 +++++++++++++++++++++++++++++++++++++++++++++----------------- test.py | 0 2 files changed, 58 insertions(+), 22 deletions(-) mode change 100644 => 100755 clitest.py mode change 100644 => 100755 test.py diff --git a/clitest.py b/clitest.py old mode 100644 new mode 100755 index 00955ae..f4adbf5 --- a/clitest.py +++ b/clitest.py @@ -1,54 +1,90 @@ -import cli -import unittest -import test +#!/usr/bin/python +''' + Unit test for the CLI interface +''' -import shlex +import unittest import subprocess +import cli +import mat +import test + class Test_Remove_cli(test.MATTest): def test_remove(self): '''make sure that the cli remove all compromizing meta''' for clean, dirty in self.file_list: - subprocess.call("cli.py %s" dirty) - self.assertTrue(mat.file(dirty).is_clean()) + subprocess.call(['./cli.py', dirty]) + current_file = mat.create_class_file(dirty) + self.assertTrue(current_file.is_clean()) def test_remove_empty(self): '''Test removal with clean files''' for clean, dirty in self.file_list: - subprocess.call("cli.py %s" clean) - self.assertTrue(mat.file(dirty).is_clean()) + subprocess.call(['./cli.py', clean]) + current_file = mat.create_class_file(clean) + self.assertTrue(current_file.is_clean()) class Test_List_cli(test.MATTest): - def test_list(self): + def test_list_clean(self): + '''check if get_meta returns meta''' + for clean, dirty in self.file_list: + proc = subprocess.Popen(['./cli.py', '-d', clean], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertEqual(stdout, "[+] File %s" % clean) + + def test_list_dirty(self): '''check if get_meta returns all the expected meta''' for clean, dirty in self.file_list: - meta_list = dict("fixme":"please",) #FIXME - self.assertDictEqual(mat.file(dirty).get_meta(), meta_list) + proc = subprocess.Popen(['./cli.py', '-d', dirty], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertNotEqual(stdout, "[+] File %s" % dirty) + +class Test_List_Harmful_cli(test.MATTest): + def test_list_clean(self): + '''check if get_meta returns no meta at all''' + for clean, dirty in self.file_list: + proc = subprocess.Popen(['./cli.py', '--harmful', clean], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertNotEqual(stdout.strip('\n'), '[+] File %s :' % clean) - def testlist_list_empty(self): - '''check that a listing of a clean file return an empty dict''' + def test_list_dirty(self): + '''check if get_meta returns harmful meta''' for clean, dirty in self.file_list: - self.assertEqual(mat.file(clean).get_meta(), None) + proc = subprocess.Popen(['./cli.py', '--harmful', dirty], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertNotEqual(stdout.strip('\n'), '[+] File %s :' % dirty) + class Test_isClean_cli(test.MATTest): + #FIXME : use an external file with string as const ? def test_clean(self): '''test is_clean on clean files''' for clean, dirty in self.file_list: - print "e" - self.assertTrue(mat.file(clean).is_clean()) + proc = subprocess.Popen(['./cli.py', '-c', clean], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertEqual(stdout.strip('\n'), '[+] %s is clean' % clean) - def test_clean(self): + def test_dirty(self): '''test is_clean on dirty files''' for clean, dirty in self.file_list: - self.assertFalse(mat.file(dirty).is_clean()) + proc = subprocess.Popen(['./cli.py', '-c', dirty], + stdout=subprocess.PIPE) + stdout, stderr = proc.communicate() + self.assertEqual(stdout.strip('\n'), '[+] %s is not clean' % dirty) if __name__ == '__main__': suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(Test_Remove)) - suite.addTest(unittest.makeSuite(Test_List)) - suite.addTest(unittest.makeSuite(Test_isClean)) + suite.addTest(unittest.makeSuite(Test_Remove_cli)) + suite.addTest(unittest.makeSuite(Test_List_cli)) + suite.addTest(unittest.makeSuite(Test_isClean_cli)) + suite.addTest(unittest.makeSuite(Test_List_Harmful_cli)) unittest.TextTestRunner(verbosity=2).run(suite) - diff --git a/test.py b/test.py old mode 100644 new mode 100755 -- cgit v1.3