qa_server 0.1.99
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +71 -0
- data/Gemfile +55 -0
- data/Gemfile.lock +411 -0
- data/LICENSE +201 -0
- data/README.md +187 -0
- data/Rakefile +18 -0
- data/app/assets/images/qa_server/LD4L-bg.png +0 -0
- data/app/assets/images/qa_server/cornell-reduced-white.svg +160 -0
- data/app/assets/images/qa_server/iowa-logo.png +0 -0
- data/app/assets/images/qa_server/samvera-fall-font1-1000w-light.png +0 -0
- data/app/assets/javascripts/qa_server.js +0 -0
- data/app/assets/stylesheets/qa_server/_authorities.scss +0 -0
- data/app/assets/stylesheets/qa_server/_check-status.scss +72 -0
- data/app/assets/stylesheets/qa_server/_footer.scss +20 -0
- data/app/assets/stylesheets/qa_server/_header.scss +51 -0
- data/app/assets/stylesheets/qa_server/_home-page.scss +15 -0
- data/app/assets/stylesheets/qa_server/_monitor-status.scss +13 -0
- data/app/assets/stylesheets/qa_server/_qa_server.scss +36 -0
- data/app/assets/stylesheets/qa_server/_styles.scss +27 -0
- data/app/assets/stylesheets/qa_server/_usage.scss +0 -0
- data/app/controllers/qa_server/authority_list_controller.rb +14 -0
- data/app/controllers/qa_server/authority_validation_controller.rb +77 -0
- data/app/controllers/qa_server/check_status_controller.rb +38 -0
- data/app/controllers/qa_server/homepage_controller.rb +8 -0
- data/app/controllers/qa_server/monitor_status_controller.rb +79 -0
- data/app/controllers/qa_server/usage_controller.rb +8 -0
- data/app/loggers/qa_server/scenario_logger.rb +84 -0
- data/app/models/qa_server/authority_scenario.rb +35 -0
- data/app/models/qa_server/authority_status.rb +18 -0
- data/app/models/qa_server/authority_status_failure.rb +7 -0
- data/app/models/qa_server/scenarios.rb +71 -0
- data/app/models/qa_server/search_scenario.rb +58 -0
- data/app/models/qa_server/term_scenario.rb +50 -0
- data/app/presenters/qa_server/authority_list_presenter.rb +22 -0
- data/app/presenters/qa_server/check_status_presenter.rb +96 -0
- data/app/presenters/qa_server/monitor_status_presenter.rb +108 -0
- data/app/services/qa_server/authority_lister_service.rb +31 -0
- data/app/services/qa_server/authority_loader_service.rb +38 -0
- data/app/services/qa_server/authority_validator_service.rb +41 -0
- data/app/services/qa_server/database_migrator.rb +70 -0
- data/app/services/qa_server/scenarios_loader_service.rb +57 -0
- data/app/validators/qa_server/scenario_validator.rb +134 -0
- data/app/validators/qa_server/search_scenario_validator.rb +84 -0
- data/app/validators/qa_server/term_scenario_validator.rb +42 -0
- data/app/views/layouts/qa_server.html.erb +65 -0
- data/app/views/qa_server/authority_list/index.html.erb +27 -0
- data/app/views/qa_server/check_status/index.html.erb +104 -0
- data/app/views/qa_server/homepage/index.html.erb +10 -0
- data/app/views/qa_server/monitor_status/index.html.erb +78 -0
- data/app/views/qa_server/usage/index.html.erb +106 -0
- data/app/views/shared/_footer.html.erb +24 -0
- data/config/locales/qa_server.en.yml +68 -0
- data/config/routes.rb +12 -0
- data/lib/generators/qa_server/assets_generator.rb +35 -0
- data/lib/generators/qa_server/config_generator.rb +31 -0
- data/lib/generators/qa_server/install_generator.rb +60 -0
- data/lib/generators/qa_server/models_generator.rb +18 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/agrovoc_direct.json +69 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/agrovoc_ld4l_cache.json +85 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/dbpedia_direct.json +36 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/dbpedia_ld4l_cache.json +83 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/geonames_direct.json +68 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/geonames_ld4l_cache.json +102 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json +109 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +72 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json +81 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/loc_direct.json +47 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locgenres_ld4l_cache.json +99 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_ld4l_cache.json +89 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locsubjects_ld4l_cache.json +82 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_ld4l_cache.json +70 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/nalt_direct.json +32 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/nalt_ld4l_cache.json +84 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json +81 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +86 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_direct_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_ld4l_cache_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_direct_validation.yml +6 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_ld4l_cache_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_direct_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml +41 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml +115 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml +15 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_direct_validation.yml +25 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_validation.yml +22 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml +99 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +27 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml +27 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_ld4l_cache_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_direct_validation.yml +6 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml +9 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclc_fast_validation.yml +58 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml +58 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml +30 -0
- data/lib/generators/qa_server/templates/config/locales/qa_server.en.yml +9 -0
- data/lib/generators/qa_server/templates/db/migrate/20180313045551_create_cron_authority_status.rb.erb +9 -0
- data/lib/generators/qa_server/templates/db/migrate/20180508045549_rename_cron_authority_status_to_authority_status.rb.erb +5 -0
- data/lib/generators/qa_server/templates/db/migrate/20180508045551_create_authority_status_failure.rb.erb +15 -0
- data/lib/generators/qa_server/templates/qa_server.scss +5 -0
- data/lib/qa_server/engine.rb +19 -0
- data/lib/qa_server/version.rb +3 -0
- data/lib/qa_server.rb +6 -0
- data/lib/tasks/install.rake +8 -0
- data/lib/tasks/qa_server_tasks.rake +4 -0
- data/qa_server.gemspec +39 -0
- data/spec/.gitignore +1 -0
- data/spec/rails_helper.rb +2 -0
- data/spec/spec_helper.rb +283 -0
- data/spec/test_app_templates/Gemfile.extra +5 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +15 -0
- data/tasks/qa_server_dev.rake +16 -0
- metadata +275 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,283 @@
|
|
1
|
+
ENV["RAILS_ENV"] ||= 'test'
|
2
|
+
require "bundler/setup"
|
3
|
+
|
4
|
+
def coverage_needed?
|
5
|
+
ENV['COVERAGE'] || ENV['TRAVIS']
|
6
|
+
end
|
7
|
+
|
8
|
+
if coverage_needed?
|
9
|
+
require 'simplecov'
|
10
|
+
require 'coveralls'
|
11
|
+
SimpleCov.root(File.expand_path('../..', __FILE__))
|
12
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
13
|
+
SimpleCov.start('rails') do
|
14
|
+
add_filter '/.internal_test_app'
|
15
|
+
add_filter '/lib/generators'
|
16
|
+
add_filter '/spec'
|
17
|
+
add_filter '/tasks'
|
18
|
+
add_filter '/lib/qa_server/version.rb'
|
19
|
+
add_filter '/lib/qa_server/engine.rb'
|
20
|
+
end
|
21
|
+
SimpleCov.command_name 'spec'
|
22
|
+
end
|
23
|
+
|
24
|
+
require 'factory_bot'
|
25
|
+
require 'engine_cart'
|
26
|
+
EngineCart.load_application!
|
27
|
+
|
28
|
+
# require 'devise'
|
29
|
+
# require 'devise/version'
|
30
|
+
# require 'mida'
|
31
|
+
require 'rails-controller-testing'
|
32
|
+
require 'rspec/rails'
|
33
|
+
require 'rspec/its'
|
34
|
+
require 'rspec/matchers'
|
35
|
+
require 'rspec/active_model/mocks'
|
36
|
+
require 'capybara/rspec'
|
37
|
+
require 'capybara/rails'
|
38
|
+
require 'selenium-webdriver'
|
39
|
+
# require 'equivalent-xml'
|
40
|
+
# require 'equivalent-xml/rspec_matchers'
|
41
|
+
# require 'database_cleaner' # TODO: Explore whether to include database cleaner
|
42
|
+
|
43
|
+
unless ENV['SKIP_MALEFICENT']
|
44
|
+
# See https://github.com/jeremyf/capybara-maleficent
|
45
|
+
# Wrap Capybara matchers with sleep intervals to reduce fragility of specs.
|
46
|
+
require 'capybara/maleficent/spindle'
|
47
|
+
|
48
|
+
Capybara::Maleficent.config do |c|
|
49
|
+
# Quieting down maleficent's logging
|
50
|
+
logger = Logger.new(STDOUT)
|
51
|
+
logger.level = Logger::INFO
|
52
|
+
c.logger = logger
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# Require supporting ruby files from spec/support/ and subdirectories. Note: engine, not Rails.root context.
|
57
|
+
Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each { |f| require f }
|
58
|
+
|
59
|
+
require 'webmock/rspec'
|
60
|
+
WebMock.disable_net_connect!(allow_localhost: true)
|
61
|
+
|
62
|
+
require 'i18n/debug' if ENV['I18N_DEBUG']
|
63
|
+
require 'byebug' unless ENV['TRAVIS']
|
64
|
+
|
65
|
+
# @note In January 2018, TravisCI disabled Chrome sandboxing in its Linux
|
66
|
+
# container build environments to mitigate Meltdown/Spectre
|
67
|
+
# vulnerabilities, at which point Qa Server could no longer use the
|
68
|
+
# Capybara-provided :selenium_chrome_headless driver (which does not
|
69
|
+
# include the `--no-sandbox` argument).
|
70
|
+
Capybara.register_driver :selenium_chrome_headless_sandboxless do |app|
|
71
|
+
browser_options = ::Selenium::WebDriver::Chrome::Options.new
|
72
|
+
browser_options.args << '--headless'
|
73
|
+
browser_options.args << '--disable-gpu'
|
74
|
+
browser_options.args << '--no-sandbox'
|
75
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
|
76
|
+
end
|
77
|
+
|
78
|
+
Capybara.default_driver = :rack_test # This is a faster driver
|
79
|
+
Capybara.javascript_driver = :selenium_chrome_headless_sandboxless # This is slower
|
80
|
+
|
81
|
+
# ActiveJob::Base.queue_adapter = :test
|
82
|
+
|
83
|
+
# require 'http_logger'
|
84
|
+
# HttpLogger.logger = Logger.new(STDOUT)
|
85
|
+
# HttpLogger.ignore = [/localhost:8983\/solr/]
|
86
|
+
# HttpLogger.colorize = false
|
87
|
+
|
88
|
+
# if defined?(ClamAV)
|
89
|
+
# ClamAV.instance.loaddb
|
90
|
+
# else
|
91
|
+
# class ClamAV
|
92
|
+
# include Singleton
|
93
|
+
# def scanfile(_f)
|
94
|
+
# 0
|
95
|
+
# end
|
96
|
+
#
|
97
|
+
# def loaddb
|
98
|
+
# nil
|
99
|
+
# end
|
100
|
+
# end
|
101
|
+
# end
|
102
|
+
|
103
|
+
# class JsonStrategy
|
104
|
+
# def initialize
|
105
|
+
# @strategy = FactoryBot.strategy_by_name(:create).new
|
106
|
+
# end
|
107
|
+
#
|
108
|
+
# delegate :association, to: :@strategy
|
109
|
+
#
|
110
|
+
# def result(evaluation)
|
111
|
+
# @strategy.result(evaluation).to_json
|
112
|
+
# end
|
113
|
+
# end
|
114
|
+
#
|
115
|
+
# FactoryBot.register_strategy(:json, JsonStrategy)
|
116
|
+
# FactoryBot.definition_file_paths = [File.expand_path("../factories", __FILE__)]
|
117
|
+
# FactoryBot.find_definitions
|
118
|
+
|
119
|
+
module EngineRoutes
|
120
|
+
def self.included(base)
|
121
|
+
base.routes { QaServer::Engine.routes }
|
122
|
+
end
|
123
|
+
|
124
|
+
def main_app
|
125
|
+
Rails.application.class.routes.url_helpers
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# require 'shoulda/matchers'
|
130
|
+
# require 'shoulda/callback/matchers'
|
131
|
+
# Shoulda::Matchers.configure do |config|
|
132
|
+
# config.integrate do |with|
|
133
|
+
# with.test_framework :rspec
|
134
|
+
# with.library :rails
|
135
|
+
# end
|
136
|
+
# end
|
137
|
+
|
138
|
+
# require 'active_fedora/cleaner'
|
139
|
+
# RSpec.configure do |config|
|
140
|
+
# config.disable_monkey_patching!
|
141
|
+
# config.include Shoulda::Matchers::ActiveRecord, type: :model
|
142
|
+
# config.include Shoulda::Matchers::ActiveModel, type: :form
|
143
|
+
# config.include Shoulda::Callback::Matchers::ActiveModel
|
144
|
+
# config.full_backtrace = true if ENV['TRAVIS']
|
145
|
+
# config.expect_with :rspec do |c|
|
146
|
+
# c.syntax = :expect
|
147
|
+
# end
|
148
|
+
#
|
149
|
+
# # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
150
|
+
# config.fixture_path = File.expand_path("../fixtures", __FILE__)
|
151
|
+
#
|
152
|
+
# config.use_transactional_fixtures = false
|
153
|
+
#
|
154
|
+
# config.before :suite do
|
155
|
+
# DatabaseCleaner.clean_with(:truncation)
|
156
|
+
# # Noid minting causes extra LDP requests which slow the test suite.
|
157
|
+
# QaServer.config.enable_noids = false
|
158
|
+
# end
|
159
|
+
#
|
160
|
+
# config.before do |example|
|
161
|
+
# if example.metadata[:type] == :feature && Capybara.current_driver != :rack_test
|
162
|
+
# DatabaseCleaner.strategy = :truncation
|
163
|
+
# else
|
164
|
+
# DatabaseCleaner.strategy = :transaction
|
165
|
+
# DatabaseCleaner.start
|
166
|
+
# end
|
167
|
+
#
|
168
|
+
# # using :workflow is preferable to :clean_repo, use the former if possible
|
169
|
+
# # It's important that this comes after DatabaseCleaner.start
|
170
|
+
# ensure_deposit_available_for(user) if example.metadata[:workflow]
|
171
|
+
# if example.metadata[:clean_repo]
|
172
|
+
# ActiveFedora::Cleaner.clean!
|
173
|
+
# # The JS is executed in a different thread, so that other thread
|
174
|
+
# # may think the root path has already been created:
|
175
|
+
# ActiveFedora.fedora.connection.send(:init_base_path) if example.metadata[:js]
|
176
|
+
# end
|
177
|
+
# QaServer.config.nested_relationship_reindexer = if example.metadata[:with_nested_reindexing]
|
178
|
+
# # Use the default relationship reindexer (and the cascading reindexing of child documents)
|
179
|
+
# QaServer.config.default_nested_relationship_reindexer
|
180
|
+
# else
|
181
|
+
# # Don't use the nested relationship reindexer. This slows everything down quite a bit.
|
182
|
+
# ->(id:, extent:) {}
|
183
|
+
# end
|
184
|
+
# end
|
185
|
+
|
186
|
+
# config.include(ControllerLevelHelpers, type: :view)
|
187
|
+
# config.before(:each, type: :view) { initialize_controller_helpers(view) }
|
188
|
+
#
|
189
|
+
# config.before(:all, type: :feature) do
|
190
|
+
# # Assets take a long time to compile. This causes two problems:
|
191
|
+
# # 1) the profile will show the first feature test taking much longer than it
|
192
|
+
# # normally would.
|
193
|
+
# # 2) The first feature test will trigger rack-timeout
|
194
|
+
# #
|
195
|
+
# # Precompile the assets to prevent these issues.
|
196
|
+
# visit "/assets/application.css"
|
197
|
+
# visit "/assets/application.js"
|
198
|
+
# end
|
199
|
+
#
|
200
|
+
# config.after do
|
201
|
+
# DatabaseCleaner.clean
|
202
|
+
# end
|
203
|
+
#
|
204
|
+
# # If true, the base class of anonymous controllers will be inferred
|
205
|
+
# # automatically. This will be the default behavior in future versions of
|
206
|
+
# # rspec-rails.
|
207
|
+
# config.infer_base_class_for_anonymous_controllers = false
|
208
|
+
#
|
209
|
+
# config.include Shoulda::Matchers::Independent
|
210
|
+
#
|
211
|
+
# if Devise::VERSION >= '4.2'
|
212
|
+
# config.include Devise::Test::ControllerHelpers, type: :controller
|
213
|
+
# else
|
214
|
+
# config.include Devise::TestHelpers, type: :controller
|
215
|
+
# end
|
216
|
+
#
|
217
|
+
# config.include EngineRoutes, type: :controller
|
218
|
+
# config.include Warden::Test::Helpers, type: :request
|
219
|
+
# config.include Warden::Test::Helpers, type: :feature
|
220
|
+
# config.after(:each, type: :feature) do
|
221
|
+
# Warden.test_reset!
|
222
|
+
# Capybara.reset_sessions!
|
223
|
+
# page.driver.reset!
|
224
|
+
# end
|
225
|
+
#
|
226
|
+
# config.include Capybara::RSpecMatchers, type: :input
|
227
|
+
# config.include InputSupport, type: :input
|
228
|
+
# config.include FactoryBot::Syntax::Methods
|
229
|
+
# config.include OptionalExample
|
230
|
+
#
|
231
|
+
# config.infer_spec_type_from_file_location!
|
232
|
+
#
|
233
|
+
# config.expect_with :rspec do |expectations|
|
234
|
+
# expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
235
|
+
# end
|
236
|
+
#
|
237
|
+
# config.formatter = 'LoggingFormatter'
|
238
|
+
# config.default_formatter = 'doc' if config.files_to_run.one?
|
239
|
+
#
|
240
|
+
# config.order = :random
|
241
|
+
# Kernel.srand config.seed
|
242
|
+
#
|
243
|
+
# config.shared_context_metadata_behavior = :apply_to_host_groups
|
244
|
+
#
|
245
|
+
# config.filter_run_when_matching :focus
|
246
|
+
#
|
247
|
+
# config.example_status_persistence_file_path = 'spec/examples.txt'
|
248
|
+
#
|
249
|
+
# config.profile_examples = 10
|
250
|
+
#
|
251
|
+
# # Use this example metadata when you want to perform jobs inline during testing.
|
252
|
+
# #
|
253
|
+
# # describe '#my_method`, :perform_enqueued do
|
254
|
+
# # ...
|
255
|
+
# # end
|
256
|
+
# #
|
257
|
+
# # If you pass an `Array` of job classes, they will be treated as the filter list.
|
258
|
+
# #
|
259
|
+
# # describe '#my_method`, perform_enqueued: [MyJobClass] do
|
260
|
+
# # ...
|
261
|
+
# # end
|
262
|
+
# #
|
263
|
+
# # Limit to specific job classes with:
|
264
|
+
# #
|
265
|
+
# # ActiveJob::Base.queue_adapter.filter = [JobClass]
|
266
|
+
# #
|
267
|
+
# config.before(:example, :perform_enqueued) do |example|
|
268
|
+
# ActiveJob::Base.queue_adapter.filter =
|
269
|
+
# example.metadata[:perform_enqueued].try(:to_a)
|
270
|
+
#
|
271
|
+
# ActiveJob::Base.queue_adapter.perform_enqueued_jobs = true
|
272
|
+
# ActiveJob::Base.queue_adapter.perform_enqueued_at_jobs = true
|
273
|
+
# end
|
274
|
+
#
|
275
|
+
# config.after(:example, :perform_enqueued) do
|
276
|
+
# ActiveJob::Base.queue_adapter.filter = nil
|
277
|
+
# ActiveJob::Base.queue_adapter.enqueued_jobs = []
|
278
|
+
# ActiveJob::Base.queue_adapter.performed_jobs = []
|
279
|
+
#
|
280
|
+
# ActiveJob::Base.queue_adapter.perform_enqueued_jobs = false
|
281
|
+
# ActiveJob::Base.queue_adapter.perform_enqueued_at_jobs = false
|
282
|
+
# end
|
283
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
class TestAppGenerator < Rails::Generators::Base
|
4
|
+
# Generator is executed from /path/to/qa_server/.internal_test_app/lib/generators/test_app_generator/
|
5
|
+
# so the following path gets us to /path/to/qa_server/spec/test_app_templates/
|
6
|
+
source_root File.expand_path('../../../../spec/test_app_templates/', __FILE__)
|
7
|
+
|
8
|
+
def install_engine
|
9
|
+
generate 'qa_server:install', '-f'
|
10
|
+
end
|
11
|
+
|
12
|
+
def banner
|
13
|
+
say_status("info", "ADDING OVERRIDES FOR TEST ENVIRONMENT", :blue)
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rspec/core/rake_task'
|
2
|
+
require 'engine_cart/rake_task'
|
3
|
+
require 'rubocop/rake_task'
|
4
|
+
|
5
|
+
desc 'Run style checker'
|
6
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
7
|
+
task.fail_on_error = true
|
8
|
+
end
|
9
|
+
|
10
|
+
RSpec::Core::RakeTask.new(:spec)
|
11
|
+
|
12
|
+
desc 'Generate the engine_cart and spin up test servers and run specs'
|
13
|
+
task ci: ['rubocop', 'engine_cart:generate'] do
|
14
|
+
puts 'running continuous integration'
|
15
|
+
Rake::Task['spec_with_app_load'].invoke
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,275 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: qa_server
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.99
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- E. Lynette Rayle
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-08-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 5.1.6
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 5.1.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: qa
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: linkeddata
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bixby
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.0.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: engine_cart
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-activemodel-mocks
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec-its
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.1'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.1'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rspec-rails
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.1'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.1'
|
125
|
+
description: A rails engine with questioning authority gem installed to serve as an
|
126
|
+
authority search server with normalized results.
|
127
|
+
email:
|
128
|
+
- elr37@cornell.edu
|
129
|
+
executables: []
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files: []
|
132
|
+
files:
|
133
|
+
- ".gitignore"
|
134
|
+
- Gemfile
|
135
|
+
- Gemfile.lock
|
136
|
+
- LICENSE
|
137
|
+
- README.md
|
138
|
+
- Rakefile
|
139
|
+
- app/assets/images/qa_server/LD4L-bg.png
|
140
|
+
- app/assets/images/qa_server/cornell-reduced-white.svg
|
141
|
+
- app/assets/images/qa_server/iowa-logo.png
|
142
|
+
- app/assets/images/qa_server/samvera-fall-font1-1000w-light.png
|
143
|
+
- app/assets/javascripts/qa_server.js
|
144
|
+
- app/assets/stylesheets/qa_server/_authorities.scss
|
145
|
+
- app/assets/stylesheets/qa_server/_check-status.scss
|
146
|
+
- app/assets/stylesheets/qa_server/_footer.scss
|
147
|
+
- app/assets/stylesheets/qa_server/_header.scss
|
148
|
+
- app/assets/stylesheets/qa_server/_home-page.scss
|
149
|
+
- app/assets/stylesheets/qa_server/_monitor-status.scss
|
150
|
+
- app/assets/stylesheets/qa_server/_qa_server.scss
|
151
|
+
- app/assets/stylesheets/qa_server/_styles.scss
|
152
|
+
- app/assets/stylesheets/qa_server/_usage.scss
|
153
|
+
- app/controllers/qa_server/authority_list_controller.rb
|
154
|
+
- app/controllers/qa_server/authority_validation_controller.rb
|
155
|
+
- app/controllers/qa_server/check_status_controller.rb
|
156
|
+
- app/controllers/qa_server/homepage_controller.rb
|
157
|
+
- app/controllers/qa_server/monitor_status_controller.rb
|
158
|
+
- app/controllers/qa_server/usage_controller.rb
|
159
|
+
- app/loggers/qa_server/scenario_logger.rb
|
160
|
+
- app/models/qa_server/authority_scenario.rb
|
161
|
+
- app/models/qa_server/authority_status.rb
|
162
|
+
- app/models/qa_server/authority_status_failure.rb
|
163
|
+
- app/models/qa_server/scenarios.rb
|
164
|
+
- app/models/qa_server/search_scenario.rb
|
165
|
+
- app/models/qa_server/term_scenario.rb
|
166
|
+
- app/presenters/qa_server/authority_list_presenter.rb
|
167
|
+
- app/presenters/qa_server/check_status_presenter.rb
|
168
|
+
- app/presenters/qa_server/monitor_status_presenter.rb
|
169
|
+
- app/services/qa_server/authority_lister_service.rb
|
170
|
+
- app/services/qa_server/authority_loader_service.rb
|
171
|
+
- app/services/qa_server/authority_validator_service.rb
|
172
|
+
- app/services/qa_server/database_migrator.rb
|
173
|
+
- app/services/qa_server/scenarios_loader_service.rb
|
174
|
+
- app/validators/qa_server/scenario_validator.rb
|
175
|
+
- app/validators/qa_server/search_scenario_validator.rb
|
176
|
+
- app/validators/qa_server/term_scenario_validator.rb
|
177
|
+
- app/views/layouts/qa_server.html.erb
|
178
|
+
- app/views/qa_server/authority_list/index.html.erb
|
179
|
+
- app/views/qa_server/check_status/index.html.erb
|
180
|
+
- app/views/qa_server/homepage/index.html.erb
|
181
|
+
- app/views/qa_server/monitor_status/index.html.erb
|
182
|
+
- app/views/qa_server/usage/index.html.erb
|
183
|
+
- app/views/shared/_footer.html.erb
|
184
|
+
- config/locales/qa_server.en.yml
|
185
|
+
- config/routes.rb
|
186
|
+
- lib/generators/qa_server/assets_generator.rb
|
187
|
+
- lib/generators/qa_server/config_generator.rb
|
188
|
+
- lib/generators/qa_server/install_generator.rb
|
189
|
+
- lib/generators/qa_server/models_generator.rb
|
190
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/agrovoc_direct.json
|
191
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/agrovoc_ld4l_cache.json
|
192
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/dbpedia_direct.json
|
193
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/dbpedia_ld4l_cache.json
|
194
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/geonames_direct.json
|
195
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/geonames_ld4l_cache.json
|
196
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json
|
197
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json
|
198
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json
|
199
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/loc_direct.json
|
200
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locgenres_ld4l_cache.json
|
201
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locnames_ld4l_cache.json
|
202
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locsubjects_ld4l_cache.json
|
203
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/mesh_ld4l_cache.json
|
204
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/nalt_direct.json
|
205
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/nalt_ld4l_cache.json
|
206
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json
|
207
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json
|
208
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_direct_validation.yml
|
209
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_ld4l_cache_validation.yml
|
210
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_validation.yml
|
211
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_direct_validation.yml
|
212
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_ld4l_cache_validation.yml
|
213
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_direct_validation.yml
|
214
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml
|
215
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml
|
216
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml
|
217
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml
|
218
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_direct_validation.yml
|
219
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_validation.yml
|
220
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml
|
221
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml
|
222
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml
|
223
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_ld4l_cache_validation.yml
|
224
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_direct_validation.yml
|
225
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml
|
226
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclc_fast_validation.yml
|
227
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml
|
228
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml
|
229
|
+
- lib/generators/qa_server/templates/config/locales/qa_server.en.yml
|
230
|
+
- lib/generators/qa_server/templates/db/migrate/20180313045551_create_cron_authority_status.rb.erb
|
231
|
+
- lib/generators/qa_server/templates/db/migrate/20180508045549_rename_cron_authority_status_to_authority_status.rb.erb
|
232
|
+
- lib/generators/qa_server/templates/db/migrate/20180508045551_create_authority_status_failure.rb.erb
|
233
|
+
- lib/generators/qa_server/templates/qa_server.scss
|
234
|
+
- lib/qa_server.rb
|
235
|
+
- lib/qa_server/engine.rb
|
236
|
+
- lib/qa_server/version.rb
|
237
|
+
- lib/tasks/install.rake
|
238
|
+
- lib/tasks/qa_server_tasks.rake
|
239
|
+
- qa_server.gemspec
|
240
|
+
- spec/.gitignore
|
241
|
+
- spec/rails_helper.rb
|
242
|
+
- spec/spec_helper.rb
|
243
|
+
- spec/test_app_templates/Gemfile.extra
|
244
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
245
|
+
- tasks/qa_server_dev.rake
|
246
|
+
homepage: http://github.com/LD4P/qa_server
|
247
|
+
licenses:
|
248
|
+
- Apache-2.0
|
249
|
+
metadata: {}
|
250
|
+
post_install_message:
|
251
|
+
rdoc_options: []
|
252
|
+
require_paths:
|
253
|
+
- lib
|
254
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
255
|
+
requirements:
|
256
|
+
- - ">="
|
257
|
+
- !ruby/object:Gem::Version
|
258
|
+
version: '0'
|
259
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
260
|
+
requirements:
|
261
|
+
- - ">="
|
262
|
+
- !ruby/object:Gem::Version
|
263
|
+
version: '0'
|
264
|
+
requirements: []
|
265
|
+
rubyforge_project:
|
266
|
+
rubygems_version: 2.6.14
|
267
|
+
signing_key:
|
268
|
+
specification_version: 4
|
269
|
+
summary: Authority Lookup Server
|
270
|
+
test_files:
|
271
|
+
- spec/.gitignore
|
272
|
+
- spec/rails_helper.rb
|
273
|
+
- spec/spec_helper.rb
|
274
|
+
- spec/test_app_templates/Gemfile.extra
|
275
|
+
- spec/test_app_templates/lib/generators/test_app_generator.rb
|