exlibris-primo 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +38 -0
- data/lib/exlibris-primo.rb +11 -0
- data/lib/exlibris/primo/holding.rb +185 -0
- data/lib/exlibris/primo/related_link.rb +19 -0
- data/lib/exlibris/primo/rsrc.rb +19 -0
- data/lib/exlibris/primo/searcher.rb +292 -0
- data/lib/exlibris/primo/source/aleph.rb +50 -0
- data/lib/exlibris/primo/toc.rb +19 -0
- data/lib/exlibris/primo/version.rb +5 -0
- data/lib/exlibris/primo/web_service.rb +145 -0
- data/lib/tasks/exlibris-primo_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +56 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +410 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/exlibris-primo_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- data/test/unit/searcher_benchmarks.rb +82 -0
- data/test/unit/searcher_test.rb +383 -0
- data/test/unit/web_service_benchmarks.rb +60 -0
- data/test/unit/web_service_test.rb +124 -0
- metadata +174 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class WebServiceBenchmarks < ActiveSupport::TestCase
|
4
|
+
PNX_NS = {'pnx' => 'http://www.exlibrisgroup.com/xsd/primo/primo_nm_bib'}
|
5
|
+
SEARCH_NS = {'search' => 'http://www.exlibrisgroup.com/xsd/jaguar/search'}
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@primo_definition = YAML.load( %{
|
9
|
+
type: PrimoService
|
10
|
+
priority: 2 # After SFX, to get SFX metadata enhancement
|
11
|
+
status: active
|
12
|
+
base_url: http://bobcat.library.nyu.edu
|
13
|
+
vid: NYU
|
14
|
+
institution: NYU
|
15
|
+
holding_search_institution: NYU
|
16
|
+
holding_search_text: Search for this title in BobCat.
|
17
|
+
suppress_holdings: [ !ruby/regexp '/\$\$LBWEB/', !ruby/regexp '/\$\$LNWEB/', !ruby/regexp '/\$\$LTWEB/', !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ]
|
18
|
+
ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.nyu\.edu\/login\?url=/'
|
19
|
+
service_types:
|
20
|
+
- primo_source
|
21
|
+
- holding_search
|
22
|
+
- fulltext
|
23
|
+
- table_of_contents
|
24
|
+
- referent_enhance
|
25
|
+
- cover_image
|
26
|
+
})
|
27
|
+
|
28
|
+
@base_url = @primo_definition["base_url"]
|
29
|
+
@bogus_404_url = "http://library.nyu.edu/bogus"
|
30
|
+
@bogus_200_url = "http://library.nyu.edu"
|
31
|
+
@primo_test_doc_id = "nyu_aleph000062856"
|
32
|
+
@primo_invalid_doc_id = "thisIsNotAValidDocId"
|
33
|
+
@primo_test_problem_doc_id = "nyu_aleph000509288"
|
34
|
+
@isbn_search_params = {:isbn => "0143039008"}
|
35
|
+
@issn_search_params = {:issn => "0090-5720"}
|
36
|
+
@title_search_params = {:title => "Travels with My Aunt"}
|
37
|
+
@author_search_params = {:author => "Graham Greene"}
|
38
|
+
@title_author_genre_search_params = {:title => "Travels with My Aunt", :author => "Graham Greene", :genre => "Book"}
|
39
|
+
end
|
40
|
+
|
41
|
+
test "benchmarks" do
|
42
|
+
Benchmark.bmbm do |results|
|
43
|
+
results.report("Get Record:") {
|
44
|
+
(1..10).each {
|
45
|
+
get_record = Exlibris::Primo::WebService::GetRecord.new(@primo_test_doc_id, @base_url)
|
46
|
+
}
|
47
|
+
}
|
48
|
+
results.report("SearchBrief by ISBN:") {
|
49
|
+
(1..10).each {
|
50
|
+
get_record = Exlibris::Primo::WebService::SearchBrief.new(@isbn_search_params, @base_url)
|
51
|
+
}
|
52
|
+
}
|
53
|
+
results.report("SearchBrief by title:") {
|
54
|
+
(1..10).each {
|
55
|
+
get_record = Exlibris::Primo::WebService::SearchBrief.new(@title_search_params, @base_url)
|
56
|
+
}
|
57
|
+
}
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class WebServiceTest < ActiveSupport::TestCase
|
4
|
+
PNX_NS = {'pnx' => 'http://www.exlibrisgroup.com/xsd/primo/primo_nm_bib'}
|
5
|
+
SEARCH_NS = {'search' => 'http://www.exlibrisgroup.com/xsd/jaguar/search'}
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@primo_definition = YAML.load( %{
|
9
|
+
type: PrimoService
|
10
|
+
priority: 2 # After SFX, to get SFX metadata enhancement
|
11
|
+
status: active
|
12
|
+
base_url: http://bobcat.library.nyu.edu
|
13
|
+
vid: NYU
|
14
|
+
institution: NYU
|
15
|
+
holding_search_institution: NYU
|
16
|
+
holding_search_text: Search for this title in BobCat.
|
17
|
+
suppress_holdings: [ !ruby/regexp '/\$\$LBWEB/', !ruby/regexp '/\$\$LNWEB/', !ruby/regexp '/\$\$LTWEB/', !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ]
|
18
|
+
ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.nyu\.edu\/login\?url=/'
|
19
|
+
service_types:
|
20
|
+
- primo_source
|
21
|
+
- holding_search
|
22
|
+
- fulltext
|
23
|
+
- table_of_contents
|
24
|
+
- referent_enhance
|
25
|
+
- cover_image
|
26
|
+
})
|
27
|
+
|
28
|
+
@base_url = @primo_definition["base_url"]
|
29
|
+
@bogus_404_url = "http://library.nyu.edu/bogus"
|
30
|
+
@bogus_200_url = "http://library.nyu.edu"
|
31
|
+
@primo_test_doc_id = "nyu_aleph000062856"
|
32
|
+
@primo_invalid_doc_id = "thisIsNotAValidDocId"
|
33
|
+
@primo_test_problem_doc_id = "nyu_aleph000509288"
|
34
|
+
@isbn_search_params = {:isbn => "0143039008"}
|
35
|
+
@issn_search_params = {:issn => "0090-5720"}
|
36
|
+
@title_search_params = {:title => "Travels with My Aunt"}
|
37
|
+
@author_search_params = {:author => "Graham Greene"}
|
38
|
+
@title_author_genre_search_params = {:title => "Travels with My Aunt", :author => "Graham Greene", :genre => "Book"}
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_bogus_response
|
42
|
+
assert_raise(SOAP::HTTPStreamError) {
|
43
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_test_doc_id, @bogus_404_url)
|
44
|
+
}
|
45
|
+
assert_raise(SOAP::HTTPStreamError) {
|
46
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_test_doc_id, @bogus_200_url)
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
# Test GetRecord for a single Primo document.
|
51
|
+
def test_get_record
|
52
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_test_doc_id, @base_url)
|
53
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
54
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
55
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
56
|
+
assert_equal(@primo_test_doc_id, ws.response.at("//pnx:control/pnx:recordid", PNX_NS).inner_text, "#{ws.class} returned an unexpected record: #{ws.response.to_xml(:indent => 5, :encoding => 'UTF-8')}")
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_count_get_record
|
60
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_test_doc_id, @base_url)
|
61
|
+
assert_equal("1", ws.response.at("//search:DOCSET", SEARCH_NS)["TOTALHITS"])
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_count_search_brief
|
65
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@isbn_search_params, @base_url)
|
66
|
+
assert_equal("1", ws.response.at("//search:DOCSET", SEARCH_NS)["TOTALHITS"])
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_get_genre_discrepancy
|
70
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_test_problem_doc_id, @base_url)
|
71
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
72
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
73
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
74
|
+
assert_equal(@primo_test_problem_doc_id, ws.response.at("//pnx:control/pnx:recordid", PNX_NS).inner_text, "#{ws.class} returned an unexpected record: #{ws.response.to_xml(:indent => 5, :encoding => 'UTF-8')}")
|
75
|
+
assert_not_nil(ws.response.at("//pnx:display/pnx:availlibrary", PNX_NS).inner_text, "#{ws.class} returned an unexpected record: #{ws.response.to_xml(:indent => 5, :encoding => 'UTF-8')}")
|
76
|
+
end
|
77
|
+
|
78
|
+
# Test GetRecord with invalid Primo doc id.
|
79
|
+
def test_get_bogus_record
|
80
|
+
assert_raise(RuntimeError) {
|
81
|
+
ws = Exlibris::Primo::WebService::GetRecord.new(@primo_invalid_doc_id, @base_url)
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
# Test SearchBrief by isbn.
|
86
|
+
def test_isbn_search
|
87
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@isbn_search_params, @base_url)
|
88
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
89
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
90
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
91
|
+
end
|
92
|
+
|
93
|
+
# Test SearchBrief by issn.
|
94
|
+
def test_issn_search
|
95
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@issn_search_params, @base_url)
|
96
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
97
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
98
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
99
|
+
end
|
100
|
+
|
101
|
+
# Test SearchBrief by title.
|
102
|
+
def test_title_search
|
103
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@title_search_params, @base_url)
|
104
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
105
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
106
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
107
|
+
end
|
108
|
+
|
109
|
+
# Test SearchBrief by author.
|
110
|
+
def test_author_search
|
111
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@author_search_params, @base_url)
|
112
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
113
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
114
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
115
|
+
end
|
116
|
+
|
117
|
+
# Test SearchBrief by title/author/genre.
|
118
|
+
def test_title_author_genre_search
|
119
|
+
ws = Exlibris::Primo::WebService::SearchBrief.new(@title_author_genre_search_params, @base_url)
|
120
|
+
assert_not_nil(ws, "#{ws.class} returned nil when instantiated.")
|
121
|
+
assert_instance_of( Nokogiri::XML::Document, ws.response, "#{ws.class} response is an unexpected object: #{ws.response.class}")
|
122
|
+
assert_equal([], ws.error, "#{ws.class} encountered errors: #{ws.error}")
|
123
|
+
end
|
124
|
+
end
|
metadata
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: exlibris-primo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Scot Dalton
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-23 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
requirement: &2151859300 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.2.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2151859300
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: nokogiri
|
27
|
+
requirement: &2151857480 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2151857480
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: soap4r-ruby1.9
|
38
|
+
requirement: &2151856320 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *2151856320
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: sqlite3
|
49
|
+
requirement: &2151854780 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *2151854780
|
58
|
+
description: Library to work with Exlibris' Primo discovery system.
|
59
|
+
email:
|
60
|
+
- scotdalton@gmail.com
|
61
|
+
executables: []
|
62
|
+
extensions: []
|
63
|
+
extra_rdoc_files: []
|
64
|
+
files:
|
65
|
+
- lib/exlibris/primo/holding.rb
|
66
|
+
- lib/exlibris/primo/related_link.rb
|
67
|
+
- lib/exlibris/primo/rsrc.rb
|
68
|
+
- lib/exlibris/primo/searcher.rb
|
69
|
+
- lib/exlibris/primo/source/aleph.rb
|
70
|
+
- lib/exlibris/primo/toc.rb
|
71
|
+
- lib/exlibris/primo/version.rb
|
72
|
+
- lib/exlibris/primo/web_service.rb
|
73
|
+
- lib/exlibris-primo.rb
|
74
|
+
- lib/tasks/exlibris-primo_tasks.rake
|
75
|
+
- MIT-LICENSE
|
76
|
+
- Rakefile
|
77
|
+
- README.rdoc
|
78
|
+
- test/dummy/app/assets/javascripts/application.js
|
79
|
+
- test/dummy/app/assets/stylesheets/application.css
|
80
|
+
- test/dummy/app/controllers/application_controller.rb
|
81
|
+
- test/dummy/app/helpers/application_helper.rb
|
82
|
+
- test/dummy/app/views/layouts/application.html.erb
|
83
|
+
- test/dummy/config/application.rb
|
84
|
+
- test/dummy/config/boot.rb
|
85
|
+
- test/dummy/config/database.yml
|
86
|
+
- test/dummy/config/environment.rb
|
87
|
+
- test/dummy/config/environments/development.rb
|
88
|
+
- test/dummy/config/environments/production.rb
|
89
|
+
- test/dummy/config/environments/test.rb
|
90
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
91
|
+
- test/dummy/config/initializers/inflections.rb
|
92
|
+
- test/dummy/config/initializers/mime_types.rb
|
93
|
+
- test/dummy/config/initializers/secret_token.rb
|
94
|
+
- test/dummy/config/initializers/session_store.rb
|
95
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
96
|
+
- test/dummy/config/locales/en.yml
|
97
|
+
- test/dummy/config/routes.rb
|
98
|
+
- test/dummy/config.ru
|
99
|
+
- test/dummy/db/test.sqlite3
|
100
|
+
- test/dummy/log/test.log
|
101
|
+
- test/dummy/public/404.html
|
102
|
+
- test/dummy/public/422.html
|
103
|
+
- test/dummy/public/500.html
|
104
|
+
- test/dummy/public/favicon.ico
|
105
|
+
- test/dummy/Rakefile
|
106
|
+
- test/dummy/README.rdoc
|
107
|
+
- test/dummy/script/rails
|
108
|
+
- test/exlibris-primo_test.rb
|
109
|
+
- test/test_helper.rb
|
110
|
+
- test/unit/searcher_benchmarks.rb
|
111
|
+
- test/unit/searcher_test.rb
|
112
|
+
- test/unit/web_service_benchmarks.rb
|
113
|
+
- test/unit/web_service_test.rb
|
114
|
+
homepage: https://github.com/scotdalton/exlibris-primo
|
115
|
+
licenses: []
|
116
|
+
post_install_message:
|
117
|
+
rdoc_options: []
|
118
|
+
require_paths:
|
119
|
+
- lib
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
requirements: []
|
133
|
+
rubyforge_project:
|
134
|
+
rubygems_version: 1.8.15
|
135
|
+
signing_key:
|
136
|
+
specification_version: 3
|
137
|
+
summary: Library to work with Exlibris' Primo discovery system.
|
138
|
+
test_files:
|
139
|
+
- test/dummy/app/assets/javascripts/application.js
|
140
|
+
- test/dummy/app/assets/stylesheets/application.css
|
141
|
+
- test/dummy/app/controllers/application_controller.rb
|
142
|
+
- test/dummy/app/helpers/application_helper.rb
|
143
|
+
- test/dummy/app/views/layouts/application.html.erb
|
144
|
+
- test/dummy/config/application.rb
|
145
|
+
- test/dummy/config/boot.rb
|
146
|
+
- test/dummy/config/database.yml
|
147
|
+
- test/dummy/config/environment.rb
|
148
|
+
- test/dummy/config/environments/development.rb
|
149
|
+
- test/dummy/config/environments/production.rb
|
150
|
+
- test/dummy/config/environments/test.rb
|
151
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
152
|
+
- test/dummy/config/initializers/inflections.rb
|
153
|
+
- test/dummy/config/initializers/mime_types.rb
|
154
|
+
- test/dummy/config/initializers/secret_token.rb
|
155
|
+
- test/dummy/config/initializers/session_store.rb
|
156
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
157
|
+
- test/dummy/config/locales/en.yml
|
158
|
+
- test/dummy/config/routes.rb
|
159
|
+
- test/dummy/config.ru
|
160
|
+
- test/dummy/db/test.sqlite3
|
161
|
+
- test/dummy/log/test.log
|
162
|
+
- test/dummy/public/404.html
|
163
|
+
- test/dummy/public/422.html
|
164
|
+
- test/dummy/public/500.html
|
165
|
+
- test/dummy/public/favicon.ico
|
166
|
+
- test/dummy/Rakefile
|
167
|
+
- test/dummy/README.rdoc
|
168
|
+
- test/dummy/script/rails
|
169
|
+
- test/exlibris-primo_test.rb
|
170
|
+
- test/test_helper.rb
|
171
|
+
- test/unit/searcher_benchmarks.rb
|
172
|
+
- test/unit/searcher_test.rb
|
173
|
+
- test/unit/web_service_benchmarks.rb
|
174
|
+
- test/unit/web_service_test.rb
|