Skip to content

Commit 3546939

Browse files
committed
Requested changes
1 parent 4c1906a commit 3546939

File tree

5 files changed

+50
-68
lines changed

5 files changed

+50
-68
lines changed

test_elasticsearch/test_client/common.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
from collections import defaultdict
1919

20+
from elasticsearch.client import Elasticsearch
2021
from elasticsearch.connection import Connection
2122

2223

@@ -36,8 +37,12 @@ def perform_request(self, method, url, params=None, headers=None, body=None):
3637
return resp
3738

3839

39-
def assert_helper(client, method, url, count=1):
40-
calls = client.transport.calls
41-
assert (method, url) in calls
42-
assert count == len(calls[(method, url)])
43-
return calls[(method, url)]
40+
class DummyTransportTestCase:
41+
def setup_method(self, _):
42+
self.client = Elasticsearch(transport_class=DummyTransport)
43+
44+
def assert_helper(self, method, url, count=1):
45+
calls = self.client.transport.calls
46+
assert (method, url) in calls
47+
assert count == len(calls[(method, url)])
48+
return calls[(method, url)]

test_elasticsearch/test_client/test_client.py

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,43 +20,38 @@
2020

2121
from elasticsearch.client import Elasticsearch
2222

23-
from .common import DummyTransport, assert_helper
23+
from .common import DummyTransportTestCase
2424

2525

26-
class TestClient:
26+
class TestClient(DummyTransportTestCase):
2727
def test_request_timeout_is_passed_through_unescaped(self):
28-
client = Elasticsearch(transport_class=DummyTransport)
29-
client.ping(request_timeout=0.1)
30-
calls = assert_helper(client, "HEAD", "/")
28+
self.client.ping(request_timeout=0.1)
29+
calls = self.assert_helper("HEAD", "/")
3130
assert [({"request_timeout": 0.1}, {}, None)] == calls
3231

3332
def test_params_is_copied_when(self):
34-
client = Elasticsearch(transport_class=DummyTransport)
3533
params = {"request_timeout": object()}
36-
client.ping(params=params)
37-
client.ping(params=params)
38-
calls = assert_helper(client, "HEAD", "/", 2)
34+
self.client.ping(params=params)
35+
self.client.ping(params=params)
36+
calls = self.assert_helper("HEAD", "/", 2)
3937
assert [(params, {}, None), (params, {}, None)] == calls
4038
assert calls[0][0] is not calls[1][0]
4139

4240
def test_headers_is_copied_when(self):
43-
client = Elasticsearch(transport_class=DummyTransport)
4441
headers = {"authentication": "value"}
45-
client.ping(headers=headers)
46-
client.ping(headers=headers)
47-
calls = assert_helper(client, "HEAD", "/", 2)
42+
self.client.ping(headers=headers)
43+
self.client.ping(headers=headers)
44+
calls = self.assert_helper("HEAD", "/", 2)
4845
assert [({}, headers, None), ({}, headers, None)] == calls
4946
assert calls[0][0] is not calls[1][0]
5047

5148
def test_from_in_search(self):
52-
client = Elasticsearch(transport_class=DummyTransport)
53-
client.search(index="i", from_=10)
54-
calls = assert_helper(client, "POST", "/i/_search")
49+
self.client.search(index="i", from_=10)
50+
calls = self.assert_helper("POST", "/i/_search")
5551
assert [({"from": b"10"}, {}, None)] == calls
5652

5753
def test_repr_contains_hosts(self):
58-
client = Elasticsearch(transport_class=DummyTransport)
59-
assert "<Elasticsearch([{}])>" == repr(client)
54+
assert "<Elasticsearch([{}])>" == repr(self.client)
6055

6156
def test_repr_subclass(self):
6257
class OtherElasticsearch(Elasticsearch):
@@ -78,7 +73,5 @@ def test_repr_truncates_host_to_5(self):
7873
[("", "POST", "/my-index/_doc"), (0, "PUT", "/my-index/_doc/0")],
7974
)
8075
def test_index_uses_id(self, id, request_method, url):
81-
client = Elasticsearch(transport_class=DummyTransport)
82-
client.index(index="my-index", id=id, body={})
83-
84-
assert_helper(client, request_method, url)
76+
self.client.index(index="my-index", id=id, body={})
77+
self.assert_helper(request_method, url)

test_elasticsearch/test_client/test_cluster.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,17 @@
1717

1818
import pytest
1919

20-
from elasticsearch.client import Elasticsearch
20+
from .common import DummyTransportTestCase
2121

22-
from .common import DummyTransport, assert_helper
2322

24-
25-
class TestCluster:
23+
class TestCluster(DummyTransportTestCase):
2624
@pytest.mark.parametrize("node_id", [None, "node-1", "node-2"])
2725
def test_stats_node_id(self, node_id):
28-
client = Elasticsearch(transport_class=DummyTransport)
29-
client.cluster.stats(node_id=node_id)
26+
self.client.cluster.stats(node_id=node_id)
3027
url = "/_cluster/stats"
3128
if node_id:
3229
url += "/nodes/" + node_id
33-
assert_helper(client, "GET", url)
30+
self.assert_helper("GET", url)
3431

