Skip to content
This repository was archived by the owner on Sep 1, 2021. It is now read-only.

Commit e650c9b

Browse files
authored
Renamed meta engine methods (#22)
Renamed methods to match signatures from PHP client
1 parent 4f7b279 commit e650c9b

File tree

3 files changed

+35
-15
lines changed

3 files changed

+35
-15
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -395,27 +395,27 @@ Creating a search key that will only search over the body field.
395395
### Create a Meta Engine
396396

397397
```python
398-
>>> client.create_engine('my-meta-engine', options={
399-
'type': 'meta',
400-
'source_engines': [
401-
'source-engine-1',
402-
'source-engine-2'
403-
]
404-
})
398+
>>> client.create_meta_engine(
399+
engine_name=engine_name,
400+
source_engines=[
401+
'source-engine-1',
402+
'source-engine-2'
403+
]
404+
)
405405
{'source_engines': ['source-engine-1', 'source-engine-2'], 'type': 'meta', 'name': 'my-meta-engine'}
406406
```
407407

408408
### Add a Source Engine to a Meta Engine
409409

410410
```python
411-
>>> client.add_source_engines('my-meta-engine', ['source-engine-3'])
411+
>>> client.add_meta_engine_sources('my-meta-engine', ['source-engine-3'])
412412
{'source_engines': ['source-engine-1', 'source-engine-2', 'source-engine-3'], 'type': 'meta', 'name': 'my-meta-engine'}
413413
```
414414

415415
### Remove a Source Engine from a Meta Engine
416416

417417
```python
418-
>>> client.remove_source_engines('my-meta-engine', ['source-engine-3'])
418+
>>> client.delete_meta_engine_sources('my-meta-engine', ['source-engine-3'])
419419
{'source_engines': ['source-engine-1', 'source-engine-2'], 'type': 'meta', 'name': 'my-meta-engine'}
420420
```
421421

elastic_app_search/client.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,11 +292,19 @@ def click(self, engine_name, options):
292292
endpoint = "engines/{}/click".format(engine_name)
293293
return self.session.request_ignore_response('post', endpoint, json=options)
294294

295-
def add_source_engines(self, engine_name, source_engines):
295+
def create_meta_engine(self, engine_name, source_engines):
296+
data = {
297+
'name': engine_name,
298+
'source_engines': source_engines,
299+
'type': 'meta'
300+
}
301+
return self.session.request('post', 'engines', json=data)
302+
303+
def add_meta_engine_sources(self, engine_name, source_engines):
296304
endpoint = "engines/{}/source_engines".format(engine_name)
297305
return self.session.request('post', endpoint, json=source_engines)
298306

299-
def remove_source_engines(self, engine_name, source_engines):
307+
def delete_meta_engine_sources(self, engine_name, source_engines):
300308
endpoint = "engines/{}/source_engines".format(engine_name)
301309
return self.session.request('delete', endpoint, json=source_engines)
302310

tests/test_client.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,19 @@ def test_click(self):
510510
self.client.click(self.engine_name, {
511511
'query': 'cat', 'document_id': 'INscMGmhmX4'})
512512

513-
def test_add_source_engines(self):
513+
def test_create_meta_engine(self):
514+
source_engines = ['source-engine-1', 'source-engine-2']
515+
expected_return = {'source_engines': source_engines,
516+
'type': 'meta', 'name': self.engine_name}
517+
518+
with requests_mock.Mocker() as m:
519+
url = "{}/{}".format(self.client.session.base_url, 'engines')
520+
m.register_uri('POST', url, json=expected_return, status_code=200)
521+
response = self.client.create_meta_engine(
522+
self.engine_name, source_engines)
523+
self.assertEqual(response, expected_return)
524+
525+
def test_add_meta_engine_sources(self):
514526
target_source_engine_name = 'source-engine-3'
515527
expected_return = {'source_engines': [
516528
'source-engine-1', 'source-engine-2', target_source_engine_name], 'type': 'meta', 'name': self.engine_name}
@@ -521,11 +533,11 @@ def test_add_source_engines(self):
521533
"engines/{}/source_engines".format(self.engine_name)
522534
)
523535
m.register_uri('POST', url, json=expected_return, status_code=200)
524-
response = self.client.add_source_engines(
536+
response = self.client.add_meta_engine_sources(
525537
self.engine_name, [target_source_engine_name])
526538
self.assertEqual(response, expected_return)
527539

528-
def test_remove_source_engines(self):
540+
def test_delete_meta_engine_sources(self):
529541
source_engine_name = 'source-engine-3'
530542
expected_return = {'source_engines': [
531543
'source-engine-1', 'source-engine-2'], 'type': 'meta', 'name': self.engine_name}
@@ -537,6 +549,6 @@ def test_remove_source_engines(self):
537549
)
538550
m.register_uri('DELETE', url, json=expected_return,
539551
status_code=200)
540-
response = self.client.remove_source_engines(
552+
response = self.client.delete_meta_engine_sources(
541553
self.engine_name, [source_engine_name])
542554
self.assertEqual(response, expected_return)

0 commit comments

Comments
 (0)