Skip to content

Commit d1292e1

Browse files
prepare 0.20.3
1 parent 2b5d3cb commit d1292e1

File tree

9 files changed

+146
-24
lines changed

9 files changed

+146
-24
lines changed

CHANGELOG.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ are used for versioning (schema follows below):
1515
0.3.4 to 0.4).
1616
- All backwards incompatible changes are mentioned in this document.
1717

18+
0.20.3
19+
------
20+
2019-09-20
21+
22+
- Testing the auxiliary versions module.
23+
1824
0.20.2
1925
------
2026
2019-08-30

docs/changelog.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ are used for versioning (schema follows below):
1515
0.3.4 to 0.4).
1616
- All backwards incompatible changes are mentioned in this document.
1717

18+
0.20.2
19+
------
20+
2019-09-20
21+
22+
- Testing the auxiliary versions module.
23+
1824
0.20.2
1925
------
2026
2019-08-30

examples/requirements/test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ selenium==2.53.6
99
tox==3.1.2
1010
#coreapi==2.3.3
1111
#coreschema==0.0.4
12+
mock

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from setuptools import find_packages, setup
44

5-
version = '0.20.2'
5+
version = '0.20.3'
66

77
DOCS_TRANSFORMATIONS = (
88
(
@@ -173,6 +173,7 @@
173173
'pytest-django',
174174
'pytest-cov',
175175
'tox',
176+
'mock',
176177
]
177178

178179
setup(

src/django_elasticsearch_dsl_drf/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
__title__ = 'django-elasticsearch-dsl-drf'
6-
__version__ = '0.20.2'
6+
__version__ = '0.20.3'
77
__author__ = 'Artur Barseghyan <[email protected]>'
88
__copyright__ = '2017-2019 Artur Barseghyan'
99
__license__ = 'GPL 2.0/LGPL 2.1'

src/django_elasticsearch_dsl_drf/compat.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
from django_elasticsearch_dsl import fields
99

10+
# For compatibility reasons
11+
from .versions import get_elasticsearch_version
12+
1013
try:
1114
import coreapi
1215
except ImportError:
@@ -30,7 +33,6 @@
3033
'coreapi',
3134
'coreschema',
3235
# 'get_count',
33-
'get_elasticsearch_version',
3436
'KeywordField',
3537
'StringField',
3638
)
@@ -49,22 +51,6 @@
4951
# return _get_count(queryset)
5052

5153

52-
def get_elasticsearch_version(default=(2, 0, 0)):
53-
"""Get Elasticsearch version.
54-
55-
:param default: Default value. Mainly added for building the docs
56-
when Elasticsearch is not running.
57-
:type default: tuple
58-
:return:
59-
:rtype: list
60-
"""
61-
try:
62-
from elasticsearch_dsl import __version__
63-
return __version__
64-
except ImportError:
65-
return default
66-
67-
6854
def keyword_field(**kwargs):
6955
"""Keyword field.
7056

src/django_elasticsearch_dsl_drf/tests/test_search.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,10 +370,10 @@ def _test_search_any_word_in_indexed_fields(self,
370370
title_match=None,
371371
create_factory=False):
372372
if create_factory:
373-
book = factories.BookWithUniqueTitleFactory(
373+
factories.BookWithUniqueTitleFactory(
374374
title='This is a short indexed description'
375375
)
376-
other_books = factories.BookWithUniqueTitleFactory.create_batch(100)
376+
factories.BookWithUniqueTitleFactory.create_batch(100)
377377
self._reindex()
378378

379379
self.authenticate()
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
import unittest
2+
import mock
3+
# For Python3 >= 3.4
4+
try:
5+
from importlib import reload
6+
# For Python3 < 3.4
7+
except ImportError as err:
8+
try:
9+
from imp import reload
10+
except ImportError as err:
11+
pass
12+
13+
__title__ = 'django_elasticsearch_dsl_drf.tests.test_versions'
14+
__author__ = 'Artur Barseghyan'
15+
__copyright__ = 'Copyright (c) 2017-2019 Artur Barseghyan'
16+
__license__ = 'GPL-2.0-only OR LGPL-2.1-or-later'
17+
__all__ = ('VersionsTest',)
18+
19+
20+
class VersionsTest(unittest.TestCase):
21+
"""
22+
Tests of ``django_elasticsearch_dsl_drf.versions`` module.
23+
"""
24+
def setUp(self):
25+
pass
26+
27+
@mock.patch('elasticsearch_dsl.__version__', [6, 3, 0])
28+
def test_elasticsearch_dsl_6_3_0(self):
29+
"""
30+
Tests as if we were using elasticsearch_dsl==6.3.0.
31+
"""
32+
from django_elasticsearch_dsl_drf import versions
33+
reload(versions)
34+
35+
# Exact version matching
36+
self.assertFalse(versions.ELASTICSEARCH_7_0)
37+
self.assertTrue(versions.ELASTICSEARCH_6_3)
38+
self.assertFalse(versions.ELASTICSEARCH_6_2)
39+
self.assertFalse(versions.ELASTICSEARCH_5_4)
40+
self.assertFalse(versions.ELASTICSEARCH_2_0)
41+
self.assertFalse(versions.ELASTICSEARCH_6_2)
42+
43+
# Less than or equal matching
44+
self.assertFalse(versions.ELASTICSEARCH_LTE_2_0)
45+
self.assertFalse(versions.ELASTICSEARCH_LTE_2_2)
46+
self.assertFalse(versions.ELASTICSEARCH_LTE_5_0)
47+
self.assertFalse(versions.ELASTICSEARCH_LTE_5_3)
48+
self.assertFalse(versions.ELASTICSEARCH_LTE_6_0)
49+
self.assertTrue(versions.ELASTICSEARCH_LTE_6_3)
50+
self.assertTrue(versions.ELASTICSEARCH_LTE_7_0)
51+
self.assertTrue(versions.ELASTICSEARCH_LTE_8_0)
52+
53+
# Greater than or equal matching
54+
self.assertTrue(versions.ELASTICSEARCH_GTE_2_0)
55+
self.assertTrue(versions.ELASTICSEARCH_GTE_2_2)
56+
self.assertTrue(versions.ELASTICSEARCH_GTE_5_0)
57+
self.assertTrue(versions.ELASTICSEARCH_GTE_5_3)
58+
self.assertTrue(versions.ELASTICSEARCH_GTE_6_0)
59+
self.assertTrue(versions.ELASTICSEARCH_GTE_6_3)
60+
self.assertFalse(versions.ELASTICSEARCH_GTE_7_0)
61+
self.assertFalse(versions.ELASTICSEARCH_GTE_8_0)
62+
63+
@mock.patch('elasticsearch_dsl.__version__', [7, 0, 0])
64+
def test_elasticsearch_dsl_7_0_0(self):
65+
"""
66+
Tests as if we were using elasticsearch_dsl==7.0.0.
67+
"""
68+
from django_elasticsearch_dsl_drf import versions
69+
reload(versions)
70+
71+
# Exact version matching
72+
self.assertTrue(versions.ELASTICSEARCH_7_0)
73+
self.assertFalse(versions.ELASTICSEARCH_6_3)
74+
self.assertFalse(versions.ELASTICSEARCH_6_2)
75+
self.assertFalse(versions.ELASTICSEARCH_5_4)
76+
self.assertFalse(versions.ELASTICSEARCH_2_0)
77+
self.assertFalse(versions.ELASTICSEARCH_6_2)
78+
79+
# Less than or equal matching
80+
self.assertFalse(versions.ELASTICSEARCH_LTE_2_0)
81+
self.assertFalse(versions.ELASTICSEARCH_LTE_2_2)
82+
self.assertFalse(versions.ELASTICSEARCH_LTE_5_0)
83+
self.assertFalse(versions.ELASTICSEARCH_LTE_5_3)
84+
self.assertFalse(versions.ELASTICSEARCH_LTE_6_0)
85+
self.assertFalse(versions.ELASTICSEARCH_LTE_6_3)
86+
self.assertTrue(versions.ELASTICSEARCH_LTE_7_0)
87+
self.assertTrue(versions.ELASTICSEARCH_LTE_8_0)
88+
89+
# Greater than or equal matching
90+
self.assertTrue(versions.ELASTICSEARCH_GTE_2_0)
91+
self.assertTrue(versions.ELASTICSEARCH_GTE_2_2)
92+
self.assertTrue(versions.ELASTICSEARCH_GTE_5_0)
93+
self.assertTrue(versions.ELASTICSEARCH_GTE_5_3)
94+
self.assertTrue(versions.ELASTICSEARCH_GTE_6_0)
95+
self.assertTrue(versions.ELASTICSEARCH_GTE_6_3)
96+
self.assertTrue(versions.ELASTICSEARCH_GTE_7_0)
97+
self.assertFalse(versions.ELASTICSEARCH_GTE_8_0)
98+
99+
100+
if __name__ == "__main__":
101+
unittest.main()

src/django_elasticsearch_dsl_drf/versions.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,33 @@
55

66
from distutils.version import LooseVersion
77

8-
from .compat import get_elasticsearch_version
9-
108
__title__ = 'django_elasticsearch_dsl_drf.versions'
119
__author__ = 'Artur Barseghyan <[email protected]>'
1210
__copyright__ = '2017-2019 Artur Barseghyan'
1311
__license__ = 'GPL 2.0/LGPL 2.1'
1412
__all__ = [
13+
'get_elasticsearch_version',
1514
'LOOSE_ELASTICSEARCH_VERSION',
1615
'LOOSE_ELASTICSEARCH_MINOR_VERSION',
1716
]
1817

18+
19+
def get_elasticsearch_version(default=(2, 0, 0)):
20+
"""Get Elasticsearch version.
21+
22+
:param default: Default value. Mainly added for building the docs
23+
when Elasticsearch is not running.
24+
:type default: tuple
25+
:return:
26+
:rtype: list
27+
"""
28+
try:
29+
from elasticsearch_dsl import __version__
30+
return __version__
31+
except ImportError:
32+
return default
33+
34+
1935
LOOSE_ELASTICSEARCH_VERSION = LooseVersion(
2036
'.'.join([str(__n) for __n in get_elasticsearch_version()])
2137
)
@@ -36,8 +52,14 @@
3652
'6.0',
3753
'6.1',
3854
'6.2',
55+
'6.3',
3956
'7.0',
57+
'7.1',
58+
'7.2',
59+
'7.3',
60+
'7.4',
4061
'8.0',
62+
'9.0',
4163
)
4264

4365
for __v in LOOSE_VERSIONS:
@@ -92,4 +114,3 @@
92114
pass
93115

94116
del LooseVersion
95-
del get_elasticsearch_version

0 commit comments

Comments
 (0)