Add boilerplate for CLI tests

This commit is contained in:
Markus Opolka 2020-03-15 11:04:50 +01:00
parent 6fc41612c4
commit 1ac160e8c2

View File

@ -4,6 +4,7 @@
import unittest import unittest
import unittest.mock as mock import unittest.mock as mock
import sys import sys
import os
sys.path.append('..') sys.path.append('..')
@ -15,6 +16,16 @@ class MainTest(unittest.TestCase):
Tests for main Tests for main
""" """
def setUp(self):
"""
Defining the exitcodes
"""
self.exit_0 = 0 << 8
self.exit_1 = 1 << 8
self.exit_2 = 2 << 8
self.exit_3 = 3 << 8
def test_debugprint(self): def test_debugprint(self):
with mock.patch('builtins.print') as mock_print: with mock.patch('builtins.print') as mock_print:
debugPrint(True, 'debug') debugPrint(True, 'debug')
@ -24,3 +35,10 @@ class MainTest(unittest.TestCase):
with mock.patch('check_http_json.pprint') as mock_pprint: with mock.patch('check_http_json.pprint') as mock_pprint:
debugPrint(True, 'debug', True) debugPrint(True, 'debug', True)
mock_pprint.assert_called_once_with('debug') mock_pprint.assert_called_once_with('debug')
def test_cli_without_params(self):
command = '/usr/bin/env python3 check_http_json.py > /dev/null 2>&1'
status = os.system(command)
self.assertEqual(status, self.exit_2)