inquisitio 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a82ff5d2d9e82c66a70e7f562fe341dbcf801132
4
- data.tar.gz: 001c23a1eb0cc0bda0312c5b0e750823c9de5ef1
3
+ metadata.gz: 89aae9dc681251070a23032fd2dab54af311e0cc
4
+ data.tar.gz: 3bdf5147f6bd81d43164e38c700255263c58f981
5
5
  SHA512:
6
- metadata.gz: 86d076089e49f4312e987ed5fb3aaa89a90eb998b5bcf6c95057ca240577de82b86b9092bb51a80ad56f7c2954e826d73ae364d7ae784424064434fe97e0388c
7
- data.tar.gz: d3d5df92f1a49fa3fbe43c43a104966d16cd88eacf856f910c2352cf3665f428c566fa0ceb50c0ad9c9f90911a9f18dba0b7e0144c2abae949f99598e203b8ff
6
+ metadata.gz: 0f6218f321736cfa15f6bebd2dc5456817ae118f3e8335929f1c73ab0bf9f0498d5b75db95f5ffe52cbb31a2fd4fd9fed24294995b062798bad30f49fe3aee9b
7
+ data.tar.gz: 508afe8065da867c2d0eee4fadbdba18f66aabfc584f9998487f0b516ede922b4a21770eac2eefc7e63fc0d5725133d2b01ebcb3e65bcbd478e2cfc472030419
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ 1.2.0 / 2014-06-03
2
+ [FEATURE] Support for 2013-01-01 version of cloudsearch API
3
+
1
4
  1.1.2 / 2014-03-20
2
5
  [BUGFIX] Encode ampersands
3
6
 
@@ -6,6 +6,7 @@ module Inquisitio
6
6
  class Configuration
7
7
 
