Skip to content

Commit

Permalink
Fixing broken build, due to updates to the libraries
Browse files Browse the repository at this point in the history
  • Loading branch information
mtakaki committed Oct 25, 2019
1 parent cb6f405 commit 9e5d42f
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 32 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
virtualenv .
source bin/activate
pip3 install -r dev_requirements.txt
pip3 install -r requirements.txt
python3 setup.py install
pip3 install coveralls
Expand Down
3 changes: 2 additions & 1 deletion cachet_url_monitor/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import requests
from yaml import dump
from yaml import load
from yaml import FullLoader

import cachet_url_monitor.latency_unit as latency_unit
import cachet_url_monitor.status as st
Expand Down Expand Up @@ -80,7 +81,7 @@ class Configuration(object):
def __init__(self, config_file):
self.logger = logging.getLogger('cachet_url_monitor.configuration.Configuration')
self.config_file = config_file
self.data = load(open(self.config_file, 'r'))
self.data = load(open(self.config_file, 'r'), Loader=FullLoader)
self.current_fails = 0
self.trigger_update = True

Expand Down
11 changes: 4 additions & 7 deletions dev_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
PyYAML==4.2b1
codacy-coverage==1.2.18
ipython==4.2.0
codacy-coverage==1.3.11
ipython==7.8.0
mock==2.0.0
pudb==2016.1
pytest==3.4.2
pytest-cov==2.5.1
requests==2.21.0
schedule==0.5.0
pytest==5.2.2
pytest-cov==2.8.1
coverage==4.5.2
6 changes: 3 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
PyYAML==4.2b1
requests==2.21.0
schedule==0.5.0
PyYAML==5.1.2
requests==2.22.0
schedule==0.6.0
42 changes: 21 additions & 21 deletions tests/test_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ def get(url, headers):

def test_init(self):
self.assertEqual(len(self.configuration.data), 3, 'Number of root elements in config.yml is incorrect')
self.assertEquals(len(self.configuration.expectations), 3, 'Number of expectations read from file is incorrect')
self.assertEqual(len(self.configuration.expectations), 3, 'Number of expectations read from file is incorrect')
self.assertDictEqual(self.configuration.headers, {'X-Cachet-Token': 'token2'}, 'Header was not set correctly')
self.assertEquals(self.configuration.api_url, 'https://demo.cachethq.io/api/v1',
self.assertEqual(self.configuration.api_url, 'https://demo.cachethq.io/api/v1',
'Cachet API URL was set incorrectly')
self.assertDictEqual(self.configuration.endpoint_header, {'SOME-HEADER': 'SOME-VALUE'}, 'Header is incorrect')

Expand All @@ -59,7 +59,7 @@ def request(method, url, headers, timeout=None):
sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
'Component status set incorrectly')

def test_evaluate_without_header(self):
Expand All @@ -77,7 +77,7 @@ def request(method, url, headers=None, timeout=None):
sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
'Component status set incorrectly')

def test_evaluate_with_failure(self):
Expand All @@ -96,57 +96,57 @@ def request(method, url, headers, timeout=None):
sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
'Component status set incorrectly')

def test_evaluate_with_timeout(self):
def request(method, url, headers, timeout=None):
self.assertEquals(method, 'GET', 'Incorrect HTTP method')
self.assertEquals(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEquals(timeout, 0.010)
self.assertEqual(method, 'GET', 'Incorrect HTTP method')
self.assertEqual(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEqual(timeout, 0.010)

raise Timeout()

sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PERFORMANCE_ISSUES,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PERFORMANCE_ISSUES,
'Component status set incorrectly')
self.mock_logger.warning.assert_called_with('Request timed out')

def test_evaluate_with_connection_error(self):
def request(method, url, headers, timeout=None):
self.assertEquals(method, 'GET', 'Incorrect HTTP method')
self.assertEquals(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEquals(timeout, 0.010)
self.assertEqual(method, 'GET', 'Incorrect HTTP method')
self.assertEqual(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEqual(timeout, 0.010)

raise ConnectionError()

sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
'Component status set incorrectly')
self.mock_logger.warning.assert_called_with('The URL is unreachable: GET http://localhost:8080/swagger')

def test_evaluate_with_http_error(self):
def request(method, url, headers, timeout=None):
self.assertEquals(method, 'GET', 'Incorrect HTTP method')
self.assertEquals(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEquals(timeout, 0.010)
self.assertEqual(method, 'GET', 'Incorrect HTTP method')
self.assertEqual(url, 'http://localhost:8080/swagger', 'Monitored URL is incorrect')
self.assertEqual(timeout, 0.010)

raise HTTPError()

sys.modules['requests'].request = request
self.configuration.evaluate()

self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_PARTIAL_OUTAGE,
'Component status set incorrectly')
self.mock_logger.exception.assert_called_with('Unexpected HTTP response')

def test_push_status(self):
def put(url, params=None, headers=None):
self.assertEquals(url, 'https://demo.cachethq.io/api/v1/components/1', 'Incorrect cachet API URL')
self.assertEqual(url, 'https://demo.cachethq.io/api/v1/components/1', 'Incorrect cachet API URL')
self.assertDictEqual(params, {'id': 1, 'status': 1}, 'Incorrect component update parameters')
self.assertDictEqual(headers, {'X-Cachet-Token': 'token2'}, 'Incorrect component update parameters')

Expand All @@ -155,13 +155,13 @@ def put(url, params=None, headers=None):
return response

sys.modules['requests'].put = put
self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
'Incorrect component update parameters')
self.configuration.push_status()

def test_push_status_with_failure(self):
def put(url, params=None, headers=None):
self.assertEquals(url, 'https://demo.cachethq.io/api/v1/components/1', 'Incorrect cachet API URL')
self.assertEqual(url, 'https://demo.cachethq.io/api/v1/components/1', 'Incorrect cachet API URL')
self.assertDictEqual(params, {'id': 1, 'status': 1}, 'Incorrect component update parameters')
self.assertDictEqual(headers, {'X-Cachet-Token': 'token2'}, 'Incorrect component update parameters')

Expand All @@ -170,6 +170,6 @@ def put(url, params=None, headers=None):
return response

sys.modules['requests'].put = put
self.assertEquals(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
self.assertEqual(self.configuration.status, cachet_url_monitor.status.COMPONENT_STATUS_OPERATIONAL,
'Incorrect component update parameters')
self.configuration.push_status()

0 comments on commit 9e5d42f

Please sign in to comment.