3532
@pytest.mark.parametrize(
3633
["index", "metric", "url_suffix"],
@@ -44,9 +41,8 @@ def test_stats_node_id(self, node_id):
4441
def test_state_with_index_without_metric_defaults_to_all(
4542
self, index, metric, url_suffix
4643
):
47-
client = Elasticsearch(transport_class=DummyTransport)
48-
client.cluster.state(index=index, metric=metric)
44+
self.client.cluster.state(index=index, metric=metric)
4945
url = "/_cluster/state"
5046
if url_suffix:
5147
url += url_suffix
52-
assert_helper(client, "GET", url)
48+
self.assert_helper("GET", url)

test_elasticsearch/test_client/test_indices.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,23 @@
1717

1818
import pytest
1919

20-
from elasticsearch.client import Elasticsearch
20+
from .common import DummyTransportTestCase
2121

22-
from .common import DummyTransport, assert_helper
2322

24-
25-
class TestIndices:
23+
class TestIndices(DummyTransportTestCase):
2624
def test_create_one_index(self):
27-
client = Elasticsearch(transport_class=DummyTransport)
28-
client.indices.create("test-index")
29-
assert_helper(client, "PUT", "/test-index")
25+
self.client.indices.create("test-index")
26+
self.assert_helper("PUT", "/test-index")
3027

3128
def test_delete_multiple_indices(self):
32-
client = Elasticsearch(transport_class=DummyTransport)
33-
client.indices.delete(["test-index", "second.index", "third/index"])
34-
assert_helper(client, "DELETE", "/test-index,second.index,third%2Findex")
29+
self.client.indices.delete(["test-index", "second.index", "third/index"])
30+
self.assert_helper("DELETE", "/test-index,second.index,third%2Findex")
3531

3632
def test_exists_index(self):
37-
client = Elasticsearch(transport_class=DummyTransport)
38-
client.indices.exists("second.index,third/index")
39-
assert_helper(client, "HEAD", "/second.index,third%2Findex")
33+
self.client.indices.exists("second.index,third/index")
34+
self.assert_helper("HEAD", "/second.index,third%2Findex")
4035

4136
@pytest.mark.parametrize("index", [None, [], ""])
4237
def test_passing_empty_value_for_required_param_raises_exception(self, index):
43-
client = Elasticsearch(transport_class=DummyTransport)
4438
with pytest.raises(ValueError):
45-
client.indices.exists(index=index)
39+
self.client.indices.exists(index=index)

test_elasticsearch/test_client/test_overrides.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,44 +18,38 @@
1818

1919
import pytest
2020

21-
from elasticsearch.client import Elasticsearch
21+
from .common import DummyTransportTestCase
2222

23-
from .common import DummyTransport, assert_helper
2423

25-
26-
class TestOverriddenUrlTargets:
24+
class TestOverriddenUrlTargets(DummyTransportTestCase):
2725
@pytest.mark.parametrize(
2826
["doc_type", "url_suffix"],
2927
[(None, "/_create/test-id"), ("test-type", "/test-type/test-id/_create")],
3028
)
3129
def test_create(self, doc_type, url_suffix):
32-
client = Elasticsearch(transport_class=DummyTransport)
33-
client.create(index="test-index", doc_type=doc_type, id="test-id", body={})
34-
assert_helper(client, "PUT", "/test-index" + url_suffix)
30+
self.client.create(index="test-index", doc_type=doc_type, id="test-id", body={})
31+
self.assert_helper("PUT", "/test-index" + url_suffix)
3532

3633
@pytest.mark.parametrize(
3734
["doc_type", "url_suffix"],
3835
[(None, "/_doc/test-id"), ("test-type", "/test-type/test-id")],
3936
)
4037
def test_delete(self, doc_type, url_suffix):
41-
client = Elasticsearch(transport_class=DummyTransport)
42-
client.delete(index="test-index", doc_type=doc_type, id="test-id")
43-
assert_helper(client, "DELETE", "/test-index" + url_suffix)
38+
self.client.delete(index="test-index", doc_type=doc_type, id="test-id")
39+
self.assert_helper("DELETE", "/test-index" + url_suffix)
4440

4541
@pytest.mark.parametrize(
4642
["doc_type", "url_suffix"],
4743
[(None, "/_update/test-id"), ("test-type", "/test-type/test-id/_update")],
4844
)
4945
def test_update(self, doc_type, url_suffix):
50-
client = Elasticsearch(transport_class=DummyTransport)
51-
client.update(index="test-index", doc_type=doc_type, id="test-id", body={})
52-
assert_helper(client, "POST", "/test-index" + url_suffix)
46+
self.client.update(index="test-index", doc_type=doc_type, id="test-id", body={})
47+
self.assert_helper("POST", "/test-index" + url_suffix)
5348

5449
@pytest.mark.parametrize(
5550
["request_method", "id", "url_suffix"],
5651
[("POST", None, ""), ("PUT", "test-id", "/test-id")],
5752
)
5853
def test_index(self, request_method, id, url_suffix):
59-
client = Elasticsearch(transport_class=DummyTransport)
60-
client.index(index="test-index", id=id, body={})
61-
assert_helper(client, request_method, "/test-index/_doc" + url_suffix)
54+
self.client.index(index="test-index", id=id, body={})
55+
self.assert_helper(request_method, "/test-index/_doc" + url_suffix)

0 commit comments

Comments
 (0)