8
8
  SETTINGS = [
9
+ :api_version,
9
10
  :search_endpoint,
10
11
  :document_endpoint,
11
12
  :default_search_size,
@@ -32,6 +33,9 @@ module Inquisitio
32
33
 
33
34
  def get_or_raise(setting)
34
35
  val = instance_variable_get("@#{setting.to_s}")
36
+ if setting == :api_version && val.nil?
37
+ val = '2011-02-01'
38
+ end
35
39
  val.nil?? raise(InquisitioConfigurationError.new("Configuration for #{setting} is not set")) : val
36
40
  end
37
41
  end
@@ -3,22 +3,20 @@ module Inquisitio
3
3
  class Document
4
4
 
5
5
  attr_reader :type, :id, :version, :fields
6
+
6
7
  def initialize(type, id, version, fields)
7
8
  @type = type
8
9
  @id = id
9
10
  @version = version
10
- @fields = fields.reject {|k,v| v.nil?}
11
+ @fields = fields.reject { |k, v| v.nil? }
11
12
  end
12
13
 
13
14
  def to_SDF
14
- <<-EOS
15
- { "type": "#{type}",
16
- "id": "#{id}",
17
- "version": #{version},
18
- "lang": "en",
19
- "fields": #{fields.to_json}
20
- }
21
- EOS
15
+ if Inquisitio.config.api_version == '2011-02-01'
16
+ "{ \"type\": \"#{type}\", \"id\": \"#{id}\", \"version\": #{version}, \"lang\": \"en\", \"fields\": #{fields.to_json} }"
17
+ elsif Inquisitio.config.api_version == '2013-01-01'
18
+ "{ \"type\": \"#{type}\", \"id\": \"#{id}\", \"fields\": #{fields.to_json} }"
19
+ end
22
20
  end
23
21
  end
24
22
  end
@@ -31,7 +31,7 @@ module Inquisitio
31
31
  end
32
32
 
33
33
  def batch_index_url
34
- "#{Inquisitio.config.document_endpoint}/2011-02-01/documents/batch"
34
+ "#{Inquisitio.config.document_endpoint}/#{Inquisitio.config.api_version}/documents/batch"
35
35
  end
36
36
 
37
37
  def post_to_endpoint
@@ -49,7 +49,11 @@ module Inquisitio
49
49
  end
50
50
  end
51
51
 
52
- "bq=#{URI.encode("(and #{query_blocks.join(' ')})").gsub('&', '%26')}"
52
+ if Inquisitio.config.api_version == '2011-02-01'
53
+ "bq=#{URI.encode("(and #{query_blocks.join(' ')})").gsub('&', '%26')}"
54
+ elsif Inquisitio.config.api_version == '2013-01-01'
55
+ "q=#{URI.encode("(and #{query_blocks.join(' ')})").gsub('&', '%26')}&q.parser=structured"
56
+ end
53
57
  end
54
58
 
55
59
  def sanitise(value)
@@ -58,7 +62,11 @@ module Inquisitio
58
62
 
59
63
  def return_fields_query_string
60
64
  return "" if @return_fields.nil?
61
- "&return-fields=#{URI::encode(@return_fields.join(',').gsub('\'',''))}"
65
+ if Inquisitio.config.api_version == '2011-02-01'
66
+ "&return-fields=#{URI::encode(@return_fields.join(',').gsub('\'',''))}"
67
+ elsif Inquisitio.config.api_version == '2013-01-01'
68
+ "&return=#{URI::encode(@return_fields.join(',').gsub('\'',''))}"
69
+ end
62
70
  end
63
71
 
64
72
  def arguments
@@ -67,7 +75,7 @@ module Inquisitio
67
75
  end
68
76
 
69
77
  def url_root
70
- "#{Inquisitio.config.search_endpoint}/2011-02-01/search?"
78
+ "#{Inquisitio.config.search_endpoint}/#{Inquisitio.config.api_version}/search?"
71
79
  end
72
80
 
73
81
  def add_default_size
@@ -143,7 +143,11 @@ module Inquisitio
143
143
 
144
144
  def search_url
145
145
  @search_url ||= begin
146
- return_fields = params[:returns].empty? ? [:type, :id] : params[:returns]
146
+ if Inquisitio.config.api_version == '2011-02-01'
147
+ return_fields = params[:returns].empty? ? [:type, :id] : params[:returns]
148
+ elsif Inquisitio.config.api_version == '2013-01-01'
149
+ return_fields = params[:returns].empty? ? nil : params[:returns]
150
+ end
147
151
 
148
152
  SearchUrlBuilder.build(
149
153
  query: params[:criteria],
@@ -1,3 +1,3 @@
1
1
  module Inquisitio
2
- VERSION = "1.1.2"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -19,6 +19,15 @@ module Inquisitio
19
19
  assert_equal test_search_endpoint, Inquisitio.config.search_endpoint
20
20
  end
21
21
 
22
+ def test_api_version
23
+ assert_equal '2011-02-01', Inquisitio.config.api_version
24
+ Inquisitio.config.api_version = '2013-01-01'
25
+ assert_equal '2013-01-01', Inquisitio.config.api_version
26
+ Inquisitio.config.api_version = nil
27
+ assert_equal '2011-02-01', Inquisitio.config.api_version
28
+ Inquisitio.config.api_version = '2011-02-01'
29
+ end
30
+
22
31
  def test_search_endpoint
23
32
  assert_equal 3, Inquisitio.config.max_attempts
24
33
  end
@@ -0,0 +1,49 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+ require 'json'
3
+
4
+ module Inquisitio
5
+ class TestDocument < Minitest::Test
6
+
7
+ def test_initialization_sets_type
8
+ document = Document.new('add', '12345', 1, {:title => 'The Title', :author => 'The Author'})
9
+ assert_equal 'add', document.type
10
+ end
11
+
12
+ def test_initialization_sets_id
13
+ document = Document.new('add', '12345', 1, {:title => 'The Title', :author => 'The Author'})
14
+ assert_equal '12345', document.id
15
+ end
16
+
17
+ def test_initialization_sets_version
18
+ document = Document.new('add', '12345', 1, {:title => 'The Title', :author => 'The Author'})
19
+ assert_equal 1, document.version
20
+ end
21
+
22
+ def test_initialization_sets_fields
23
+ fields = {:title => 'The Title', :author => 'The Author'}
24
+ document = Document.new('add', '12345', 1, fields)
25
+ assert_equal fields, document.fields
26
+ end
27
+
28
+ def test_create_valid_SDF_json_for_2011
29
+ expected_SDF = '{ "type": "add", "id": "12345", "version": 1, "lang": "en", "fields": { "title": "The Title", "author": "The Author" } }'
30
+ document = Document.new('add', '12345', 1, {:title => 'The Title', :author => 'The Author'})
31
+ assert_equal JSON.parse(expected_SDF).to_json, JSON.parse(document.to_SDF).to_json
32
+ end
33
+
34
+ def test_create_valid_SDF_json_for_2013
35
+ Inquisitio.config.api_version = '2013-01-01'
36
+ expected_SDF = '{ "type": "add", "id": "12345", "fields": { "title": "The Title", "author": "The Author" } }'
37
+ document = Document.new('add', '12345', 1, {:title => 'The Title', :author => 'The Author'})
38
+ assert_equal JSON.parse(expected_SDF).to_json, JSON.parse(document.to_SDF).to_json
39
+ Inquisitio.config.api_version = nil
40
+ end
41
+
42
+ def test_should_ignore_null_field_values_when_creating_SDF_json
43
+ expected_SDF = '{ "type": "add", "id": "12345", "version": 1, "lang": "en", "fields": { "title": "The Title" } }'
44
+ fields = {:title => 'The Title', :author => nil}
45
+ document = Document.new('add', '12345', 1, fields)
46
+ assert_equal JSON.parse(expected_SDF).to_json, JSON.parse(document.to_SDF).to_json
47
+ end
48
+ end
49
+ end
@@ -1,7 +1,7 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  module Inquisitio
4
- class IndexerTest < Minitest::Test
4
+ class TestIndexerFor2011 < Minitest::Test
5
5
  def setup
6
6
  @document_endpoint = 'http://my.document-endpoint.com'
7
7
  Inquisitio.config.document_endpoint = @document_endpoint
@@ -34,8 +34,14 @@ module Inquisitio
34
34
 
35
35
  def test_create_correct_index_url
36
36
  indexer = Indexer.new(@documents)
37
- expected_url = 'http://my.document-endpoint.com/2011-02-01/documents/batch'
38
- assert_equal expected_url, indexer.send(:batch_index_url)
37
+ assert_equal 'http://my.document-endpoint.com/2011-02-01/documents/batch', indexer.send(:batch_index_url)
38
+ end
39
+
40
+ def test_create_correct_index_url_2013
41
+ Inquisitio.config.api_version = '2013-01-01'
42
+ indexer = Indexer.new(@documents)
43
+ assert_equal 'http://my.document-endpoint.com/2013-01-01/documents/batch', indexer.send(:batch_index_url)
44
+ Inquisitio.config.api_version = nil
39
45
  end
40
46
 
41
47
  def test_create_correct_body
@@ -1,7 +1,7 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  module Inquisitio
4
- class SearchUrlBuilderTest < Minitest::Test
4
+ class TestSearchUrlBuilderFor2011 < Minitest::Test
5
5
  def setup
6
6
  super
7
7
  @search_endpoint = 'http://my.search-endpoint.com'
@@ -0,0 +1,110 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ module Inquisitio
4
+ class TestSearchUrlBuilderFor2013 < Minitest::Test
5
+ def setup
6
+ super
7
+ @search_endpoint = 'http://my.search-endpoint.com'
8
+ Inquisitio.config.api_version = '2013-01-01'
9
+ Inquisitio.config.search_endpoint = @search_endpoint
10
+ Inquisitio.config.default_search_size = '10'
11
+ end
12
+
13
+ def test_create_correct_search_url_with_single_criteria_query
14
+ url = SearchUrlBuilder.build(query: ['Star Wars'])
15
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&size=10'
16
+ assert_equal expected_url, url
17
+ end
18
+
19
+ def test_create_correct_search_url_with_ampersand
20
+ url = SearchUrlBuilder.build(query: ['Star&Wars'])
21
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%26Wars&size=10'
22
+ assert_equal expected_url, url
23
+ end
24
+
25
+ def test_create_correct_search_url_with_multiple_criteria_should_create_boolean_query
26
+ url = SearchUrlBuilder.build(query: ['Star Wars', 'Episode One'])
27
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20(or%20\'Star%20Wars\'%20\'Episode%20One\'))&q.parser=structured&size=10'
28
+ assert_equal expected_url, url
29
+ end
30
+
31
+ def test_create_correct_search_url_with_multiple_criteria_with_ampersand
32
+ url = SearchUrlBuilder.build(query: ['Star&Wars', 'Episode One'])
33
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20(or%20\'Star%26Wars\'%20\'Episode%20One\'))&q.parser=structured&size=10'
34
+ assert_equal expected_url, url
35
+ end
36
+
37
+
38
+ def test_create_correct_search_url_including_return_fields
39
+ url = SearchUrlBuilder.build(query: ['Star Wars'], return_fields: [ 'title', 'year', '%' ] )
40
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&return=title,year,%25&size=10'
41
+ assert_equal expected_url, url
42
+ end
43
+
44
+ def test_create_boolean_query_search_url_with_only_filters
45
+ url = SearchUrlBuilder.build(filters: {title: 'Star Wars'})
46
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20title:\'Star%20Wars\')&q.parser=structured&size=10'
47
+ assert_equal expected_url, url
48
+ end
49
+
50
+ def test_create_boolean_query_search_url_with_query_and_filters
51
+ url = SearchUrlBuilder.build(query: ['Star Wars'], filters: {genre: 'Animation'})
52
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20\'Star%20Wars\'%20genre:\'Animation\')&q.parser=structured&size=10'
53
+ assert_equal expected_url, url
54
+ end
55
+
56
+ def test_create_boolean_query_search_url_with_query_and_filters_and_return_fields
57
+ url = SearchUrlBuilder.build(query: ['Star Wars'], filters: {genre: 'Animation'}, return_fields: [ 'title', 'year', '%' ])
58
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20\'Star%20Wars\'%20genre:\'Animation\')&q.parser=structured&return=title,year,%25&size=10'
59
+ assert_equal expected_url, url
60
+ end
61
+
62
+ def test_create_search_url_with_added_arguments
63
+ url = SearchUrlBuilder.build(query: ['Star Wars'], filters: {genre: 'Animation'}, :arguments => { facet: 'genre', 'facet-genre-constraints' => 'Animation', 'facet-genre-top-n' => '5'})
64
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20\'Star%20Wars\'%20genre:\'Animation\')&q.parser=structured&facet=genre&facet-genre-constraints=Animation&facet-genre-top-n=5&size=10'
65
+ assert_equal expected_url, url
66
+ end
67
+
68
+ def test_create_search_url_with_default_size
69
+ url = SearchUrlBuilder.build(query: ['Star Wars'])
70
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&size=10'
71
+ assert_equal expected_url, url
72
+ end
73
+
74
+ def test_create_search_url_overriding_default_size
75
+ url = SearchUrlBuilder.build(query: ['Star Wars'], :arguments => { size: '200' })
76
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&size=200'
77
+ assert_equal expected_url, url
78
+ end
79
+
80
+ def test_create_search_url_with_start_and_default_size
81
+ url = SearchUrlBuilder.build(query: ['Star Wars'], :arguments => { start: '20' })
82
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&start=20&size=10'
83
+ assert_equal expected_url, url
84
+ end
85
+
86
+ def test_create_search_url_with_start_and_size
87
+ url = SearchUrlBuilder.build(query: ['Star Wars'], :arguments => { start: '2', size: '200' })
88
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=Star%20Wars&start=2&size=200'
89
+ assert_equal expected_url, url
90
+ end
91
+
92
+ def test_create_correct_search_url_with_sanatised_query_string
93
+ url = SearchUrlBuilder.build(query: ['Star\' Wars'], filters: {genre: 'Anim\'ation'}, :arguments => { facet: 'ge\'nre', 'facet-genr\'e-constraints' => 'Anim\'ation', 'facet-gen\'re-top-n' => '\'5'}, return_fields: [ 't\'itle', 'y\'ear' ])
94
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20\'Star%20Wars\'%20genre:\'Animation\')&q.parser=structured&return=title,year&facet=genre&facet-genre-constraints=Animation&facet-genre-top-n=5&size=10'
95
+ assert_equal expected_url, url
96
+ end
97
+
98
+ def test_create_search_url_with_filter_array
99
+ url = SearchUrlBuilder.build(query: ['Star Wars'], filters: {genre: ['Animation', 'Action']})
100
+ expected_url = 'http://my.search-endpoint.com/2013-01-01/search?q=(and%20\'Star%20Wars\'%20(or%20genre:\'Animation\'%20genre:\'Action\'))&q.parser=structured&size=10'
101
+ assert_equal expected_url, url
102
+ end
103
+
104
+ def test_throws_exception_when_using_unsupported_filter_value_type
105
+ assert_raises(InquisitioError) do
106
+ SearchUrlBuilder.build(query: ['Star Wars'], filters: {genre: {}})
107
+ end
108
+ end
109
+ end
110
+ end
@@ -16,11 +16,12 @@ module Inquisitio
16
16
  end
17
17
  end
18
18
 
19
- class SearcherTest < Minitest::Test
19
+ class TestSearcher < Minitest::Test
20
20
  def setup
21
21
  super
22
22
  @search_endpoint = 'http://my.search-endpoint.com'
23
23
  Inquisitio.config.search_endpoint = @search_endpoint
24
+ Inquisitio.config.api_version = nil
24
25
  @result_1 = {'data' => {'id' => ['1'], 'title' => ["Foobar"], 'type' => ["Cat"]}}
25
26
  @result_2 = {'data' => {'id' => ['2'], 'title' => ["Foobar"], 'type' => ["Cat"]}}
26
27
  @result_3 = {'data' => {'id' => ['20'], 'title' => ["Foobar2"], 'type' => ["Module_Dog"]}}
@@ -91,11 +92,17 @@ module Inquisitio
91
92
  assert searcher.send(:search_url).include? "q=Star%20Wars"
92
93
  end
93
94
 
94
- def test_where_gets_correct_url_with_filters
95
+ def test_where_gets_correct_url_with_filters_for_2011
95
96
  searcher = Searcher.where(title: 'Star Wars')
96
97
  assert searcher.send(:search_url).include? "bq=(and%20(or%20title:'Star%20Wars'))"
97
98
  end
98
99
 
100
+ def test_where_gets_correct_url_with_filters_for_2013
101
+ Inquisitio.config.api_version = '2013-01-01'
102
+ searcher = Searcher.where(title: 'Star Wars')
103
+ assert searcher.send(:search_url).include? "q=(and%20(or%20title:'Star%20Wars'))&q.parser=structured"
104
+ end
105
+
99
106
  def test_where_works_with_array_in_a_hash
100
107
  criteria = {thing: ['foo', 'bar']}
101
108
  searcher = Searcher.where(criteria)
@@ -181,21 +188,33 @@ module Inquisitio
181
188
  assert searcher.params[:returns].include?('foobar')
182
189
  end
183
190
 
184
- def test_returns_gets_correct_urlns_appends_variable
191
+ def test_returns_gets_correct_urlns_appends_variable_for_2011
185
192
  searcher = Searcher.returns('foobar')
186
193
  assert searcher.send(:search_url).include? "&return-fields=foobar"
187
194
  end
188
195
 
196
+ def test_returns_gets_correct_urlns_appends_variable_for_2013
197
+ Inquisitio.config.api_version = '2013-01-01'
198
+ searcher = Searcher.returns('foobar')
199
+ assert searcher.send(:search_url).include? "&return=foobar"
200
+ end
201
+
189
202
  def test_returns_with_array_sets_variable
190
203
  searcher = Searcher.returns('dog', 'cat')
191
204
  assert_equal ['dog', 'cat'], searcher.params[:returns]
192
205
  end
193
206
 
194
- def test_returns_with_array_gets_correct_url
207
+ def test_returns_with_array_gets_correct_url_for_2011
195
208
  searcher = Searcher.returns('id', 'foobar')
196
209
  assert searcher.send(:search_url).include? "&return-fields=id,foobar"
197
210
  end
198
211
 
212
+ def test_returns_with_array_gets_correct_url_for_2013
213
+ Inquisitio.config.api_version = '2013-01-01'
214
+ searcher = Searcher.returns('id', 'foobar')
215
+ assert searcher.send(:search_url).include? "&return=id,foobar"
216
+ end
217
+
199
218
  def test_returns_appends_variable
200
219
  searcher = Searcher.returns('id').returns('foobar')
201
220
  assert_equal ['id', 'foobar'], searcher.params[:returns]
@@ -291,11 +310,18 @@ module Inquisitio
291
310
  2.times { searcher.search }
292
311
  end
293
312
 
294
- def test_should_return_type_and_id_by_default
313
+ def test_should_return_type_and_id_by_default_for_2011
295
314
  searcher = Searcher.where('Star Wars')
296
315
  assert_equal [], searcher.params[:returns]
297
316
  assert searcher.send(:search_url).include? "&return-fields=type,id"
298
- searcher.send(:search_url)
317
+ end
318
+
319
+ def test_should_not_specify_return_by_default_for_2013
320
+ Inquisitio.config.api_version = '2013-01-01'
321
+ searcher = Searcher.where('Star Wars')
322
+ assert_equal [], searcher.params[:returns]
323
+ refute searcher.send(:search_url).include? "&return="
324
+ refute searcher.send(:search_url).include? "&return-fields="
299
325
  end
300
326
 
301
327
  def test_should_return_ids
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inquisitio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Walker
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-03-20 00:00:00.000000000 Z
13
+ date: 2014-06-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: excon
@@ -148,13 +148,14 @@ files:
148
148
  - lib/inquisitio/searcher.rb
149
149
  - lib/inquisitio/version.rb
150
150
  - test/configuration_test.rb
151
- - test/document_test.rb
152
- - test/indexer_test.rb
153
151
  - test/logger_test.rb
154
152
  - test/results_test.rb
155
- - test/search_url_builder_test.rb
156
- - test/searcher_test.rb
153
+ - test/test_document.rb
157
154
  - test/test_helper.rb
155
+ - test/test_indexer_for_2011.rb
156
+ - test/test_search_url_builder_for_2011.rb
157
+ - test/test_search_url_builder_for_2013.rb
158
+ - test/test_searcher.rb
158
159
  homepage: https://github.com/meducation/inquisition
159
160
  licenses:
160
161
  - AGPL3
@@ -175,17 +176,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
176
  version: '0'
176
177
  requirements: []
177
178
  rubyforge_project:
178
- rubygems_version: 2.1.9
179
+ rubygems_version: 2.0.14
179
180
  signing_key:
180
181
  specification_version: 4
181
182
  summary: This wraps AWS CloudSearch in a Ruby Gem
182
183
  test_files:
183
184
  - test/configuration_test.rb
184
- - test/document_test.rb
185
- - test/indexer_test.rb
186
185
  - test/logger_test.rb
187
186
  - test/results_test.rb
188
- - test/search_url_builder_test.rb
189
- - test/searcher_test.rb
187
+ - test/test_document.rb
190
188
  - test/test_helper.rb
189
+ - test/test_indexer_for_2011.rb
190
+ - test/test_search_url_builder_for_2011.rb
191
+ - test/test_search_url_builder_for_2013.rb
192
+ - test/test_searcher.rb
191
193
  has_rdoc:
@@ -1,68 +0,0 @@
1
- require File.expand_path('../test_helper', __FILE__)
2
- require 'json'
3
-
4
- module Inquisitio
5
- class DocumentTest < Minitest::Test
6
- def setup
7
- @type = 'add'
8
- @id = '12345'
9
- @version = 1
10
- @fields = { :title => 'The Title', :author => 'The Author' }
11
- @document = Document.new(@type, @id, @version, @fields)
12
-
13
- @expected_SDF =
14
- <<-EOS
15
- { "type": "add",
16
- "id": "12345",
17
- "version": 1,
18
- "lang": "en",
19
- "fields": {
20
- "title": "The Title",
21
- "author": "The Author"
22
- }
23
- }
24
- EOS
25
- end
26
-
27
- def test_initialization_sets_type
28
- assert_equal @type, @document.type
29
- end
30
-
31
- def test_initialization_sets_id
32
- assert_equal @id, @document.id
33
- end
34
-
35
- def test_initialization_sets_version
36
- assert_equal @version, @document.version
37
- end
38
-
39
- def test_initialization_sets_fields
40
- assert_equal @fields, @document.fields
41
- end
42
-
43
- def test_create_valid_SDF_json
44
- assert_equal JSON.parse(@expected_SDF).to_json,
45
- JSON.parse(@document.to_SDF).to_json
46
- end
47
-
48
- def test_should_ignore_null_field_values_when_creating_SDF_json
49
- expected_SDF =
50
- <<-EOS
51
- { "type": "add",
52
- "id": "12345",
53
- "version": 1,
54
- "lang": "en",
55
- "fields": {
56
- "title": "The Title"
57
- }
58
- }
59
- EOS
60
-
61
- fields = { :title => 'The Title', :author => nil }
62
- document = Document.new(@type, @id, @version, fields)
63
-
64
- assert_equal JSON.parse(expected_SDF).to_json,
65
- JSON.parse(document.to_SDF).to_json
66
- end
67
- end
68
- end