2020-06-19 12:38:31 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
|
|
|
|
import unittest
|
|
|
|
import unittest.mock as mock
|
|
|
|
import sys
|
|
|
|
import os
|
|
|
|
|
|
|
|
sys.path.append('..')
|
|
|
|
|
|
|
|
from check_http_json import debugPrint
|
2024-03-18 10:52:51 +01:00
|
|
|
from check_http_json import verbosePrint
|
2020-06-19 12:38:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
class CLITest(unittest.TestCase):
|
|
|
|
"""
|
|
|
|
Tests for CLI
|
|
|
|
"""
|
|
|
|
|
|
|
|
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):
|
|
|
|
with mock.patch('builtins.print') as mock_print:
|
|
|
|
debugPrint(True, 'debug')
|
|
|
|
mock_print.assert_called_once_with('debug')
|
|
|
|
|
2024-03-18 10:52:51 +01:00
|
|
|
def test_verbose(self):
|
|
|
|
with mock.patch('builtins.print') as mock_print:
|
|
|
|
verbosePrint(0, 3, 'verbose')
|
|
|
|
mock_print.assert_not_called()
|
|
|
|
|
|
|
|
verbosePrint(3, 3, 'verbose')
|
|
|
|
mock_print.assert_called_once_with('verbose')
|
2020-06-19 12:38:31 +02:00
|
|
|
|
|
|
|
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)
|