author | ymh <ymh.work@gmail.com> |
Thu, 20 Oct 2016 17:27:36 +0200 | |
changeset 377 | 52169c718513 |
parent 375 | 145561ff51ff |
child 387 | 7fba86fa8604 |
permissions | -rw-r--r-- |
307 | 1 |
<?php |
2 |
||
3 |
use Mockery as m; |
|
4 |
||
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
5 |
use Es; |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
6 |
|
307 | 7 |
use EasyRdf\Literal; |
8 |
||
9 |
class DateStatsControllerTest extends TestCase |
|
10 |
{ |
|
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
11 |
const ES_QUERY = [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
12 |
'index' => 'corpus', |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
13 |
'body' => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
14 |
"size" => 0, |
377
52169c718513
make all stats view use elasticsearch. Make sure that the document discourse types are taken form the predefined list
ymh <ymh.work@gmail.com>
parents:
375
diff
changeset
|
15 |
"query" => [ "match_all" => [] ], |
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
16 |
"aggs" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
17 |
"datestats" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
18 |
"nested"=> [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
19 |
"path" => "creation_years" |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
20 |
], |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
21 |
"aggs" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
22 |
"years" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
23 |
"terms"=> [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
24 |
"field" => "creation_years.year", |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
25 |
"size" => 0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
26 |
"order" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
27 |
"_term" => "asc" |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
28 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
29 |
], |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
30 |
"aggs" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
31 |
"year_count" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
32 |
"sum" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
33 |
"field" => "creation_years.weight" |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
34 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
35 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
36 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
37 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
38 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
39 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
40 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
41 |
] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
42 |
]; |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
43 |
|
307 | 44 |
public function setUp() { |
45 |
||
46 |
parent::setup(); |
|
47 |
} |
|
48 |
||
49 |
public function tearDown() { |
|
50 |
m::close(); |
|
51 |
parent::tearDown(); |
|
52 |
} |
|
53 |
||
54 |
||
55 |
public function testIndexQuery() { |
|
56 |
||
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
57 |
Es::shouldReceive('search') |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
58 |
->once() |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
59 |
->with(self::ES_QUERY) |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
60 |
->andReturn(json_decode('{ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
61 |
"took" : 132, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
62 |
"timed_out" : false, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
63 |
"_shards" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
64 |
"total" : 1, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
65 |
"successful" : 1, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
66 |
"failed" : 0 |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
67 |
}, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
68 |
"hits" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
69 |
"total" : 3373, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
70 |
"max_score" : 0.0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
71 |
"hits" : [ ] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
72 |
}, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
73 |
"aggregations" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
74 |
"datestats" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
75 |
"doc_count" : 3725, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
76 |
"years" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
77 |
"doc_count_error_upper_bound" : 0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
78 |
"sum_other_doc_count" : 0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
79 |
"buckets" : [] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
80 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
81 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
82 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
83 |
}', true)); |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
84 |
$this->get('/api/v1/stats/datestats/')->assertTrue($this->response->isOk(), $this->response->content()); |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
85 |
$this->seeJsonEquals(["datestats" => []]); |
307 | 86 |
} |
87 |
||
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
88 |
public function testIndexResult() { |
307 | 89 |
|
375
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
90 |
Es::shouldReceive('search') |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
91 |
->once() |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
92 |
->with(self::ES_QUERY) |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
93 |
->andReturn(json_decode('{ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
94 |
"took" : 132, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
95 |
"timed_out" : false, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
96 |
"_shards" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
97 |
"total" : 1, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
98 |
"successful" : 1, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
99 |
"failed" : 0 |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
100 |
}, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
101 |
"hits" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
102 |
"total" : 3373, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
103 |
"max_score" : 0.0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
104 |
"hits" : [ ] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
105 |
}, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
106 |
"aggregations" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
107 |
"datestats" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
108 |
"doc_count" : 3725, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
109 |
"years" : { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
110 |
"doc_count_error_upper_bound" : 0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
111 |
"sum_other_doc_count" : 0, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
112 |
"buckets" : [ { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
113 |
"key" : 1948, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
114 |
"doc_count" : 3, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
115 |
"year_count" : { "value" : 3.0 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
116 |
}, { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
117 |
"key" : 1957, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
118 |
"doc_count" : 29, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
119 |
"year_count" : { "value" : 29.0 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
120 |
}, { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
121 |
"key" : 1963, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
122 |
"doc_count" : 22, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
123 |
"year_count" : { "value" : 21.5 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
124 |
}, { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
125 |
"key" : 1970, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
126 |
"doc_count" : 411, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
127 |
"year_count" : { "value" : 403.68333334475756 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
128 |
}, { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
129 |
"key" : 1986, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
130 |
"doc_count" : 68, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
131 |
"year_count" : { "value" : 14.133333388715982 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
132 |
}, { |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
133 |
"key" : 1996, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
134 |
"doc_count" : 40, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
135 |
"year_count" : { "value" : 36.05000001564622 } |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
136 |
} ] |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
137 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
138 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
139 |
} |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
140 |
}', true)); |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
141 |
$this->get('/api/v1/stats/datestats/')->assertTrue($this->response->isOk(), $this->response->content()); |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
142 |
$this->seeJsonEquals(["datestats" => [ |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
143 |
"1948" => 3, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
144 |
"1957" => 29, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
145 |
"1963" => 22, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
146 |
"1970" => 404, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
147 |
"1986" => 14, |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
148 |
"1996" => 36 |
145561ff51ff
change datestats to use elasticsearch
ymh <ymh.work@gmail.com>
parents:
307
diff
changeset
|
149 |
]]); |
307 | 150 |
} |
151 |
||
152 |
} |