Skip to content

Commit

Permalink
Merge pull request #164 from fizyk/dependabot/config
Browse files Browse the repository at this point in the history
add dependabot config
  • Loading branch information
fizyk committed Aug 1, 2019
2 parents 9ed1cbd + 2f8c121 commit e9667b0
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 58 deletions.
8 changes: 8 additions & 0 deletions .dependabot/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 1
update_configs:
- package_manager: "python"
directory: "/"
update_schedule: "daily"
automerged_updates:
- match:
dependency_name: "*"
15 changes: 11 additions & 4 deletions .travis.install-elasticsearch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@ function install_from_zip {
wget $1 -O out
unzip out
sudo mv $2 /opt/$2
/opt/$2/bin/elasticsearch -Vv
}

install_from_zip https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.5.2.zip elasticsearch-1.5.2
install_from_zip https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.4.6.zip elasticsearch-2.4.6
install_from_zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.7.zip elasticsearch-5.6.7
install_from_zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.zip elasticsearch-6.2.3
function install_from_targz {
wget $1 -O out
tar -zxf out
sudo mv $2 /opt/$2
/opt/$2/bin/elasticsearch -Vv
}

install_from_zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.zip elasticsearch-5.6.16
install_from_zip https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.2.zip elasticsearch-6.8.2
install_from_targz https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz elasticsearch-7.3.0
10 changes: 6 additions & 4 deletions src/pytest_elasticsearch/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,13 @@ def get_version_parts(executable):
try:
output = subprocess.check_output([executable, '-Vv']).decode('utf-8')
match = re.match(
r'Version: (?P<major>\d)\.(?P<minor>\d)\.(?P<patch>\d)', output
r'Version: (?P<major>\d)\.(?P<minor>\d)\.(?P<patch>\d+)', output
)
if not match:
raise RuntimeError("Elasticsearch version is not recognized. "
"It is probably not supported.")
raise RuntimeError(
"Elasticsearch version is not recognized. "
"It is probably not supported. \n"
"Output is: " + output)
version = match.groupdict()
return parse_version(
'.'.join([version['major'], version['minor'], version['patch']])
Expand Down Expand Up @@ -136,7 +138,7 @@ def command_from(version):
--index.store.type={index_store_type}
'''
# it is known to work for 5.x.x; 6.x.x;
if version <= parse_version('7.0.0'):
if version >= parse_version('5.0.0'):
return '''
{deamon} -p {pidfile}
-E http.port={port}
Expand Down
76 changes: 26 additions & 50 deletions tests/test_elastic.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@

from pytest_elasticsearch import factories

ELASTICSEARCH_CONF_PATH_1_5_2 = '/opt/elasticsearch-1.5.2/config'
ELASTICSEARCH_CONF_PATH_2_4_6 = '/opt/elasticsearch-2.4.6/config'
ELASTICSEARCH_EXECUTABLE_1_5_2 = '/opt/elasticsearch-1.5.2/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_2_4_6 = '/opt/elasticsearch-2.4.6/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_5_6_7 = '/opt/elasticsearch-5.6.7/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_6_2_3 = '/opt/elasticsearch-6.2.3/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_5_6 = '/opt/elasticsearch-5.6.16/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_6_8 = '/opt/elasticsearch-6.8.2/bin/elasticsearch'
ELASTICSEARCH_EXECUTABLE_7_3 = '/opt/elasticsearch-7.3.0/bin/elasticsearch'


def elasticsearch_fixture_factory(executable, proc_name, port, **kwargs):
Expand All @@ -20,34 +17,33 @@ def elasticsearch_fixture_factory(executable, proc_name, port, **kwargs):


# pylint:disable=invalid-name
elasticsearch_proc_1_5_2, elasticsearch_1_5_2 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_1_5_2, 'elasticsearch_proc_1_5_2',
port=None, configuration_path=ELASTICSEARCH_CONF_PATH_1_5_2
elasticsearch_proc_5_6, elasticsearch_5_6 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_5_6, 'elasticsearch_proc_5_6', port=None
)
elasticsearch_proc_2_4_6, elasticsearch_2_4_6 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_2_4_6, 'elasticsearch_proc_2_4_6',
port=None, configuration_path=ELASTICSEARCH_CONF_PATH_2_4_6
elasticsearch_proc_6_8, elasticsearch_6_8 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_6_8, 'elasticsearch_proc_6_8', port=None
)
elasticsearch_proc_5_6_7, elasticsearch_5_6_7 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_5_6_7, 'elasticsearch_proc_5_6_7', port=None
elasticsearch_proc_7_3, elasticsearch_7_3 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_7_3, 'elasticsearch_proc_7_3', port=None
)
elasticsearch_proc_6_2_3, elasticsearch_6_2_3 = elasticsearch_fixture_factory(
ELASTICSEARCH_EXECUTABLE_6_2_3, 'elasticsearch_proc_6_2_3', port=None
)

