def test_match_get_problem_empty_database(self): ''' Test that match_get_problem handles no problems in database ''' import problem with clitests.monkey_patch(problem, 'list', lambda *args, **kwargs: []): with captured_output() as (cap_stdout, cap_stderr): with self.assertRaises(SystemExit): match_get_problem('nope') stdout = cap_stdout.getvalue() self.assertIn("No problem(s) matched", stdout) # Similar with last with captured_output() as (cap_stdout, cap_stderr): with self.assertRaises(SystemExit): match_get_problem('last') stdout = cap_stdout.getvalue() self.assertIn("No problems", stdout)
def test_match_get_problem_multiple(self): ''' Test that match_get_problem fails when multiple problems match ''' with captured_output() as (cap_stdout, cap_stderr): with self.assertRaises(SystemExit): match_get_problem('pavucontrol') stdout = cap_stdout.getvalue() self.assertIn("Ambiguous", stdout) self.assertIn("pavucontrol@bc60a5c", stdout) self.assertIn("pavucontrol@acbea5c", stdout)
def test_cli_sanity(self): ''' Test if main works and there are no import/decorator errors ''' with captured_output() as (cap_stdout, cap_stderr): # we have to import here # otherwise argh.dispatch stores sys.std* on import # and ignores our override from abrtcli.cli import main with self.assertRaises(SystemExit): main() out = cap_stderr.getvalue() out += cap_stdout.getvalue() self.assertIn("usage", out) self.assertIn("debuginfo-install", out)