class TsdbStatsTestCase(unittest.TestCase): @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_stats(self, _): GeneralUrlTestCase.test_url(self, "/api/stats/", "stats") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_jvm_stats(self, _): GeneralUrlTestCase.test_url(self, "/api/stats/jvm/", "jvm_stats") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_query_stats(self, _): GeneralUrlTestCase.test_url(self, "/api/stats/query/", "query_stats") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_region_clients_stats(self, _): GeneralUrlTestCase.test_url(self, "/api/stats/region_clients/", "region_clients") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_threads_stats(self, _): GeneralUrlTestCase.test_url(self, "/api/stats/threads/", "threads")
class TsdbVersionTestCase(unittest.TestCase): __TEST_VERSION__ = { "short_revision": "", "repo": "/root/rpmbuild/BUILD/opentsdb-2.4.0RC2", "host": "centos.localhost", "version": "2.4.0RC2", "full_revision": "", "repo_status": "MODIFIED", "user": "******", "branch": "", "timestamp": "1507524798" } def setUp(self): self._host = 'mockhttp://*****:*****@mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url(self, _): GeneralUrlTestCase.test_url(self, "/api/version/", "version") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(__TEST_VERSION__)) def test_version(self, _): return_value = self._c.version() self.assertEqual(sorted(return_value), sorted(TsdbVersionTestCase.__TEST_VERSION__))
class AggregatorsTestCase(unittest.TestCase): __TEST_AGGREGATORS__ = [ "mult", "p90", "zimsum", "mimmax", "sum", "p50", "none", "p95", "ep99r7" ] def setUp(self): self._host = 'mockhttp://*****:*****@mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url(self, _): GeneralUrlTestCase.test_url(self, "/api/aggregators/", "aggregators") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(__TEST_AGGREGATORS__)) def test_aggregators(self, _): response = self._c.aggregators() self.assertEqual(sorted(response), sorted(AggregatorsTestCase.__TEST_AGGREGATORS__)) @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(response_content={ "error": { "message": "Response code differ 200" } }, status_code=403)) def test_aggregators_403(self, _): with self.assertRaises(Exception) as context: self._c.aggregators() self.assertTrue(isinstance(context.exception, errors.UncaughtError)) @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(response_content={ "error": { "message": "Response code differ 200" } }, status_code=400)) def test_aggregators_403(self, _): with self.assertRaises(Exception) as context: self._c.aggregators() self.assertTrue(isinstance(context.exception, errors.ArgumentError)) @mock.patch('requests.Session.get', side_effect=mock_tsdb_error_get) def test_aggregators_tsdberror(self, _): with self.assertRaises(Exception) as context: self._c.aggregators() self.assertTrue(isinstance(context.exception, errors.TsdbError)) @mock.patch('requests.Session.get', side_effect=mock_unexpected_error_get) def test_aggregators_unexpectederror(self, _): with self.assertRaises(Exception) as context: self._c.aggregators() self.assertTrue(isinstance(context.exception, errors.UncaughtError))
class TsdbConfigTestCase(unittest.TestCase): __TEST_CONFIG__ = { "Ansible": "managed", "tsd.core.authentication.enable": "false", "tsd.core.authentication.plugin": "", "tsd.core.auto_create_metrics": "true", "tsd.core.auto_create_tagks": "true", "tsd.core.auto_create_tagvs": "true" } __TEST_FILTERS__ = { "regexp": { "examples": "host=regexp(.*) {\"type\":\"regexp\",\"tagk\":\"host\",\"filter\":\".*\",\"groupBy\":false}", "description": "Provides full, POSIX compliant regular expression using the built in Java" }, "iwildcard": { "examples": "host=iwildcard(web*), host=iwildcard(web*.tsdb.net) " "{\"type\":\"iwildcard\",\"tagk\":\"host\",\"filter\":\"web*.tsdb.net\",\"groupBy\":false}", "description": "Performs pre, post and in-fix glob matching of values. The globs are case" } } __TETS_DROPCACHES__ = {"message": "Caches dropped", "status": "200"} def setUp(self): self._host = 'mockhttp://*****:*****@mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_config(self, _): GeneralUrlTestCase.test_url(self, "/api/config/", "config") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url_filters(self, _): GeneralUrlTestCase.test_url(self, "/api/config/filters/", "filters") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(__TEST_CONFIG__)) def test_config(self, _): response = self._c.config() self.assertEqual(sorted(response), sorted(TsdbConfigTestCase.__TEST_CONFIG__)) @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(__TEST_FILTERS__)) def test_filters(self, _): response = self._c.filters() self.assertEqual(sorted(response), sorted(TsdbConfigTestCase.__TEST_FILTERS__))
class TsdbDopcachesTestCase(unittest.TestCase): __TETS_DROPCACHES__ = {"message": "Caches dropped", "status": "200"} def setUp(self): self._host = 'mockhttp://*****:*****@mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url(self, _): GeneralUrlTestCase.test_url(self, "/api/dropcaches/", "dropcaches") @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(__TETS_DROPCACHES__)) def test_config(self, _): response = self._c.dropcaches() self.assertEqual(sorted(response), sorted(TsdbDopcachesTestCase.__TETS_DROPCACHES__))
class TsdbSerializersTestCase(unittest.TestCase): @mock.patch('requests.Session.get', side_effect=get_mock_requests_get(None)) def test_url(self, _): GeneralUrlTestCase.test_url(self, "/api/serializers/", "serializers")