From 5ce42094c6cc6ade3cf3c0dd1ce0995b181b6a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Kr=C3=A1l?= Date: Fri, 22 Nov 2013 22:28:29 +0100 Subject: [PATCH] Skip test for different op types before 0.90.1 --- test_elasticsearch/test_server/__init__.py | 14 ++++++++++++++ test_elasticsearch/test_server/test_common.py | 16 +--------------- test_elasticsearch/test_server/test_helpers.py | 3 +++ 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/test_elasticsearch/test_server/__init__.py b/test_elasticsearch/test_server/__init__.py index 540de1f6..a54c326d 100644 --- a/test_elasticsearch/test_server/__init__.py +++ b/test_elasticsearch/test_server/__init__.py @@ -91,6 +91,12 @@ def teardown(): os.kill(int(pid), 15) server.wait() +ES_VERSION = None + +def _get_version(version_string): + version = version_string.strip().split('.') + return tuple(int(v) if v.isdigit() else 999 for v in version) + class ElasticTestCase(TestCase): client = None def setUp(self): @@ -105,3 +111,11 @@ class ElasticTestCase(TestCase): except NotFoundError: pass + @property + def es_version(self): + global ES_VERSION + if ES_VERSION is None: + version_string = self.client.info()['version']['number'] + ES_VERSION = _get_version(version_string) + return ES_VERSION + diff --git a/test_elasticsearch/test_server/test_common.py b/test_elasticsearch/test_server/test_common.py index a9c89899..a160e477 100644 --- a/test_elasticsearch/test_server/test_common.py +++ b/test_elasticsearch/test_server/test_common.py @@ -10,7 +10,7 @@ import yaml from elasticsearch import TransportError from ..test_cases import SkipTest -from . import ElasticTestCase +from . import ElasticTestCase, _get_version # some params had to be changed in python, keep track of them so we can rename # those in the tests accordingly @@ -19,8 +19,6 @@ PARAMS_RENAMES = { 'from': 'from_', } -ES_VERSION = None - # mapping from catch values to http status codes CATCH_CODES = { 'missing': 404, @@ -30,19 +28,7 @@ CATCH_CODES = { class InvalidActionType(Exception): pass -def _get_version(version_string): - version = version_string.strip().split('.') - return tuple(int(v) if v.isdigit() else 999 for v in version) - class YamlTestCase(ElasticTestCase): - @property - def es_version(self): - global ES_VERSION - if ES_VERSION is None: - version_string = self.client.info()['version']['number'] - ES_VERSION = _get_version(version_string) - return ES_VERSION - def setUp(self): super(YamlTestCase, self).setUp() if hasattr(self, '_setup_code'): diff --git a/test_elasticsearch/test_server/test_helpers.py b/test_elasticsearch/test_server/test_helpers.py index 1c3dcc3d..b6d3f5ce 100644 --- a/test_elasticsearch/test_server/test_helpers.py +++ b/test_elasticsearch/test_server/test_helpers.py @@ -1,6 +1,7 @@ from elasticsearch import helpers from . import ElasticTestCase +from ..test_cases import SkipTest class TestStreamingBulk(ElasticTestCase): def test_all_documents_get_inserted(self): @@ -29,6 +30,8 @@ class TestStreamingBulk(ElasticTestCase): assert False, "exception should have been raised" def test_different_op_types(self): + if self.es_version < (0, 90, 1): + raise SkipTest('update supported since 0.90.1') self.client.index(index='i', doc_type='t', id=45, body={}) self.client.index(index='i', doc_type='t', id=42, body={}) docs = [