def test_set_auth(self, mock_post, mock_get, mock_requests, mock_logger): m = Mock() g = Groups(self.dummy_ice_url) g.set_http_auth(m) self.assertEquals(g.ice_url, self.dummy_ice_url) self.assertEquals(g.dry_run, False) self.assertEquals(g.auth, m) self.assertEquals(mock_logger.mock_calls, []) self.assertEquals(mock_requests.mock_calls, []) self.assertEquals(mock_get.mock_calls, []) self.assertEquals(mock_post.mock_calls, [])
def test_get_application_group_names_auth(self, mock_requests, mock_logger): mock_api = Mock() mock_api.get_data.return_value = { u'status': 200, u'stats': { u'foo': { u'max': 21.597462450416614, u'average': 21.597462450416614, u'total': 21.597462450416614 }, u'bar': { u'max': 1.6682055999999998, u'average': 1.6682055999999998, u'total': 1.6682055999999998 }, u'baz': { u'max': 26.88331985366129, u'average': 26.88331985366129, u'total': 26.88331985366129 }, }, u'hours': [151], u'start': 1430438400000, u'time': [1430438400000], u'data': { u'foo': [21.597462450416614], u'bar': [1.6682055999999998], u'baz': [26.88331985366129], }, u'groupBy': u'ApplicationGroup' } with patch('ice_pick.groups.APIRequest', spec_set=APIRequest) as mock_api_constr: mock_api_constr.return_value = mock_api g = Groups('http://foo.com/', dry_run=False) g.set_http_auth(('user', 'pass')) res = g.get_application_group_names() self.assertEqual(mock_api_constr.mock_calls[0], call('http://foo.com/')) self.assertEqual(mock_api.mock_calls, [ call.set_http_auth(('user', 'pass')), call.set_aggregate('stats'), call.set_group_by(_group_by.APPLICATION_GROUP), call.set_end(datetime.datetime(2015, 4, 10, 5, 0)), call.set_start(datetime.datetime(2015, 3, 13, 5, 0)), call.get_data(), ]) self.assertEqual(sorted(res), [u'bar', u'baz', u'foo']) self.assertEqual(mock_logger.mock_calls, [])
def test_ice_post_auth(self, mock_requests, mock_logger): url = 'http://foo.com/dashboard/foobar' mock_result = Mock(status_code=200) mock_result.json.return_value = {"status": 200} mock_requests.post.return_value = mock_result g = Groups('http://foo.com/', dry_run=False) g.set_http_auth(('myuser', 'mypass')) mock_logger.reset_mock() res = g._ice_post('foobar', {'baz': 'blam'}) self.assertEquals(mock_logger.mock_calls, [call.debug("POSTing to http://foo.com/dashboard/foobar: {'baz': 'blam'}")] ) self.assertEquals(mock_requests.mock_calls, [ call.post('http://foo.com/dashboard/foobar', data='{"baz": "blam"}', auth=('myuser', 'mypass')), call.post().json() ]) self.assertEquals(res, {})
def test_ice_get_auth(self, mock_requests, mock_logger): url = 'http://foo.com/dashboard/foobar' mock_result = Mock(status_code=200) mock_result.json.return_value = {"status": 200, "data": ["foo","bar"] } mock_requests.get.return_value = mock_result g = Groups('http://foo.com/', dry_run=False) g.set_http_auth(('myuser', 'mypass')) mock_logger.reset_mock() res = g._ice_get('foobar') self.assertEquals(mock_logger.mock_calls, [call.debug('GETing http://foo.com/dashboard/foobar')] ) self.assertEquals(mock_requests.mock_calls, [ call.get('http://foo.com/dashboard/foobar', auth=('myuser', 'mypass')), call.get().json() ]) self.assertEquals(res, ['foo', 'bar'])