def test_list_tags_passes(self, mock_login, mock_get): """ Test .list_tags() passes """ mock_login.return_value = self.account_id mock_get.return_value = { 'tags': [ {'id': 'f1472b67-0a32-448a-9593-e7c4e90c261f'} ] } alert = InactivityAlert(self.username, self.password) response = alert.list_tags() self.assertEqual( response, [ {'id': 'f1472b67-0a32-448a-9593-e7c4e90c261f'} ] ) mock_get.assert_called_once_with( url='https://logentries.com/rest/{account_id}/api/tags/'.format( account_id=self.account_id, ) )
def test_delete_passes(self, mock_login, mock_delete): """ Test .delete() passes """ mock_login.return_value = self.account_id mock_response = Mock(spec=requests.Response) mock_response.status_code = 200 mock_response.ok = True mock_delete.return_value = mock_response alert = InactivityAlert(self.username, self.password) alert.delete('19dede15-118b-467f-bfe9-e9c771d7cc2c') mock_delete.assert_called_once_with( url='https://logentries.com/rest/{account_id}/api/tags/{tag}'.format( account_id=self.account_id, tag='19dede15-118b-467f-bfe9-e9c771d7cc2c' ) )
def test_get(self, mock_login, mock_list): """ Test .get() passes """ mock_login.return_value = self.account_id mock_list.return_value = [ {'id': 'f1472b67-0a32-448a-9593-e7c4e90c261f'}, {'id': '5d8ee40d-5998-438c-ad26-a9346fc1463e'} ] alert = InactivityAlert(self.username, self.password) # call .get() response = alert.get('f1472b67-0a32-448a-9593-e7c4e90c261f') self.assertEqual( response, [ {'id': 'f1472b67-0a32-448a-9593-e7c4e90c261f'} ] ) mock_list.assert_called_once_with()
def test_create_success(self, mock_login, mock_post): """ Test .create() has a failure """ # simulate login mock_login.return_value = self.account_id # Create the response mock_response = Mock(spec=requests.Response) mock_response.status_code = 201 mock_response.json.return_value = {} mock_response.ok = True mock_post.return_value = mock_response session = requests.session() alert = InactivityAlert(self.username, self.password, session) # Create the call args name = 'No Successful Web Activity' patterns = ['status=200'] logs = [ '5d481b23-9c4d-4250-bfe8-be389a227f0b', 'e0b6b2c0-a4b8-44c4-b57c-25a7f161faf1' ] trigger_config = AlertTriggerConfig( timeframe_value=6, timeframe_period='day', ) slack_url = 'https://hooks.slack.com/services' alert_config = SlackAlertConfig(slack_url) alert_reports = [ AlertReportConfig( report_count=4, report_period='day', alert_config=alert_config, ) ] # Call .create() alert.create( name=name, patterns=patterns, logs=logs, trigger_config=trigger_config, alert_reports=alert_reports ) headers = alert.default_headers.copy() headers.update({ 'Content-Type': 'application/json;charset=utf-8', 'Accept': 'application/json, text/plain, */*', 'Referer': 'https://logentries.com/app/{account_id}'.format(account_id=alert.account_id), 'X-CSRFToken': alert._get_csrf_token(), }) data = { 'tag': { 'actions': [ { 'enabled': True, 'min_report_count': 4, 'min_report_period': 'Day', 'targets': [{ 'type': 'slack', 'params_set': { 'url': slack_url } }], 'type': 'Alert', }, ], 'name': name, 'patterns': patterns, 'sources': [ {'id': '5d481b23-9c4d-4250-bfe8-be389a227f0b'}, {'id': 'e0b6b2c0-a4b8-44c4-b57c-25a7f161faf1'}, ], 'sub_type': 'InactivityAlert', 'type': 'AlertNotify', 'timeframe_period': 'Day', 'timeframe_value': 6 } } mock_post.assert_called_once_with( session, url=alert.url_template.format(account_id=alert.account_id), headers=headers, data=json.dumps(data, sort_keys=True) ) mock_response.json.assert_called_once_with()