Skip to content

Commit 068ab80

Browse files
author
Andrii Kasian
committed
Merge remote-tracking branch 'origin/MAGETWO-39709' into S70pr
2 parents 228eb93 + 2686bc4 commit 068ab80

File tree

6 files changed

+561
-5
lines changed

6 files changed

+561
-5
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
/**
3+
* Application config file resolver
4+
*
5+
* Copyright © 2015 Magento. All rights reserved.
6+
* See COPYING.txt for license details.
7+
*/
8+
namespace Magento\Framework\Search\Request\Config;
9+
10+
class FileResolverStub implements \Magento\Framework\Config\FileResolverInterface
11+
{
12+
/**
13+
* {@inheritdoc}
14+
*/
15+
public function get($filename, $scope)
16+
{
17+
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
18+
$readDirectory = $objectManager->create(
19+
'Magento\Framework\Filesystem\Directory\Read',
20+
[
21+
'driver' => $objectManager->create('Magento\Framework\Filesystem\Driver\File'),
22+
'path' => realpath(__DIR__ . '/../../_files/etc'),
23+
]
24+
);
25+
$paths = ['search_request_1.xml', 'search_request_2.xml'];
26+
return new \Magento\Framework\Config\FileIterator($readDirectory, $paths);
27+
}
28+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Framework\Search\Request\Config;
7+
8+
class FileSystemReaderTest extends \PHPUnit_Framework_TestCase
9+
{
10+
/** @var FilesystemReader */
11+
protected $object;
12+
13+
protected function setUp()
14+
{
15+
$fileResolver = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
16+
'\Magento\Framework\Search\Request\Config\FileResolverStub'
17+
);
18+
$this->object = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
19+
'\Magento\Framework\Search\Request\Config\FilesystemReader',
20+
['fileResolver' => $fileResolver]
21+
);
22+
}
23+
24+
public function testRead()
25+
{
26+
$result = $this->object->read();
27+
// Filter values added by \Magento\CatalogSearch\Model\Search\ReaderPlugin
28+
$result = array_intersect_key($result, array_flip(['bool_query', 'filter_query', 'new_match_query']));
29+
$expected = include __DIR__ . '/../../_files/search_request_merged.php';
30+
$this->assertEquals($expected, $result);
31+
}
32+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<requests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../../../../lib/internal/Magento/Framework/Search/etc/search_request.xsd">
10+
<request query="bool_query" index="bool_query_index">
11+
<dimensions>
12+
<dimension name="scope" value="default"/>
13+
</dimensions>
14+
<queries>
15+
<query xsi:type="boolQuery" name="bool_query" boost="1">
16+
<queryReference clause="must" ref="must_query"/>
17+
<queryReference clause="should" ref="should_query"/>
18+
<queryReference clause="not" ref="not_query"/>
19+
</query>
20+
<query xsi:type="matchQuery" value="$match_term$" name="match_query">
21+
<match field="match_field"/>
22+
<match field="*"/>
23+
</query>
24+
<query xsi:type="filteredQuery" name="must_query">
25+
<filterReference clause="must" ref="must_filter"/>
26+
</query>
27+
<query xsi:type="filteredQuery" name="should_query">
28+
<filterReference clause="should" ref="should_filter"/>
29+
</query>
30+
<query xsi:type="filteredQuery" name="not_query">
31+
<filterReference clause="not" ref="not_filter"/>
32+
</query>
33+
</queries>
34+
<filters>
35+
<filter xsi:type="termFilter" name="must_filter" field="field_1" value="$value_1$"/>
36+
<filter xsi:type="rangeFilter" name="should_filter" field="field_2" from="$value_2.from$"
37+
to="$value_2.to$"/>
38+
<filter xsi:type="wildcardFilter" name="not_filter" field="field_3" value="$field_3$"/>
39+
</filters>
40+
<aggregations>
41+
<bucket name="bucket_1" field="field_1" xsi:type="dynamicBucket" method="$field_1_dynamic_algorithm$">
42+
<metrics>
43+
<metric type="count"/>
44+
</metrics>
45+
</bucket>
46+
<bucket name="bucket_2" field="field_2" xsi:type="termBucket">
47+
<metrics>
48+
<metric type="count"/>
49+
</metrics>
50+
</bucket>
51+
<bucket name="bucket_3" field="field_2" xsi:type="rangeBucket">
52+
<ranges>
53+
<range from="$value_2.from$" to="value_2.to$"/>
54+
</ranges>
55+
</bucket>
56+
</aggregations>
57+
<from>0</from>
58+
<size>10000</size>
59+
</request>
60+
<request query="filter_query" index="filter_query_index">
61+
<dimensions>
62+
<dimension name="scope" value="default"/>
63+
</dimensions>
64+
<queries>
65+
<query xsi:type="filteredQuery" name="filter_query">
66+
<filterReference clause="must" ref="bool_filter"/>
67+
</query>
68+
</queries>
69+
<filters>
70+
<filter xsi:type="boolFilter" name="bool_filter">
71+
<filterReference clause="must" ref="must_filter"/>
72+
<filterReference clause="should" ref="should_filter"/>
73+
<filterReference clause="not" ref="not_filter"/>
74+
</filter>
75+
<filter xsi:type="termFilter" name="must_filter" field="field_1" value="$value_1$"/>
76+
<filter xsi:type="rangeFilter" name="should_filter" field="field_2" from="$value_2.from$"
77+
to="$value_2.to$"/>
78+
<filter xsi:type="wildcardFilter" name="not_filter" field="field_3" value="$field_3$"/>
79+
</filters>
80+
<from>0</from>
81+
<size>10000</size>
82+
</request>
83+
</requests>
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<requests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../../../../lib/internal/Magento/Framework/Search/etc/search_request.xsd">
10+
<request query="bool_query" index="bool_query_index_override">
11+
<dimensions>
12+
<dimension name="scope" value="default_override"/>
13+
</dimensions>
14+
<queries>
15+
<query xsi:type="boolQuery" name="bool_query" boost="10">
16+
<queryReference clause="must" ref="must_query"/>
17+
<queryReference clause="should" ref="should_query"/>
18+
<queryReference clause="not" ref="not_query"/>
19+
</query>
20+
<query xsi:type="matchQuery" value="$match_term_override$" name="match_query">
21+
<!--Add one more field to match query-->
22+
<match field="match_field_3"/>
23+
</query>
24+
<query xsi:type="matchQuery" value="$match_term_override$" name="match_query_2">
25+
<match field="match_field_4"/>
26+
</query>
27+
<query xsi:type="filteredQuery" name="must_query">
28+
<filterReference clause="must" ref="must_filter"/>
29+
</query>
30+
<query xsi:type="filteredQuery" name="should_query">
31+
<filterReference clause="should" ref="should_filter"/>
32+
</query>
33+
<query xsi:type="filteredQuery" name="not_query">
34+
<filterReference clause="not" ref="not_filter"/>
35+
</query>
36+
</queries>
37+
<filters>
38+
<filter xsi:type="termFilter" name="must_filter" field="field_1_override" value="$value_1_override$"/>
39+
<filter xsi:type="rangeFilter" name="should_filter" field="field_2_override" from="$value_2_override.from$"
40+
to="$value_2_override.to$"/>
41+
<filter xsi:type="wildcardFilter" name="not_filter" field="field_3_override" value="$field_3_override$"/>
42+
</filters>
43+
<aggregations>
44+
<bucket name="bucket_1" field="field_1_override" xsi:type="dynamicBucket" method="$field_1_dynamic_algorithm_override$">
45+
<metrics>
46+
<metric type="count"/>
47+
</metrics>
48+
</bucket>
49+
<bucket name="bucket_2" field="field_2_override" xsi:type="termBucket">
50+
<metrics>
51+
<metric type="count"/>
52+
</metrics>
53+
</bucket>
54+
<bucket name="bucket_3" field="field_2_override" xsi:type="rangeBucket">
55+
<ranges>
56+
<range from="$value_2_override.from$" to="value_2_override.to$"/>
57+
</ranges>
58+
</bucket>
59+
</aggregations>
60+
<from>0</from>
61+
<size>10000</size>
62+
</request>
63+
<request query="filter_query" index="filter_query_index_override">
64+
<dimensions>
65+
<dimension name="scope" value="default_override"/>
66+
</dimensions>
67+
<queries>
68+
<query xsi:type="filteredQuery" name="filter_query">
69+
<filterReference clause="must" ref="bool_filter"/>
70+
</query>
71+
</queries>
72+
<filters>
73+
<filter xsi:type="boolFilter" name="bool_filter">
74+
<filterReference clause="must" ref="must_filter"/>
75+
<filterReference clause="should" ref="should_filter"/>
76+
<filterReference clause="not" ref="not_filter"/>
77+
</filter>
78+
<filter xsi:type="termFilter" name="must_filter" field="field_1" value="$value_1$"/>
79+
<filter xsi:type="rangeFilter" name="should_filter" field="field_2" from="$value_2.from$"
80+
to="$value_2.to$"/>
81+
<filter xsi:type="wildcardFilter" name="not_filter" field="field_3" value="$field_3$"/>
82+
</filters>
83+
<from>0</from>
84+
<size>10000</size>
85+
</request>
86+
<request query="new_match_query" index="new_query_index">
87+
<dimensions>
88+
<dimension name="scope" value="new"/>
89+
</dimensions>
90+
<queries>
91+
<query xsi:type="matchQuery" value="$match_term$" name="new_match_query">
92+
<match field="new_match_field"/>
93+
</query>
94+
</queries>
95+
<filters/>
96+
<from>0</from>
97+
<size>10000</size>
98+
</request>
99+
</requests>

0 commit comments

Comments
 (0)