elasticsearch_proc_random = factories.elasticsearch_proc(
ELASTICSEARCH_EXECUTABLE_1_5_2, port=None,
configuration_path=ELASTICSEARCH_CONF_PATH_1_5_2
)
elasticsearch_random = factories.elasticsearch('elasticsearch_proc_random')
# pylint:enable=invalid-name


@pytest.mark.parametrize('executable, expected_version', (
(ELASTICSEARCH_EXECUTABLE_5_6, '5.6.16'),
(ELASTICSEARCH_EXECUTABLE_6_8, '6.8.2'),
(ELASTICSEARCH_EXECUTABLE_7_3, '7.3.0'),
))
def test_version_extraction(executable, expected_version):
"""Verfiy if we can properly extract elasticsearch version."""
ver = factories.get_version_parts(executable)
assert ver.base_version == expected_version


@pytest.mark.parametrize('elasticsearch_proc_name', (
'elasticsearch_proc_1_5_2',
'elasticsearch_proc_2_4_6',
'elasticsearch_proc_5_6_7',
'elasticsearch_proc_6_2_3'
'elasticsearch_proc_5_6',
'elasticsearch_proc_6_8',
'elasticsearch_proc_7_3',
))
def test_elastic_process(request, elasticsearch_proc_name):
"""Simple test for starting elasticsearch_proc."""
Expand All @@ -56,10 +52,9 @@ def test_elastic_process(request, elasticsearch_proc_name):


@pytest.mark.parametrize('elasticsearch_name', (
'elasticsearch_1_5_2',
'elasticsearch_2_4_6',
'elasticsearch_5_6_7',
'elasticsearch_6_2_3'
'elasticsearch_5_6',
'elasticsearch_6_8',
'elasticsearch_7_3',
))
def test_elasticsarch(request, elasticsearch_name):
"""Test if elasticsearch fixtures connects to process."""
Expand All @@ -68,25 +63,6 @@ def test_elasticsarch(request, elasticsearch_name):
assert info['status'] == 'green'


@pytest.mark.parametrize('executable, expected_version', (
(ELASTICSEARCH_EXECUTABLE_1_5_2, '1.5.2'),
(ELASTICSEARCH_EXECUTABLE_2_4_6, '2.4.6'),
(ELASTICSEARCH_EXECUTABLE_5_6_7, '5.6.7'),
(ELASTICSEARCH_EXECUTABLE_6_2_3, '6.2.3')
))
def test_version_extraction(executable, expected_version):
"""Verfiy if we can properly extract elasticsearch version."""
ver = factories.get_version_parts(executable)
assert ver.base_version == expected_version


def test_random_port( # pylint:disable=redefined-outer-name
elasticsearch_random
):
"""Test if elasticsearch fixture can be started on random port."""
assert elasticsearch_random.cluster.health()['status'] == 'green'


def test_default_configuration(request):
"""Test default configuration."""
config = factories.return_config(request)
Expand Down

0 comments on commit e9667b0

Please sign in to comment.