Esempio n. 1
0
 def test_check_scan_results_clean_raises(self):
     a = module.Antivirus()
     a._scan_retcodes[a.ScanResult.ERROR] = (lambda x: False)
     retcode = 2
     stdout = "stdout"
     stderr = "stderr"
     with self.assertRaises(RuntimeError):
         a.check_scan_results("/a/file/path", (retcode, stdout, stderr))
Esempio n. 2
0
 def test_check_scan_results_clean(self):
     a = module.Antivirus()
     retcode = 0
     stdout = "stdout"
     stderr = "stderr"
     res = a.check_scan_results("/a/file/path", (retcode, stdout, stderr))
     self.assertEquals(res, 0)
     self.assertIsNone(a.scan_results["/a/file/path"])
Esempio n. 3
0
 def test_check_scan_results_error(self):
     a = module.Antivirus()
     retcode = -1
     stdout = "stdout"
     stderr = "stderr"
     res = a.check_scan_results("/a/file/path", (retcode, stdout, stderr))
     self.assertEquals(res, -1)
     self.assertEquals(a.scan_results["/a/file/path"], "stderr")
Esempio n. 4
0
 def test_check_scan_results_infected_error(self, m_identify_threat):
     a = module.Antivirus()
     retcode = 1
     stdout = "stdout"
     stderr = "stderr"
     m_identify_threat.return_value = ""
     res = a.check_scan_results("/a/file/path", (retcode, stdout, stderr))
     self.assertEquals(res, -1)
Esempio n. 5
0
 def test_run_cmd_list(self, m_Popen):
     m_pd = MagicMock()
     m_pd.returncode = 0
     stdout = b"stdout"
     stderr = b"stderr"
     m_pd.communicate.return_value = stdout, stderr
     m_Popen.return_value = m_pd
     a = module.Antivirus()
     res = a.run_cmd(["ls", "-la", "/tmp"])
     m_Popen.assert_called_once_with(['ls', '-la', '/tmp'],
                                     stderr=module.PIPE,
                                     stdout=module.PIPE)
     self.assertEquals(res, (0, "stdout", "stderr"))
Esempio n. 6
0
 def test_run_cmd_str(self, m_Popen):
     m_pd = MagicMock()
     m_pd.returncode = 0
     stdout = b"stdout"
     stderr = b"stderr"
     m_pd.communicate.return_value = stdout, stderr
     m_Popen.return_value = m_pd
     a = module.Antivirus()
     res = a.run_cmd("/usr/bin/ls")
     m_Popen.assert_called_once_with(['/usr/bin/ls'],
                                     stderr=module.PIPE,
                                     stdout=module.PIPE)
     self.assertEquals(res, (0, "stdout", "stderr"))
Esempio n. 7
0
 def test_scan_raises_tuple(self):
     a = module.Antivirus()
     with self.assertRaises(NotImplementedError):
         a.scan(tuple())
Esempio n. 8
0
 def test__run_and_parse_no_match(self, m_run_cmd):
     a = module.Antivirus()
     m_run_cmd.return_value = 0, "some text", ""
     regexp = '(?P<num1>\\d+) (?P<num2>\\d+)'
     with self.assertRaises(RuntimeError):
         a._run_and_parse(regexp=regexp, group='num2')
Esempio n. 9
0
 def test__run_and_parse_with_group(self, m_run_cmd):
     a = module.Antivirus()
     m_run_cmd.return_value = 0, "some text and figures 1 2 3 4", ""
     regexp = '(?P<num1>\\d+) (?P<num2>\\d+)'
     res = a._run_and_parse(regexp=regexp, group='num2')
     self.assertEquals(res, "2")
Esempio n. 10
0
 def test__run_and_parse_no_regexp(self, m_run_cmd):
     a = module.Antivirus()
     m_run_cmd.return_value = 0, "stdout", ""
     res = a._run_and_parse()
     self.assertEquals(res, "stdout")
Esempio n. 11
0
 def test__run_and_parse_wrong_retcode(self, m_run_cmd):
     a = module.Antivirus()
     m_run_cmd.return_value = 1, "", ""
     with self.assertRaises(RuntimeError):
         a._run_and_parse()