rawscsi 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.travis.yml +13 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +23 -0
- data/README.md +288 -0
- data/Rakefile +11 -0
- data/lib/rawscsi/base.rb +13 -0
- data/lib/rawscsi/index.rb +64 -0
- data/lib/rawscsi/index_helpers/connection.rb +23 -0
- data/lib/rawscsi/index_helpers/sdf_add.rb +47 -0
- data/lib/rawscsi/index_helpers/sdf_delete.rb +19 -0
- data/lib/rawscsi/query/compound.rb +114 -0
- data/lib/rawscsi/query/simple.rb +16 -0
- data/lib/rawscsi/search.rb +46 -0
- data/lib/rawscsi/search_helpers/results_active_record.rb +28 -0
- data/lib/rawscsi/search_helpers/results_hash.rb +14 -0
- data/lib/rawscsi/version.rb +3 -0
- data/lib/rawscsi.rb +46 -0
- data/rawscsi.gemspec +41 -0
- data/spec/fixtures/vcr/index_spec/delete.yml +38 -0
- data/spec/fixtures/vcr/index_spec/handle_batch_limit.yml +73 -0
- data/spec/fixtures/vcr/index_spec/upload_hash.yml +39 -0
- data/spec/fixtures/vcr/search_spec/and_diff_field.yml +32 -0
- data/spec/fixtures/vcr/search_spec/and_or_combo.yml +35 -0
- data/spec/fixtures/vcr/search_spec/and_same_field.yml +31 -0
- data/spec/fixtures/vcr/search_spec/date.yml +34 -0
- data/spec/fixtures/vcr/search_spec/disjunction.yml +44 -0
- data/spec/fixtures/vcr/search_spec/fields.yml +35 -0
- data/spec/fixtures/vcr/search_spec/limit_sort.yml +32 -0
- data/spec/fixtures/vcr/search_spec/no_result.yml +30 -0
- data/spec/fixtures/vcr/search_spec/numeric_range.yml +32 -0
- data/spec/fixtures/vcr/search_spec/simple_search.yml +153 -0
- data/spec/lib/rawscsi/index_helpers/connection_spec.rb +25 -0
- data/spec/lib/rawscsi/index_helpers/sdf_add_spec.rb +44 -0
- data/spec/lib/rawscsi/index_helpers/sdf_delete_spec.rb +11 -0
- data/spec/lib/rawscsi/index_spec.rb +62 -0
- data/spec/lib/rawscsi/query/compound_spec.rb +80 -0
- data/spec/lib/rawscsi/query/simple_spec.rb +11 -0
- data/spec/lib/rawscsi/search_spec.rb +170 -0
- data/spec/lib/rawscsi/version_spec.rb +8 -0
- data/spec/rawscsi_spec.rb +33 -0
- data/spec/spec_helper.rb +17 -0
- metadata +250 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://doc-dummy-for-test-asshywvkb3xdxlpqj7uk3bf2lq.us-east-1.cloudsearch.amazonaws.com/2013-01-01/documents/batch
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '[{"id":12345678,"type":"add","fields":{"title":"Test Title","desc":"Test
|
9
|
+
Desc"}}]'
|
10
|
+
headers:
|
11
|
+
user-agent:
|
12
|
+
- Faraday v0.9.0
|
13
|
+
content-type:
|
14
|
+
- application/json
|
15
|
+
accept-encoding:
|
16
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
17
|
+
accept:
|
18
|
+
- "*/*"
|
19
|
+
response:
|
20
|
+
status:
|
21
|
+
code: 200
|
22
|
+
message: OK
|
23
|
+
headers:
|
24
|
+
content-type:
|
25
|
+
- application/json; charset=utf-8
|
26
|
+
date:
|
27
|
+
- Wed, 15 Oct 2014 10:55:13 GMT
|
28
|
+
x-amzn-requestid:
|
29
|
+
- bd9664bd-5459-11e4-acf6-9d40f1e0a6e9
|
30
|
+
content-length:
|
31
|
+
- '46'
|
32
|
+
connection:
|
33
|
+
- Close
|
34
|
+
body:
|
35
|
+
encoding: UTF-8
|
36
|
+
string: '{"status": "success", "adds": 1, "deletes": 0}'
|
37
|
+
http_version: '1.1'
|
38
|
+
recorded_at: Wed, 15 Oct 2014 10:55:13 GMT
|
39
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20actors:%27Arnold%27title:%27Terminator%27)&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"lrWxzJAppwEKHgGn","time-ms":2},"hits":{"found":4,"start":0,"hit":[{"id":"tt1340138","fields":{"title":"Terminator"}},{"id":"tt0088247","fields":{"title":"The
|
28
|
+
Terminator"}},{"id":"tt0103064","fields":{"title":"Terminator 2: Judgment
|
29
|
+
Day"}},{"id":"tt0181852","fields":{"title":"Terminator 3: Rise of the Machines"}}]}}'
|
30
|
+
http_version: '1.1'
|
31
|
+
recorded_at: Mon, 13 Oct 2014 12:47:12 GMT
|
32
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20genres:%27Action%27(or%20actors:%27Stallon%27actors:%27Jackie%27actors:%27Arnold%27actors:%27Weathers%27actors:%27Van%20Damme%27))&sort=rating%20desc&size=10&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"/eLO0pApxgEKHgGn","time-ms":44},"hits":{"found":65,"start":0,"hit":[{"id":"tt0103064","fields":{"title":"Terminator
|
28
|
+
2: Judgment Day"}},{"id":"tt0088247","fields":{"title":"The Terminator"}},{"id":"tt0093773","fields":{"title":"Predator"}},{"id":"tt0083944","fields":{"title":"First
|
29
|
+
Blood"}},{"id":"tt0409459","fields":{"title":"Watchmen"}},{"id":"tt1211956","fields":{"title":"Escape
|
30
|
+
Plan"}},{"id":"tt0111512","fields":{"title":"Jui kuen II"}},{"id":"tt0100802","fields":{"title":"Total
|
31
|
+
Recall"}},{"id":"tt1302011","fields":{"title":"Kung Fu Panda 2"}},{"id":"tt0111503","fields":{"title":"True
|
32
|
+
Lies"}}]}}'
|
33
|
+
http_version: '1.1'
|
34
|
+
recorded_at: Mon, 13 Oct 2014 16:24:57 GMT
|
35
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20actors:%27Kevin%20Bacon%27actors:%27Tom%20Hanks%27)&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
content-length:
|
22
|
+
- '136'
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"27KxzJAppgEKHgGn","time-ms":2},"hits":{"found":1,"start":0,"hit":[{"id":"tt0112384","fields":{"title":"Apollo
|
28
|
+
13"}}]}}'
|
29
|
+
http_version: '1.1'
|
30
|
+
recorded_at: Mon, 13 Oct 2014 12:47:12 GMT
|
31
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20plot:%27James%20Bond%27)&fq=release_date:%5B%271970-01-01T00:00:00Z%27,%7D&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"9v/10JApuwEKHgGn","time-ms":3},"hits":{"found":12,"start":0,"hit":[{"id":"tt0079574","fields":{"title":"Moonraker"}},{"id":"tt0086006","fields":{"title":"Never
|
28
|
+
Say Never Again"}},{"id":"tt0093428","fields":{"title":"The Living Daylights"}},{"id":"tt0120347","fields":{"title":"Tomorrow
|
29
|
+
Never Dies"}},{"id":"tt0143145","fields":{"title":"The World Is Not Enough"}},{"id":"tt0113189","fields":{"title":"GoldenEye"}},{"id":"tt0066995","fields":{"title":"Diamonds
|
30
|
+
Are Forever"}},{"id":"tt0076752","fields":{"title":"The Spy Who Loved Me"}},{"id":"tt0246460","fields":{"title":"Die
|
31
|
+
Another Day"}},{"id":"tt0086034","fields":{"title":"Octopussy"}}]}}'
|
32
|
+
http_version: '1.1'
|
33
|
+
recorded_at: Mon, 13 Oct 2014 15:25:45 GMT
|
34
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(or%20actors:%27Dustin%20Hoffman%27actors:%27Gary%20Oldman%27actors:%27Daniel%20Day%20Lewis%27actors:%27Christopher%20Walken%27)&sort=rating%20desc&size=10&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
content-length:
|
22
|
+
- '630'
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: ASCII-8BIT
|
27
|
+
string: !binary |-
|
28
|
+
eyJzdGF0dXMiOnsicmlkIjoicGVtYjBwQXB2Z0VLSGdHbiIsInRpbWUtbXMi
|
29
|
+
OjN9LCJoaXRzIjp7ImZvdW5kIjo2Mywic3RhcnQiOjAsImhpdCI6W3siaWQi
|
30
|
+
OiJ0dDAxMTA0MTMiLCJmaWVsZHMiOnsidGl0bGUiOiJMw6lvbiJ9fSx7Imlk
|
31
|
+
IjoidHQwMDc3NDE2IiwiZmllbGRzIjp7InRpdGxlIjoiVGhlIERlZXIgSHVu
|
32
|
+
dGVyIn19LHsiaWQiOiJ0dDAxMDcyMDciLCJmaWVsZHMiOnsidGl0bGUiOiJJ
|
33
|
+
biB0aGUgTmFtZSBvZiB0aGUgRmF0aGVyIn19LHsiaWQiOiJ0dDAwNjE3MjIi
|
34
|
+
LCJmaWVsZHMiOnsidGl0bGUiOiJUaGUgR3JhZHVhdGUifX0seyJpZCI6InR0
|
35
|
+
MDQ2OTQ5NCIsImZpZWxkcyI6eyJ0aXRsZSI6IlRoZXJlIFdpbGwgQmUgQmxv
|
36
|
+
b2QifX0seyJpZCI6InR0MDA3MDUxMSIsImZpZWxkcyI6eyJ0aXRsZSI6IlBh
|
37
|
+
cGlsbG9uIn19LHsiaWQiOiJ0dDAwNzQxMTkiLCJmaWVsZHMiOnsidGl0bGUi
|
38
|
+
OiJBbGwgdGhlIFByZXNpZGVudCdzIE1lbiJ9fSx7ImlkIjoidHQwMDk1OTUz
|
39
|
+
IiwiZmllbGRzIjp7InRpdGxlIjoiUmFpbiBNYW4ifX0seyJpZCI6InR0MDEw
|
40
|
+
MjEzOCIsImZpZWxkcyI6eyJ0aXRsZSI6IkpGSyJ9fSx7ImlkIjoidHQwMDY0
|
41
|
+
NjY1IiwiZmllbGRzIjp7InRpdGxlIjoiTWlkbmlnaHQgQ293Ym95In19XX19
|
42
|
+
http_version: '1.1'
|
43
|
+
recorded_at: Mon, 13 Oct 2014 16:11:02 GMT
|
44
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,35 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20title:%27Die%20Hard%27)&return=title,genres&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"l7CxzJAppQEKHgGn","time-ms":2},"hits":{"found":5,"start":0,"hit":[{"id":"tt0095016","fields":{"genres":["Action","Thriller"],"title":"Die
|
28
|
+
Hard"}},{"id":"tt0112864","fields":{"genres":["Action","Crime","Thriller"],"title":"Die
|
29
|
+
Hard: With a Vengeance"}},{"id":"tt0099423","fields":{"genres":["Action","Thriller"],"title":"Die
|
30
|
+
Hard 2"}},{"id":"tt0337978","fields":{"genres":["Action","Crime","Thriller"],"title":"Live
|
31
|
+
Free or Die Hard"}},{"id":"tt1606378","fields":{"genres":["Action","Crime","Thriller"],"title":"A
|
32
|
+
Good Day to Die Hard"}}]}}'
|
33
|
+
http_version: '1.1'
|
34
|
+
recorded_at: Mon, 13 Oct 2014 12:47:12 GMT
|
35
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20genres:%27Sci-Fi%27)&sort=rating%20desc&size=3&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"rrqxzJApqQEKHgGn","time-ms":2},"hits":{"found":591,"start":0,"hit":[{"id":"tt0080684","fields":{"title":"Star
|
28
|
+
Wars: Episode V - The Empire Strikes Back"}},{"id":"tt1375666","fields":{"title":"Inception"}},{"id":"tt0133093","fields":{"title":"The
|
29
|
+
Matrix"}}]}}'
|
30
|
+
http_version: '1.1'
|
31
|
+
recorded_at: Mon, 13 Oct 2014 12:47:13 GMT
|
32
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=fasdfiojfd
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
transfer-encoding:
|
22
|
+
- chunked
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"4+Tc0pApxwEKHgGn","time-ms":3},"hits":{"found":0,"start":0,"hit":[]}}'
|
28
|
+
http_version: '1.1'
|
29
|
+
recorded_at: Mon, 13 Oct 2014 16:28:46 GMT
|
30
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=(and%20actors:%27Arnold%27title:%27Terminator%27rating:%5B%278%27,%7D)&return=title&q.parser=structured
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
content-length:
|
22
|
+
- '208'
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: UTF-8
|
27
|
+
string: '{"status":{"rid":"07exzJApqAEKHgGn","time-ms":2},"hits":{"found":2,"start":0,"hit":[{"id":"tt0088247","fields":{"title":"The
|
28
|
+
Terminator"}},{"id":"tt0103064","fields":{"title":"Terminator 2: Judgment
|
29
|
+
Day"}}]}}'
|
30
|
+
http_version: '1.1'
|
31
|
+
recorded_at: Mon, 13 Oct 2014 12:47:13 GMT
|
32
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,153 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search-imdb-test-klzdilptuleeedvxt7to3c5xl4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=star+wars
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
content-type:
|
16
|
+
- application/json; charset=UTF-8
|
17
|
+
etag:
|
18
|
+
- '"YzAwMDAwMDAwMDAwMDAwMFNvbHI="'
|
19
|
+
last-modified:
|
20
|
+
- Sun, 12 Oct 2014 03:55:22 GMT
|
21
|
+
content-length:
|
22
|
+
- '5511'
|
23
|
+
connection:
|
24
|
+
- Close
|
25
|
+
body:
|
26
|
+
encoding: ASCII-8BIT
|
27
|
+
string: !binary |-
|
28
|
+
eyJzdGF0dXMiOnsicmlkIjoiMEsyeHpKQXBwQUVLSGdHbiIsInRpbWUtbXMi
|
29
|
+
OjJ9LCJoaXRzIjp7ImZvdW5kIjo5LCJzdGFydCI6MCwiaGl0IjpbeyJpZCI6
|
30
|
+
InR0MDA3Njc1OSIsImZpZWxkcyI6eyJyYXRpbmciOiI4LjciLCJnZW5yZXMi
|
31
|
+
OlsiQWN0aW9uIiwiQWR2ZW50dXJlIiwiRmFudGFzeSIsIlNjaS1GaSJdLCJw
|
32
|
+
bG90IjoiTHVrZSBTa3l3YWxrZXIgam9pbnMgZm9yY2VzIHdpdGggYSBKZWRp
|
33
|
+
IEtuaWdodCwgYSBjb2NreSBwaWxvdCwgYSB3b29raWVlIGFuZCB0d28gZHJv
|
34
|
+
aWRzIHRvIHNhdmUgdGhlIHVuaXZlcnNlIGZyb20gdGhlIEVtcGlyZSdzIHdv
|
35
|
+
cmxkLWRlc3Ryb3lpbmcgYmF0dGxlLXN0YXRpb24sIHdoaWxlIGFsc28gYXR0
|
36
|
+
ZW1wdGluZyB0byByZXNjdWUgUHJpbmNlc3MgTGVpYSBmcm9tIHRoZSBldmls
|
37
|
+
IERhcnRoIFZhZGVyLiIsInJlbGVhc2VfZGF0ZSI6IjE5NzctMDUtMjVUMDA6
|
38
|
+
MDA6MDBaIiwidGl0bGUiOiJTdGFyIFdhcnMiLCJyYW5rIjoiMjI2IiwicnVu
|
39
|
+
bmluZ190aW1lX3NlY3MiOiI3MjYwIiwiZGlyZWN0b3JzIjpbIkdlb3JnZSBM
|
40
|
+
dWNhcyJdLCJpbWFnZV91cmwiOiJodHRwOi8vaWEubWVkaWEtaW1kYi5jb20v
|
41
|
+
aW1hZ2VzL00vTVY1Qk1UVTROVGN6T0Rrd00xNUJNbDVCYW5CblhrRnRaVGN3
|
42
|
+
TXpFeU1USXlNd0BALl9WMV9TWDQwMF8uanBnIiwieWVhciI6IjE5NzciLCJh
|
43
|
+
Y3RvcnMiOlsiTWFyayBIYW1pbGwiLCJIYXJyaXNvbiBGb3JkIiwiQ2Fycmll
|
44
|
+
IEZpc2hlciJdfX0seyJpZCI6InR0MDA4NjE5MCIsImZpZWxkcyI6eyJyYXRp
|
45
|
+
bmciOiI4LjQiLCJnZW5yZXMiOlsiQWN0aW9uIiwiQWR2ZW50dXJlIiwiRmFu
|
46
|
+
dGFzeSIsIlNjaS1GaSJdLCJwbG90IjoiQWZ0ZXIgcmVzY3VpbmcgSGFuIFNv
|
47
|
+
bG8gZnJvbSB0aGUgcGFsYWNlIG9mIEphYmJhIHRoZSBIdXR0LCB0aGUgUmVi
|
48
|
+
ZWxzIGF0dGVtcHQgdG8gZGVzdHJveSB0aGUgU2Vjb25kIERlYXRoIFN0YXIs
|
49
|
+
IHdoaWxlIEx1a2UgU2t5d2Fsa2VyIHRyaWVzIHRvIGJyaW5nIGhpcyBmYXRo
|
50
|
+
ZXIgYmFjayB0byB0aGUgTGlnaHQgU2lkZSBvZiB0aGUgRm9yY2UuIiwicmVs
|
51
|
+
ZWFzZV9kYXRlIjoiMTk4My0wNS0yNVQwMDowMDowMFoiLCJ0aXRsZSI6IlN0
|
52
|
+
YXIgV2FyczogRXBpc29kZSBWSSAtIFJldHVybiBvZiB0aGUgSmVkaSIsInJh
|
53
|
+
bmsiOiI3ODIiLCJydW5uaW5nX3RpbWVfc2VjcyI6IjgwNDAiLCJkaXJlY3Rv
|
54
|
+
cnMiOlsiUmljaGFyZCBNYXJxdWFuZCJdLCJpbWFnZV91cmwiOiJodHRwOi8v
|
55
|
+
aWEubWVkaWEtaW1kYi5jb20vaW1hZ2VzL00vTVY1Qk1qRTVNVE0zT0RVNU1W
|
56
|
+
NUJNbDVCYW5CblhrRnRaVGN3T1RZek5qazJPUUBALl9WMV9TWDQwMF8uanBn
|
57
|
+
IiwieWVhciI6IjE5ODMiLCJhY3RvcnMiOlsiTWFyayBIYW1pbGwiLCJIYXJy
|
58
|
+
aXNvbiBGb3JkIiwiQ2FycmllIEZpc2hlciJdfX0seyJpZCI6InR0MDEyMTc2
|
59
|
+
NiIsImZpZWxkcyI6eyJyYXRpbmciOiI3LjciLCJnZW5yZXMiOlsiQWN0aW9u
|
60
|
+
IiwiQWR2ZW50dXJlIiwiRmFudGFzeSIsIlNjaS1GaSJdLCJwbG90IjoiQWZ0
|
61
|
+
ZXIgdGhyZWUgeWVhcnMgb2YgZmlnaHRpbmcgaW4gdGhlIENsb25lIFdhcnMs
|
62
|
+
IEFuYWtpbiBTa3l3YWxrZXIgZmFsbHMgcHJleSB0byB0aGUgU2l0aCBMb3Jk
|
63
|
+
J3MgbGllcyBhbmQgbWFrZXMgYW4gZW5lbXkgb2YgdGhlIEplZGkgYW5kIHRo
|
64
|
+
b3NlIGhlIGxvdmVzLCBjb25jbHVkaW5nIGhpcyBqb3VybmV5IHRvIHRoZSBE
|
65
|
+
YXJrIFNpZGUuIiwicmVsZWFzZV9kYXRlIjoiMjAwNS0wNS0xNVQwMDowMDow
|
66
|
+
MFoiLCJ0aXRsZSI6IlN0YXIgV2FyczogRXBpc29kZSBJSUkgLSBSZXZlbmdl
|
67
|
+
IG9mIHRoZSBTaXRoIiwicmFuayI6IjM3MSIsInJ1bm5pbmdfdGltZV9zZWNz
|
68
|
+
IjoiODQwMCIsImRpcmVjdG9ycyI6WyJHZW9yZ2UgTHVjYXMiXSwiaW1hZ2Vf
|
69
|
+
dXJsIjoiaHR0cDovL2lhLm1lZGlhLWltZGIuY29tL2ltYWdlcy9NL01WNUJO
|
70
|
+
VGM0TVRjM05UUTVPRjVCTWw1QmFuQm5Ya0Z0WlRjd09UZzBOakk0TkFAQC5f
|
71
|
+
VjFfU1g0MDBfLmpwZyIsInllYXIiOiIyMDA1IiwiYWN0b3JzIjpbIkhheWRl
|
72
|
+
biBDaHJpc3RlbnNlbiIsIk5hdGFsaWUgUG9ydG1hbiIsIkV3YW4gTWNHcmVn
|
73
|
+
b3IiXX19LHsiaWQiOiJ0dDI0ODg0OTYiLCJmaWVsZHMiOnsicGxvdCI6IkEg
|
74
|
+
Y29udGludWF0aW9uIG9mIHRoZSBzYWdhIGNyZWF0ZWQgYnkgR2VvcmdlIEx1
|
75
|
+
Y2FzLiIsImdlbnJlcyI6WyJBY3Rpb24iLCJBZHZlbnR1cmUiLCJGYW50YXN5
|
76
|
+
IiwiU2NpLUZpIl0sInRpdGxlIjoiU3RhciBXYXJzOiBFcGlzb2RlIFZJSSIs
|
77
|
+
InJlbGVhc2VfZGF0ZSI6IjIwMTUtMDEtMDFUMDA6MDA6MDBaIiwicmFuayI6
|
78
|
+
IjE2OCIsImRpcmVjdG9ycyI6WyJKLkouIEFicmFtcyJdLCJhY3RvcnMiOlsi
|
79
|
+
TWFyayBIYW1pbGwiLCJIYXJyaXNvbiBGb3JkIiwiQ2FycmllIEZpc2hlciJd
|
80
|
+
LCJ5ZWFyIjoiMjAxNSJ9fSx7ImlkIjoidHQxNDA4MTAxIiwiZmllbGRzIjp7
|
81
|
+
InJhdGluZyI6IjcuOSIsImdlbnJlcyI6WyJBY3Rpb24iLCJBZHZlbnR1cmUi
|
82
|
+
LCJTY2ktRmkiXSwicGxvdCI6IkFmdGVyIHRoZSBjcmV3IG9mIHRoZSBFbnRl
|
83
|
+
cnByaXNlIGZpbmQgYW4gdW5zdG9wcGFibGUgZm9yY2Ugb2YgdGVycm9yIGZy
|
84
|
+
b20gd2l0aGluIHRoZWlyIG93biBvcmdhbml6YXRpb24sIENhcHRhaW4gS2ly
|
85
|
+
ayBsZWFkcyBhIG1hbmh1bnQgdG8gYSB3YXItem9uZSB3b3JsZCB0byBjYXB0
|
86
|
+
dXJlIGEgb25lIG1hbiB3ZWFwb24gb2YgbWFzcyBkZXN0cnVjdGlvbi4iLCJy
|
87
|
+
ZWxlYXNlX2RhdGUiOiIyMDEzLTA1LTAyVDAwOjAwOjAwWiIsInRpdGxlIjoi
|
88
|
+
U3RhciBUcmVrIEludG8gRGFya25lc3MiLCJyYW5rIjoiMTYiLCJydW5uaW5n
|
89
|
+
X3RpbWVfc2VjcyI6Ijc5MjAiLCJkaXJlY3RvcnMiOlsiSi5KLiBBYnJhbXMi
|
90
|
+
XSwiaW1hZ2VfdXJsIjoiaHR0cDovL2lhLm1lZGlhLWltZGIuY29tL2ltYWdl
|
91
|
+
cy9NL01WNUJNVGsyTnpjek9UZ3hORjVCTWw1QmFuQm5Ya0Z0WlRjd09EUTVP
|
92
|
+
RGN6T1FAQC5fVjFfU1g0MDBfLmpwZyIsInllYXIiOiIyMDEzIiwiYWN0b3Jz
|
93
|
+
IjpbIkNocmlzIFBpbmUiLCJaYWNoYXJ5IFF1aW50byIsIlpvZSBTYWxkYW5h
|
94
|
+
Il19fSx7ImlkIjoidHQwNDg5MDQ5IiwiZmllbGRzIjp7InJhdGluZyI6IjYu
|
95
|
+
NSIsImdlbnJlcyI6WyJBZHZlbnR1cmUiLCJDb21lZHkiLCJEcmFtYSJdLCJw
|
96
|
+
bG90IjoiU3RhciBXYXJzIGZhbmF0aWNzIHRha2UgYSBjcm9zcy1jb3VudHJ5
|
97
|
+
IHRyaXAgdG8gW2xpbms9bm0wMDAwMTg0XScgU2t5d2Fsa2VyIFJhbmNoIHNv
|
98
|
+
IHRoZWlyIGR5aW5nIGZyaWVuZCBjYW4gc2VlIGEgc2NyZWVuaW5nIG9mIFts
|
99
|
+
aW5rPXR0MDEyMDkxNV0gYmVmb3JlIGl0cyByZWxlYXNlLiIsInJlbGVhc2Vf
|
100
|
+
ZGF0ZSI6IjIwMDktMDItMDZUMDA6MDA6MDBaIiwidGl0bGUiOiJGYW5ib3lz
|
101
|
+
IiwicmFuayI6IjIwODgiLCJydW5uaW5nX3RpbWVfc2VjcyI6IjU0MDAiLCJk
|
102
|
+
aXJlY3RvcnMiOlsiS3lsZSBOZXdtYW4iXSwiaW1hZ2VfdXJsIjoiaHR0cDov
|
103
|
+
L2lhLm1lZGlhLWltZGIuY29tL2ltYWdlcy9NL01WNUJNVEkyTURNME5UWTVP
|
104
|
+
RjVCTWw1QmFuQm5Ya0Z0WlRjd09ETXhNekl3TWdAQC5fVjFfU1g0MDBfLmpw
|
105
|
+
ZyIsInllYXIiOiIyMDA5IiwiYWN0b3JzIjpbIkRhbiBGb2dsZXIiLCJKYXkg
|
106
|
+
QmFydWNoZWwiLCJLcmlzdGVuIEJlbGwiXX19LHsiaWQiOiJ0dDAxMjA5MTUi
|
107
|
+
LCJmaWVsZHMiOnsicmF0aW5nIjoiNi41IiwiZ2VucmVzIjpbIkFjdGlvbiIs
|
108
|
+
IkFkdmVudHVyZSIsIkZhbnRhc3kiLCJTY2ktRmkiXSwicGxvdCI6IlR3byBK
|
109
|
+
ZWRpIEtuaWdodHMgZXNjYXBlIGEgaG9zdGlsZSBibG9ja2FkZSB0byBmaW5k
|
110
|
+
IGFsbGllcyBhbmQgY29tZSBhY3Jvc3MgYSB5b3VuZyBib3kgd2hvIG1heSBi
|
111
|
+
cmluZyBiYWxhbmNlIHRvIHRoZSBGb3JjZSwgYnV0IHRoZSBsb25nIGRvcm1h
|
112
|
+
bnQgU2l0aCByZXN1cmZhY2UgdG8gcmVjbGFpbSB0aGVpciBvbGQgZ2xvcnku
|
113
|
+
IiwicmVsZWFzZV9kYXRlIjoiMTk5OS0wNS0xOVQwMDowMDowMFoiLCJ0aXRs
|
114
|
+
ZSI6IlN0YXIgV2FyczogRXBpc29kZSBJIC0gVGhlIFBoYW50b20gTWVuYWNl
|
115
|
+
IiwicmFuayI6IjQ2OSIsInJ1bm5pbmdfdGltZV9zZWNzIjoiODE2MCIsImRp
|
116
|
+
cmVjdG9ycyI6WyJHZW9yZ2UgTHVjYXMiXSwiaW1hZ2VfdXJsIjoiaHR0cDov
|
117
|
+
L2lhLm1lZGlhLWltZGIuY29tL2ltYWdlcy9NL01WNUJNVFE0TmpFd05EQTJO
|
118
|
+
bDVCTWw1QmFuQm5Ya0Z0WlRjd05EVXlORFF6TndAQC5fVjFfU1g0MDBfLmpw
|
119
|
+
ZyIsInllYXIiOiIxOTk5IiwiYWN0b3JzIjpbIkV3YW4gTWNHcmVnb3IiLCJM
|
120
|
+
aWFtIE5lZXNvbiIsIk5hdGFsaWUgUG9ydG1hbiJdfX0seyJpZCI6InR0MDEy
|
121
|
+
MTc2NSIsImZpZWxkcyI6eyJyYXRpbmciOiI2LjciLCJnZW5yZXMiOlsiQWN0
|
122
|
+
aW9uIiwiQWR2ZW50dXJlIiwiRmFudGFzeSIsIlNjaS1GaSJdLCJwbG90Ijoi
|
123
|
+
VGVuIHllYXJzIGxhdGVyLCBBbmFraW4gU2t5d2Fsa2VyIHNoYXJlcyBhIGZv
|
124
|
+
cmJpZGRlbiByb21hbmNlIHdpdGggUGFkbcOpLCB3aGlsZSBPYmktV2FuIGlu
|
125
|
+
dmVzdGlnYXRlcyBhbiBhc3Nhc3NpbmF0aW9uIGF0dGVtcHQgb24gdGhlIFBy
|
126
|
+
aW5jZXNzIGFuZCBkaXNjb3ZlcnMgYSBzZWNyZXQgY2xvbmUgYXJteSBjcmFm
|
127
|
+
dGVkIGZvciB0aGUgSmVkaS4iLCJyZWxlYXNlX2RhdGUiOiIyMDAyLTA1LTE2
|
128
|
+
VDAwOjAwOjAwWiIsInRpdGxlIjoiU3RhciBXYXJzOiBFcGlzb2RlIElJIC0g
|
129
|
+
QXR0YWNrIG9mIHRoZSBDbG9uZXMiLCJyYW5rIjoiOTIyIiwicnVubmluZ190
|
130
|
+
aW1lX3NlY3MiOiI4NTIwIiwiZGlyZWN0b3JzIjpbIkdlb3JnZSBMdWNhcyJd
|
131
|
+
LCJpbWFnZV91cmwiOiJodHRwOi8vaWEubWVkaWEtaW1kYi5jb20vaW1hZ2Vz
|
132
|
+
L00vTVY1Qk1UWTVNakk1TlRJd05sNUJNbDVCYW5CblhrRnRaVFl3TVRNMU5q
|
133
|
+
ZzIuX1YxX1NYNDAwXy5qcGciLCJ5ZWFyIjoiMjAwMiIsImFjdG9ycyI6WyJI
|
134
|
+
YXlkZW4gQ2hyaXN0ZW5zZW4iLCJOYXRhbGllIFBvcnRtYW4iLCJFd2FuIE1j
|
135
|
+
R3JlZ29yIl19fSx7ImlkIjoidHQwMDgwNjg0IiwiZmllbGRzIjp7InJhdGlu
|
136
|
+
ZyI6IjguOCIsImdlbnJlcyI6WyJBY3Rpb24iLCJBZHZlbnR1cmUiLCJTY2kt
|
137
|
+
RmkiXSwicGxvdCI6IkFmdGVyIHRoZSByZWJlbHMgaGF2ZSBiZWVuIGJydXRh
|
138
|
+
bGx5IG92ZXJwb3dlcmVkIGJ5IHRoZSBFbXBpcmUgb24gdGhlaXIgbmV3bHkg
|
139
|
+
ZXN0YWJsaXNoZWQgYmFzZSwgTHVrZSBTa3l3YWxrZXIgdGFrZXMgYWR2YW5j
|
140
|
+
ZWQgSmVkaSB0cmFpbmluZyB3aXRoIE1hc3RlciBZb2RhLCB3aGlsZSBoaXMg
|
141
|
+
ZnJpZW5kcyBhcmUgcHVyc3VlZCBieSBEYXJ0aCBWYWRlciBhcyBwYXJ0IG9m
|
142
|
+
IGhpcyBwbGFuIHRvIGNhcHR1cmUgTHVrZS4iLCJyZWxlYXNlX2RhdGUiOiIx
|
143
|
+
OTgwLTA1LTE3VDAwOjAwOjAwWiIsInRpdGxlIjoiU3RhciBXYXJzOiBFcGlz
|
144
|
+
b2RlIFYgLSBUaGUgRW1waXJlIFN0cmlrZXMgQmFjayIsInJhbmsiOiI2NTEi
|
145
|
+
LCJydW5uaW5nX3RpbWVfc2VjcyI6Ijc0NDAiLCJkaXJlY3RvcnMiOlsiSXJ2
|
146
|
+
aW4gS2Vyc2huZXIiXSwiaW1hZ2VfdXJsIjoiaHR0cDovL2lhLm1lZGlhLWlt
|
147
|
+
ZGIuY29tL2ltYWdlcy9NL01WNUJNakUyTXpRd01UZ3hOMTVCTWw1QmFuQm5Y
|
148
|
+
a0Z0WlRjd01EUXpOamsyT1FAQC5fVjFfU1g0MDBfLmpwZyIsInllYXIiOiIx
|
149
|
+
OTgwIiwiYWN0b3JzIjpbIk1hcmsgSGFtaWxsIiwiSGFycmlzb24gRm9yZCIs
|
150
|
+
IkNhcnJpZSBGaXNoZXIiXX19XX19
|
151
|
+
http_version: '1.1'
|
152
|
+
recorded_at: Mon, 13 Oct 2014 12:47:12 GMT
|
153
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$root = File.expand_path('../../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::IndexHelpers::Connection do
|
5
|
+
before(:each) do
|
6
|
+
@config = Rawscsi::Configuration.new
|
7
|
+
@config.domain_name = "good-songs"
|
8
|
+
@config.domain_id = "bxfbnuitrk2tayljprycpx6mna"
|
9
|
+
@config.region = "us-west-1"
|
10
|
+
@config.api_version = "2013-01-01"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "constructs the url correctly" do
|
14
|
+
connection = Rawscsi::IndexHelpers::Connection.new(@config)
|
15
|
+
expect(connection.url).to eq("http://doc-good-songs-bxfbnuitrk2tayljprycpx6mna.us-west-1.cloudsearch.amazonaws.com")
|
16
|
+
end
|
17
|
+
|
18
|
+
it "builds a faraday object" do
|
19
|
+
VCR.use_cassette("faraday_object") do
|
20
|
+
faraday = Rawscsi::IndexHelpers::Connection.new(@config).build
|
21
|
+
expect(faraday).to be_kind_of(Faraday::Connection)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
$root = File.expand_path('../../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::IndexHelpers::SdfAdd do
|
5
|
+
Movie = Struct.new(:id, :title, :actors, :rating)
|
6
|
+
before(:each) do
|
7
|
+
@config = [:title, :actors, :rating]
|
8
|
+
end
|
9
|
+
|
10
|
+
it "constructs an sdf add json for active record object" do
|
11
|
+
obj = Movie.new(293428934, "Slingblade", ["Billy Bob Thorton", "Dwight Yokam"], 9)
|
12
|
+
sdf_hash = Rawscsi::IndexHelpers::SdfAdd.new(obj, @config).build
|
13
|
+
expect(sdf_hash).to eq(
|
14
|
+
{
|
15
|
+
:id=>"Movie_293428934",
|
16
|
+
:type=>"add",
|
17
|
+
:fields=>
|
18
|
+
{:title=>"Slingblade",
|
19
|
+
:actors=>["Billy Bob Thorton", "Dwight Yokam"],
|
20
|
+
:rating=>9}
|
21
|
+
}
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "constructs an sdf add json for a hash" do
|
26
|
+
obj = {
|
27
|
+
:id => 43134353,
|
28
|
+
:title => "Adaptation",
|
29
|
+
:actors => ["Nicholas Cage", "Meryl Streep"],
|
30
|
+
:rating => 9.5
|
31
|
+
}
|
32
|
+
sdf_hash = Rawscsi::IndexHelpers::SdfAdd.new(obj).build
|
33
|
+
expect(sdf_hash).to eq(
|
34
|
+
{:id=>43134353,
|
35
|
+
:type=>"add",
|
36
|
+
:fields=>
|
37
|
+
{:title=>"Adaptation",
|
38
|
+
:actors=>["Nicholas Cage", "Meryl Streep"],
|
39
|
+
:rating=>9.5}
|
40
|
+
}
|
41
|
+
)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
$root = File.expand_path('../../../../../', __FILE__)
|
2
|
+
require "#{$root}/spec/spec_helper"
|
3
|
+
|
4
|
+
describe Rawscsi::IndexHelpers::SdfDelete do
|
5
|
+
it "constructs an sdf delete json for an id" do
|
6
|
+
id = 4
|
7
|
+
sdf_hash = Rawscsi::IndexHelpers::SdfDelete.new(id).build
|
8
|
+
expect(sdf_hash).to eq({:type => "delete", :id => 4})
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require "json"
|
2
|
+
$root = File.expand_path('../../../../', __FILE__)
|
3
|
+
puts "#{$root}"
|
4
|
+
require "#{$root}/spec/spec_helper"
|
5
|
+
|
6
|
+
describe Rawscsi::Index do
|
7
|
+
before(:each) do
|
8
|
+
Rawscsi.register "Dummy" do |config|
|
9
|
+
# this domain has been deleted
|
10
|
+
# so don't try anything funny ;)
|
11
|
+
config.domain_name = "dummy-for-test"
|
12
|
+
config.domain_id = "asshywvkb3xdxlpqj7uk3bf2lq"
|
13
|
+
config.region = "us-east-1"
|
14
|
+
config.api_version = "2013-01-01"
|
15
|
+
end
|
16
|
+
@indexer = Rawscsi::Index.new("Dummy")
|
17
|
+
end
|
18
|
+
|
19
|
+
it "instantiates properly" do
|
20
|
+
expect(@indexer.config.domain_name).to eq("dummy-for-test")
|
21
|
+
expect(@indexer.config.domain_id).to eq("asshywvkb3xdxlpqj7uk3bf2lq")
|
22
|
+
expect(@indexer.config.region).to eq("us-east-1")
|
23
|
+
expect(@indexer.config.api_version).to eq("2013-01-01")
|
24
|
+
end
|
25
|
+
|
26
|
+
it "uploads indices from hash correctly" do
|
27
|
+
VCR.use_cassette("index_spec/upload_hash") do
|
28
|
+
hash = { :id => 12345678, :title => "Test Title", :desc => "Test Desc" }
|
29
|
+
expect(JSON.parse(@indexer.upload([hash]))).to eq({
|
30
|
+
"status" => "success",
|
31
|
+
"adds" => 1,
|
32
|
+
"deletes" => 0
|
33
|
+
})
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
it "partitions array of docs into right size" do
|
38
|
+
VCR.use_cassette("index_spec/handle_batch_limit") do
|
39
|
+
array_of_hashes = []
|
40
|
+
10000.times do |index|
|
41
|
+
rand_title = "title" * 16
|
42
|
+
rand_desc = "desc" * 200
|
43
|
+
array_of_hashes << { :id => index, :title => rand_title, :desc => rand_desc}
|
44
|
+
end
|
45
|
+
expect(JSON.parse(@indexer.upload(array_of_hashes))).to eq({
|
46
|
+
"status" => "success",
|
47
|
+
"adds" => 4399,
|
48
|
+
"deletes" => 0
|
49
|
+
})
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "deletes indices correctly" do
|
54
|
+
VCR.use_cassette("index_spec/delete") do
|
55
|
+
expect(JSON.parse(@indexer.delete((1..10000).to_a))).to eq({
|
56
|
+
"status" => "success",
|
57
|
+
"adds" => 0,
|
58
|
+
"deletes" => 10000})
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|