Skip to content

Commit 285ed33

Browse files
authored
Fix 6.8.0 release adding missing class alises (#1114)
* Fix for #1112 issue. Adding endpoint aliases + IndicesNamespace::getAliases() * Reverted array alias to class in src/autoload.php + added unit tests for missing class aliases in 6.8 * Fixed indentation in src/ autoload.php
1 parent a524a7d commit 285ed33

File tree

3 files changed

+66
-41
lines changed

3 files changed

+66
-41
lines changed

src/Elasticsearch/Namespaces/IndicesNamespace.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,17 @@ public function getAlias(array $params = [])
416416

417417
return $this->performRequest($endpoint);
418418
}
419+
420+
/**
421+
* Proxy to getAlias()
422+
*
423+
* @see https://github.com/elastic/elasticsearch-php/issues/1112
424+
*/
425+
public function getAliases(array $params = [])
426+
{
427+
return $this->getAlias($params);
428+
}
429+
419430
/**
420431
* $params['index'] = (list) A comma-separated list of index names
421432
* $params['type'] = (list) A comma-separated list of document types

src/autoload.php

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -19,47 +19,50 @@
1919
* @see https://github.com/elastic/elasticsearch-php/issues/967
2020
*/
2121

22-
$classesToAlias = [
23-
'\Elasticsearch\Endpoints\Nodes\HotThreads' => '\Elasticsearch\Endpoints\Cluster\Nodes\HotThreads',
24-
'\Elasticsearch\Endpoints\Nodes\Info' => '\Elasticsearch\Endpoints\Cluster\Nodes\Info',
25-
'\Elasticsearch\Endpoints\Nodes\ReloadSecureSettings' => '\Elasticsearch\Endpoints\Cluster\Nodes\ReloadSecureSettings',
26-
'\Elasticsearch\Endpoints\Nodes\Stats' => '\Elasticsearch\Endpoints\Cluster\Nodes\Stats',
27-
'\Elasticsearch\Endpoints\Cluster\GetSettings' => '\Elasticsearch\Endpoints\Cluster\Settings\Get',
28-
'\Elasticsearch\Endpoints\Cluster\PutSettings' => '\Elasticsearch\Endpoints\Cluster\Settings\Put',
29-
'\Elasticsearch\Endpoints\Indices\DeleteAlias' => '\Elasticsearch\Endpoints\Indices\Alias\Delete',
30-
'\Elasticsearch\Endpoints\Indices\ExistsAlias' => '\Elasticsearch\Endpoints\Indices\Alias\Exists',
31-
'\Elasticsearch\Endpoints\Indices\GetAlias' => '\Elasticsearch\Endpoints\Indices\Alias\Get',
32-
'\Elasticsearch\Endpoints\Indices\PutAlias' => '\Elasticsearch\Endpoints\Indices\Alias\Put',
33-
'\Elasticsearch\Endpoints\Indices\ClearCache' => '\Elasticsearch\Endpoints\Indices\Cache\Clear',
34-
'\Elasticsearch\Endpoints\Indices\GetMapping' => '\Elasticsearch\Endpoints\Indices\Mapping\Get',
35-
'\Elasticsearch\Endpoints\Indices\GetFieldMapping' => '\Elasticsearch\Endpoints\Indices\Mapping\GetField',
36-
'\Elasticsearch\Endpoints\Indices\PutMapping' => '\Elasticsearch\Endpoints\Indices\Mapping\Put',
37-
'\Elasticsearch\Endpoints\Indices\GetSettings' => '\Elasticsearch\Endpoints\Indices\Settings\Get',
38-
'\Elasticsearch\Endpoints\Indices\PutSettings' => '\Elasticsearch\Endpoints\Indices\Settings\Put',
39-
'\Elasticsearch\Endpoints\Indices\GetTemplate' => '\Elasticsearch\Endpoints\Indices\Template\Get',
40-
'\Elasticsearch\Endpoints\Indices\PutTemplate' => '\Elasticsearch\Endpoints\Indices\Template\Put',
41-
'\Elasticsearch\Endpoints\Indices\ExistsTemplate' => '\Elasticsearch\Endpoints\Indices\Template\Exists',
42-
'\Elasticsearch\Endpoints\Indices\DeleteTemplate' => '\Elasticsearch\Endpoints\Indices\Template\Delete',
43-
'\Elasticsearch\Endpoints\Indices\ExistsType' => '\Elasticsearch\Endpoints\Indices\Type\Exists',
44-
'\Elasticsearch\Endpoints\Indices\GetUpgrade' => '\Elasticsearch\Endpoints\Indices\Upgrade\Get',
45-
'\Elasticsearch\Endpoints\Indices\Upgrade' => '\Elasticsearch\Endpoints\Indices\Upgrade\Post',
46-
'\Elasticsearch\Endpoints\Indices\ValidateQuery' => '\Elasticsearch\Endpoints\Indices\Validate\Query',
47-
'\Elasticsearch\Endpoints\Ingest\DeletePipeline' => '\Elasticsearch\Endpoints\Ingest\Pipeline\Delete',
48-
'\Elasticsearch\Endpoints\Ingest\GetPipeline' => '\Elasticsearch\Endpoints\Ingest\Pipeline\Get',
49-
'\Elasticsearch\Endpoints\Ingest\PutPipeline' => '\Elasticsearch\Endpoints\Ingest\Pipeline\Put',
50-
'\Elasticsearch\Endpoints\Ingest\ProcessorGrok' => '\Elasticsearch\Endpoints\Ingest\Pipeline\ProcessorGrok',
51-
'\Elasticsearch\Endpoints\GetScript' => '\Elasticsearch\Endpoints\Script\Get',
52-
'\Elasticsearch\Endpoints\PutScript' => '\Elasticsearch\Endpoints\Script\Put',
53-
'\Elasticsearch\Endpoints\DeleteScript' => '\Elasticsearch\Endpoints\Script\Delete',
54-
'\Elasticsearch\Endpoints\Snapshot\CreateRepository' => '\Elasticsearch\Endpoints\Snapshot\Repository\Create',
55-
'\Elasticsearch\Endpoints\Snapshot\DeleteRepository' => '\Elasticsearch\Endpoints\Snapshot\Repository\Delete',
56-
'\Elasticsearch\Endpoints\Snapshot\GetRepository' => '\Elasticsearch\Endpoints\Snapshot\Repository\Get',
57-
'\Elasticsearch\Endpoints\Snapshot\VerifyRepository' => '\Elasticsearch\Endpoints\Snapshot\Repository\Verify',
58-
'\Elasticsearch\Endpoints\GetSource' => '\Elasticsearch\Endpoints\Source\Get',
59-
'\Elasticsearch\Endpoints\Tasks\ListTasks' => '\Elasticsearch\Endpoints\Tasks\TasksList'
22+
$aliasToClass = [
23+
'\Elasticsearch\Endpoints\Cluster\Nodes\HotThreads' => '\Elasticsearch\Endpoints\Nodes\HotThreads',
24+
'\Elasticsearch\Endpoints\Cluster\Nodes\Info' => '\Elasticsearch\Endpoints\Nodes\Info' ,
25+
'\Elasticsearch\Endpoints\Cluster\Nodes\ReloadSecureSettings' => '\Elasticsearch\Endpoints\Nodes\ReloadSecureSettings',
26+
'\Elasticsearch\Endpoints\Cluster\Nodes\Stats' => '\Elasticsearch\Endpoints\Nodes\Stats',
27+
'\Elasticsearch\Endpoints\Cluster\Settings\Get' => '\Elasticsearch\Endpoints\Cluster\GetSettings',
28+
'\Elasticsearch\Endpoints\Cluster\Settings\Put' => '\Elasticsearch\Endpoints\Cluster\PutSettings',
29+
'\Elasticsearch\Endpoints\Indices\Alias\Delete' => '\Elasticsearch\Endpoints\Indices\DeleteAlias',
30+
'\Elasticsearch\Endpoints\Indices\Alias\Exists' => '\Elasticsearch\Endpoints\Indices\ExistsAlias',
31+
'\Elasticsearch\Endpoints\Indices\Alias\Get' => '\Elasticsearch\Endpoints\Indices\GetAlias',
32+
'\Elasticsearch\Endpoints\Indices\Alias\Put' => '\Elasticsearch\Endpoints\Indices\PutAlias',
33+
'\Elasticsearch\Endpoints\Indices\Aliases\Update' => '\Elasticsearch\Endpoints\Indices\UpdateAliases',
34+
'\Elasticsearch\Endpoints\Indices\Cache\Clear' => '\Elasticsearch\Endpoints\Indices\ClearCache',
35+
'\Elasticsearch\Endpoints\Indices\Exists\Types' => '\Elasticsearch\Endpoints\Indices\ExistsType',
36+
'\Elasticsearch\Endpoints\Indices\Type\Exists' => '\Elasticsearch\Endpoints\Indices\ExistsType',
37+
'\Elasticsearch\Endpoints\Indices\Field\Get' => '\Elasticsearch\Endpoints\Indices\GetFieldMapping',
38+
'\Elasticsearch\Endpoints\Indices\Mapping\GetField' => '\Elasticsearch\Endpoints\Indices\GetFieldMapping',
39+
'\Elasticsearch\Endpoints\Indices\Mapping\Get' => '\Elasticsearch\Endpoints\Indices\GetMapping',
40+
'\Elasticsearch\Endpoints\Indices\Mapping\Put' => '\Elasticsearch\Endpoints\Indices\PutMapping',
41+
'\Elasticsearch\Endpoints\Indices\Settings\Get' => '\Elasticsearch\Endpoints\Indices\GetSettings',
42+
'\Elasticsearch\Endpoints\Indices\Settings\Put' => '\Elasticsearch\Endpoints\Indices\PutSettings',
43+
'\Elasticsearch\Endpoints\Indices\Template\Get' => '\Elasticsearch\Endpoints\Indices\GetTemplate',
44+
'\Elasticsearch\Endpoints\Indices\Template\Put' => '\Elasticsearch\Endpoints\Indices\PutTemplate',
45+
'\Elasticsearch\Endpoints\Indices\Template\Exists' => '\Elasticsearch\Endpoints\Indices\ExistsTemplate',
46+
'\Elasticsearch\Endpoints\Indices\Template\Delete' => '\Elasticsearch\Endpoints\Indices\DeleteTemplate',
47+
'\Elasticsearch\Endpoints\Indices\Upgrade\Get' => '\Elasticsearch\Endpoints\Indices\GetUpgrade',
48+
'\Elasticsearch\Endpoints\Indices\Upgrade\Post' => '\Elasticsearch\Endpoints\Indices\Upgrade',
49+
'\Elasticsearch\Endpoints\Indices\Validate\Query' => '\Elasticsearch\Endpoints\Indices\ValidateQuery',
50+
'\Elasticsearch\Endpoints\Ingest\Pipeline\Delete' => '\Elasticsearch\Endpoints\Ingest\DeletePipeline',
51+
'\Elasticsearch\Endpoints\Ingest\Pipeline\Get' => '\Elasticsearch\Endpoints\Ingest\GetPipeline',
52+
'\Elasticsearch\Endpoints\Ingest\Pipeline\Put' => '\Elasticsearch\Endpoints\Ingest\PutPipeline',
53+
'\Elasticsearch\Endpoints\Ingest\Pipeline\ProcessorGrok' => '\Elasticsearch\Endpoints\Ingest\ProcessorGrok',
54+
'\Elasticsearch\Endpoints\Script\Get' => '\Elasticsearch\Endpoints\GetScript',
55+
'\Elasticsearch\Endpoints\Script\Put' => '\Elasticsearch\Endpoints\PutScript',
56+
'\Elasticsearch\Endpoints\Script\Delete' => '\Elasticsearch\Endpoints\DeleteScript',
57+
'\Elasticsearch\Endpoints\Snapshot\Repository\Create' => '\Elasticsearch\Endpoints\Snapshot\CreateRepository',
58+
'\Elasticsearch\Endpoints\Snapshot\Repository\Delete' => '\Elasticsearch\Endpoints\Snapshot\DeleteRepository',
59+
'\Elasticsearch\Endpoints\Snapshot\Repository\Get' => '\Elasticsearch\Endpoints\Snapshot\GetRepository',
60+
'\Elasticsearch\Endpoints\Snapshot\Repository\Verify' => '\Elasticsearch\Endpoints\Snapshot\VerifyRepository',
61+
'\Elasticsearch\Endpoints\Source\Get' => '\Elasticsearch\Endpoints\GetSource',
62+
'\Elasticsearch\Endpoints\Tasks\TasksList' => '\Elasticsearch\Endpoints\Tasks\ListTasks'
6063
];
6164

62-
foreach ($classesToAlias as $original => $alias) {
65+
foreach ($aliasToClass as $alias => $original) {
6366
if (!class_exists($alias, false)) {
6467
class_alias($original, $alias);
6568
}

tests/Elasticsearch/Tests/BackwardCompatibleTest.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
namespace Elasticsearch\Tests;
1919

20+
use Elasticsearch\Namespaces\IndicesNamespace;
21+
2022
/**
2123
* Class BackwardCompatibleTest
2224
*
@@ -30,14 +32,12 @@ class BackwardCompatibleTest extends \PHPUnit\Framework\TestCase
3032
public function getClasses()
3133
{
3234
return [
33-
//['Elasticsearch\Endpoints\TermVectors'],
3435
['Elasticsearch\Endpoints\Delete'],
3536
['Elasticsearch\Endpoints\ScriptsPainlessExecute'],
3637
['Elasticsearch\Endpoints\Create'],
3738
['Elasticsearch\Endpoints\Exists'],
3839
['Elasticsearch\Endpoints\Get'],
3940
['Elasticsearch\Endpoints\Explain'],
40-
//['Elasticsearch\Endpoints\MTermVectors'],
4141
['Elasticsearch\Endpoints\Search'],
4242
['Elasticsearch\Endpoints\FieldCaps'],
4343
['Elasticsearch\Endpoints\Msearch'],
@@ -90,6 +90,9 @@ public function getClasses()
9090
['Elasticsearch\Endpoints\Indices\Alias\Exists'],
9191
['Elasticsearch\Endpoints\Indices\Alias\Get'],
9292
['Elasticsearch\Endpoints\Indices\Alias\Put'],
93+
['Elasticsearch\Endpoints\Indices\Aliases\Update'],
94+
['Elasticsearch\Endpoints\Indices\Exists\Types'],
95+
['Elasticsearch\Endpoints\Indices\Field\Get'],
9396
['Elasticsearch\Endpoints\Indices\Settings\Get'],
9497
['Elasticsearch\Endpoints\Indices\Settings\Put'],
9598
['Elasticsearch\Endpoints\Indices\Upgrade\Get'],
@@ -155,4 +158,12 @@ public function testOldClassNamespacesPreviousTo67($class)
155158
{
156159
$this->assertTrue(class_exists($class, true), sprintf("Class %s does not exist", $class));
157160
}
161+
162+
/**
163+
* @see https://github.com/elastic/elasticsearch-php/issues/1112
164+
*/
165+
public function testGetAliasesExistsInIndicesNamespace()
166+
{
167+
$this->assertTrue(method_exists(IndicesNamespace::class, 'getAliases'));
168+
}
158169
}

0 commit comments

Comments
 (0)