qa_server 7.4.0 → 7.7.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.
- checksums.yaml +5 -5
- data/.rubocop_fixme.yml +7 -0
- data/.travis.yml +4 -5
- data/CHANGELOG.md +45 -0
- data/Rakefile +1 -1
- data/app/assets/stylesheets/qa_server/_check-status.scss +36 -0
- data/app/cache_processors/qa_server/cache_expiry_service.rb +8 -8
- data/app/cache_processors/qa_server/job_id_cache.rb +4 -4
- data/app/cache_processors/qa_server/performance_cache.rb +34 -34
- data/app/cache_processors/qa_server/performance_day_graph_cache.rb +7 -7
- data/app/cache_processors/qa_server/performance_month_graph_cache.rb +7 -7
- data/app/cache_processors/qa_server/performance_year_graph_cache.rb +7 -7
- data/app/cache_processors/qa_server/scenario_history_cache.rb +7 -7
- data/app/cache_processors/qa_server/scenario_history_graph_cache.rb +7 -7
- data/app/cache_processors/qa_server/scenario_run_cache.rb +7 -7
- data/app/cache_processors/qa_server/scenario_run_failures_cache.rb +7 -7
- data/app/cache_processors/qa_server/scenario_run_summary_cache.rb +7 -7
- data/app/controllers/concerns/qa_server/authority_validation_behavior.rb +49 -44
- data/app/controllers/qa_server/check_status_controller.rb +92 -22
- data/app/controllers/qa_server/fetch_controller.rb +36 -36
- data/app/controllers/qa_server/monitor_status_controller.rb +106 -84
- data/app/jobs/qa_server/history_graph_job.rb +10 -10
- data/app/jobs/qa_server/monitor_tests_job.rb +17 -17
- data/app/jobs/qa_server/performance_day_graph_job.rb +21 -21
- data/app/jobs/qa_server/performance_month_graph_job.rb +21 -21
- data/app/jobs/qa_server/performance_per_byte_job.rb +56 -56
- data/app/jobs/qa_server/performance_year_graph_job.rb +21 -21
- data/app/loggers/qa_server/scenario_logger.rb +74 -4
- data/app/models/qa_server/authority_scenario.rb +4 -4
- data/app/models/qa_server/authority_status.rb +2 -2
- data/app/models/qa_server/authority_status_failure.rb +1 -1
- data/app/models/qa_server/performance_history.rb +2 -2
- data/app/models/qa_server/scenario_run_history.rb +63 -54
- data/app/models/qa_server/scenario_run_registry.rb +2 -2
- data/app/models/qa_server/scenarios.rb +26 -26
- data/app/models/qa_server/search_scenario.rb +24 -13
- data/app/models/qa_server/term_scenario.rb +29 -29
- data/app/prepends/prepended_linked_data/find_term.rb +40 -40
- data/app/prepends/prepended_linked_data/search_query.rb +36 -36
- data/app/prepends/prepended_rdf/rdf_graph.rb +7 -7
- data/app/presenters/concerns/qa_server/monitor_status/performance_datatable_behavior.rb +32 -32
- data/app/presenters/concerns/qa_server/monitor_status/performance_graph_behavior.rb +64 -64
- data/app/presenters/qa_server/check_status_presenter.rb +63 -7
- data/app/presenters/qa_server/monitor_status/current_status_presenter.rb +9 -8
- data/app/presenters/qa_server/monitor_status/history_presenter.rb +55 -4
- data/app/services/concerns/qa_server/gruff_graph.rb +16 -16
- data/app/services/qa_server/authority_loader_service.rb +14 -14
- data/app/services/qa_server/authority_validator_service.rb +1 -0
- data/app/services/qa_server/database_migrator.rb +14 -14
- data/app/services/qa_server/history_graphing_service.rb +30 -30
- data/app/services/qa_server/performance_calculator_service.rb +80 -80
- data/app/services/qa_server/performance_datatable_service.rb +35 -35
- data/app/services/qa_server/performance_graph_data_service.rb +27 -27
- data/app/services/qa_server/performance_graphing_service.rb +55 -55
- data/app/services/qa_server/performance_per_byte_calculator_service.rb +38 -38
- data/app/services/qa_server/performance_per_byte_data_service.rb +7 -7
- data/app/services/qa_server/scenarios_loader_service.rb +1 -1
- data/app/services/qa_server/time_period_service.rb +21 -21
- data/app/validators/qa_server/scenario_validator.rb +99 -87
- data/app/validators/qa_server/search_scenario_validator.rb +67 -61
- data/app/validators/qa_server/term_scenario_validator.rb +20 -15
- data/app/views/qa_server/check_status/index.html.erb +120 -24
- data/app/views/qa_server/monitor_status/_test_summary.html.erb +1 -1
- data/config/i18n-tasks.yml +133 -0
- data/config/locales/qa_server.en.yml +21 -5
- data/lib/generators/qa_server/assets_generator.rb +4 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/cerl_ld4l_cache.json +2 -2
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json +62 -1
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +45 -11
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json +104 -8
- data/lib/generators/qa_server/templates/config/authorities/linked_data/isni_ld4l_cache.json +90 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/ligatus_ld4l_cache.json +133 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo2_ld4l_cache.json +248 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo3_ld4l_cache.json +248 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo_ld4l_cache.json +4 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locvocabs_ld4l_cache.json +117 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json +135 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json +5 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +2 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_direct_validation.yml +31 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/agrovoc_ld4l_cache_validation.yml +31 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/cerl_ld4l_cache_validation.yml +24 -12
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/dbpedia_ld4l_cache_validation.yml +33 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_direct_validation.yml +35 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml +55 -5
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml +253 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml +31 -1
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml +38 -1
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/isni_ld4l_cache_validation.yml +10 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/ligatus_ld4l_cache_validation.yml +36 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locdemographics_ld4l_cache_validation.yml +69 -44
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml +22 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +65 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo2_ld4l_cache_validation.yml +78 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo3_ld4l_cache_validation.yml +73 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml +71 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locperformance_ld4l_cache_validation.yml +6 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml +30 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locvocabs_ld4l_cache_validation.yml +430 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_nlm_ld4l_cache_validation.yml +54 -1
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml +37 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclc_fast_validation.yml +71 -5
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml +73 -2
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml +73 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/rda_registry_ld4l_cache_validation.yml +307 -0
- data/lib/qa_server/configuration.rb +28 -24
- data/lib/qa_server/version.rb +1 -1
- data/qa_server.gemspec +6 -5
- data/spec/feature/accuracy_spec.rb +32 -0
- data/spec/i18n_spec.rb +35 -0
- data/spec/presenters/qa_server/monitor_status/history_presenter_spec.rb +81 -0
- data/spec/spec_helper.rb +4 -0
- metadata +65 -17
|
@@ -199,13 +199,17 @@ module QaServer
|
|
|
199
199
|
# Performance data is gathered on every incoming query. Basic stats are logged from QA. Full stats are logged
|
|
200
200
|
# by QaServer and can eat up logging realestate. To suppress the logging of details, set this config to true.
|
|
201
201
|
# @param [Boolean] do not log performance data details when true (defaults to false for backward compatibitily)
|
|
202
|
-
attr_writer :
|
|
203
|
-
def
|
|
204
|
-
return @
|
|
205
|
-
@
|
|
206
|
-
end
|
|
207
|
-
alias suppress_logging_performance_datails
|
|
202
|
+
attr_writer :suppress_logging_performance_details
|
|
203
|
+
def suppress_logging_performance_details?
|
|
204
|
+
return @suppress_logging_performance_details unless @suppress_logging_performance_details.nil?
|
|
205
|
+
@suppress_logging_performance_details ||= false
|
|
206
|
+
end
|
|
207
|
+
alias suppress_logging_performance_datails suppress_logging_performance_details?
|
|
208
|
+
alias suppress_logging_performance_datails? suppress_logging_performance_details?
|
|
209
|
+
alias suppress_logging_performance_datails= suppress_logging_performance_details=
|
|
208
210
|
deprecation_deprecate suppress_logging_performance_datails: "use #suppress_logging_performance_datails? instead"
|
|
211
|
+
deprecation_deprecate suppress_logging_performance_datails?: "use #suppress_logging_performance_details? instead"
|
|
212
|
+
# deprecation_deprecate suppress_logging_performance_datails=: "use #suppress_logging_performance_details= instead"
|
|
209
213
|
|
|
210
214
|
# Maximum amount of memory the performance cache can occupy before it is written to the database.
|
|
211
215
|
# @param [Integer] maximum size of performance cache before flushing
|
|
@@ -249,23 +253,23 @@ module QaServer
|
|
|
249
253
|
@monitor_logger ||= Logger.new(ENV['MONITOR_LOG_PATH'] || File.join("log", "monitor.log"))
|
|
250
254
|
end
|
|
251
255
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
256
|
+
private
|
|
257
|
+
|
|
258
|
+
def convert_size_to_bytes(size)
|
|
259
|
+
return if size.nil?
|
|
260
|
+
md = size.match(/^(?<num>\d+)\s?(?<unit>\w+)?$/)
|
|
261
|
+
return md[:num].to_i if md[:unit].nil?
|
|
262
|
+
md[:num].to_i *
|
|
263
|
+
case md[:unit].upcase
|
|
264
|
+
when 'KB'
|
|
265
|
+
1024
|
|
266
|
+
when 'MB'
|
|
267
|
+
1024**2
|
|
268
|
+
when 'GB'
|
|
269
|
+
1024**3
|
|
270
|
+
else
|
|
271
|
+
1
|
|
272
|
+
end
|
|
273
|
+
end
|
|
270
274
|
end
|
|
271
275
|
end
|
data/lib/qa_server/version.rb
CHANGED
data/qa_server.gemspec
CHANGED
|
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
# Note: rails does not follow sem-ver conventions, it's
|
|
23
23
|
# minor version releases can include breaking changes; see
|
|
24
24
|
# http://guides.rubyonrails.org/maintenance_policy.html
|
|
25
|
-
spec.add_dependency 'rails', '~> 5.
|
|
25
|
+
spec.add_dependency 'rails', '~> 5.2', '>= 5.2.5' # v5.2.5 required to address mimemagic gem yank
|
|
26
26
|
spec.add_dependency 'useragent'
|
|
27
27
|
|
|
28
28
|
# Required gems for QA and linked data access
|
|
29
|
-
spec.add_development_dependency 'qa', '~> 5.
|
|
29
|
+
spec.add_development_dependency 'qa', '~> 5.5', '>= 5.5.1' # questioning_authority
|
|
30
30
|
spec.add_development_dependency 'linkeddata'
|
|
31
31
|
|
|
32
32
|
# Produces dashboard charts on monitor status page
|
|
@@ -34,13 +34,14 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
|
|
35
35
|
spec.add_development_dependency 'better_errors' # provide debugging command line in
|
|
36
36
|
spec.add_development_dependency 'binding_of_caller' # provides deep stack info used by better_errors
|
|
37
|
-
spec.add_development_dependency 'bixby', '~>
|
|
37
|
+
spec.add_development_dependency 'bixby', '~> 3.0', ">= 3.0.2" # rubocop styleguide
|
|
38
38
|
# spec.add_development_dependency "capybara", '~> 3.29'
|
|
39
39
|
# spec.add_development_dependency 'capybara-maleficent', '~> 0.3.0'
|
|
40
40
|
# spec.add_development_dependency 'chromedriver-helper', '~> 2.1'
|
|
41
41
|
spec.add_development_dependency 'deprecation'
|
|
42
|
-
spec.add_development_dependency 'engine_cart', '~> 2.
|
|
42
|
+
spec.add_development_dependency 'engine_cart', '~> 2.2'
|
|
43
43
|
spec.add_development_dependency "factory_bot", '~> 4.4'
|
|
44
|
+
spec.add_development_dependency 'i18n-tasks'
|
|
44
45
|
spec.add_development_dependency 'simplecov'
|
|
45
46
|
spec.add_development_dependency 'sqlite3'
|
|
46
47
|
spec.add_development_dependency 'rails-controller-testing', '~> 1'
|
|
@@ -48,7 +49,7 @@ Gem::Specification.new do |spec|
|
|
|
48
49
|
spec.add_development_dependency 'rspec-its', '~> 1.1'
|
|
49
50
|
spec.add_development_dependency 'rspec-rails', '~> 3.1'
|
|
50
51
|
spec.add_development_dependency 'selenium-webdriver'
|
|
51
|
-
spec.add_development_dependency 'webdrivers', '~>
|
|
52
|
+
spec.add_development_dependency 'webdrivers', '~> 4.4'
|
|
52
53
|
spec.add_development_dependency 'webmock'
|
|
53
54
|
|
|
54
55
|
########################################################
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
# rubocop:disable RSpec/InstanceVariable
|
|
5
|
+
RSpec.describe 'Accuracy test' do # rubocop:disable RSpec/DescribeClass
|
|
6
|
+
before(:all) { WebMock.allow_net_connect! }
|
|
7
|
+
after(:all) { WebMock.disable_net_connect! }
|
|
8
|
+
|
|
9
|
+
let(:authority_list) { QaServer::AuthorityListerService.authorities_list }
|
|
10
|
+
let(:authority_name) { :CERL_LD4L_CACHE }
|
|
11
|
+
|
|
12
|
+
describe 'for authority:' do
|
|
13
|
+
@status_log = QaServer::ScenarioLogger.new
|
|
14
|
+
QaServer::AuthorityListerService.authorities_list.each do |authority_name| # rubocop:disable Style/MultilineIfModifier
|
|
15
|
+
QaServer::AuthorityValidatorService.run(authority_name: authority_name,
|
|
16
|
+
status_log: @status_log,
|
|
17
|
+
validation_type: QaServer::ScenarioValidator::VALIDATE_ACCURACY)
|
|
18
|
+
end unless ENV['TRAVIS']
|
|
19
|
+
@status_log.each do |test_result|
|
|
20
|
+
context "#{test_result[:authority_name]}:#{test_result[:subauthority_name]}:#{test_result[:request_data]}:" do
|
|
21
|
+
it "finds actual <= expected" do
|
|
22
|
+
pending 'test is known to fail' if test_result[:pending]
|
|
23
|
+
expect(test_result[:err_message]).to be_empty
|
|
24
|
+
expect(test_result[:request_data]).to be_present
|
|
25
|
+
expect(test_result[:actual]).not_to be_nil
|
|
26
|
+
expect(test_result[:actual]).to be <= test_result[:expected]
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
# rubocop:enable RSpec/InstanceVariable
|
data/spec/i18n_spec.rb
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'i18n/tasks'
|
|
4
|
+
|
|
5
|
+
RSpec.describe I18n do
|
|
6
|
+
let(:i18n) { I18n::Tasks::BaseTask.new }
|
|
7
|
+
let(:missing_keys) { i18n.missing_keys }
|
|
8
|
+
let(:unused_keys) { i18n.unused_keys }
|
|
9
|
+
let(:inconsistent_interpolations) { i18n.inconsistent_interpolations }
|
|
10
|
+
|
|
11
|
+
it 'does not have missing keys' do
|
|
12
|
+
expect(missing_keys).to be_empty,
|
|
13
|
+
"Missing #{missing_keys.leaves.count} i18n keys, run `i18n-tasks missing' to show them"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'does not have unused keys' do
|
|
17
|
+
expect(unused_keys).to be_empty,
|
|
18
|
+
"#{unused_keys.leaves.count} unused i18n keys, run `i18n-tasks unused' to show them"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'files are normalized' do # rubocop:disable RSpec/ExampleLength
|
|
22
|
+
pending 'need to explore further normalization process'
|
|
23
|
+
non_normalized = i18n.non_normalized_paths
|
|
24
|
+
error_message = "The following files need to be normalized:\n" \
|
|
25
|
+
"#{non_normalized.map { |path| " #{path}" }.join("\n")}\n" \
|
|
26
|
+
"Please run `i18n-tasks normalize' to fix"
|
|
27
|
+
expect(non_normalized).to be_empty, error_message
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'does not have inconsistent interpolations' do
|
|
31
|
+
error_message = "#{inconsistent_interpolations.leaves.count} i18n keys have inconsistent interpolations.\n" \
|
|
32
|
+
"Run `i18n-tasks check-consistent-interpolations' to show them"
|
|
33
|
+
expect(inconsistent_interpolations).to be_empty, error_message
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'spec_helper'
|
|
3
|
+
|
|
4
|
+
RSpec.describe QaServer::MonitorStatus::HistoryPresenter do
|
|
5
|
+
let(:presenter) { described_class.new(parent: nil, historical_summary_data: historical_summary_data) }
|
|
6
|
+
# rubocop:disable Layout/ExtraSpacing
|
|
7
|
+
let(:historical_summary_data) do
|
|
8
|
+
# { 'auth_name' => { good: count_of_passing_tests, bad: count_of_failing_tests } }
|
|
9
|
+
{
|
|
10
|
+
'GOOD_AUTH' => { good: 0, bad: 1000 },
|
|
11
|
+
'BARELY_GOOD' => { good: 49, bad: 951 },
|
|
12
|
+
'OK_AUTH' => { good: 50, bad: 950 },
|
|
13
|
+
'STILL_OK' => { good: 51, bad: 949 },
|
|
14
|
+
'BARELY_OK' => { good: 99, bad: 901 },
|
|
15
|
+
'BAD_AUTH' => { good: 100, bad: 900 },
|
|
16
|
+
'STILL_BAD' => { good: 101, bad: 899 },
|
|
17
|
+
'REALLY_BAD' => { good: 500, bad: 500 },
|
|
18
|
+
'HORRIBLE' => { good: 1000, bad: 0 }
|
|
19
|
+
}
|
|
20
|
+
# rubocop:enable Layout/ExtraSpacing
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe '.failure_style_class' do
|
|
24
|
+
context 'returns NEUTRAL style' do
|
|
25
|
+
let(:expected_css_style) { "status-neutral" }
|
|
26
|
+
let(:zero_failure_entry) { ['GOOD_AUTH', { good: 1000, bad: 0 }] } # rubocop:disable Layout/ExtraSpacing
|
|
27
|
+
let(:just_below_caution) { ['BARELY_GOOD', { good: 951, bad: 49 }] } # rubocop:disable Layout/ExtraSpacing
|
|
28
|
+
|
|
29
|
+
it 'when no failures' do
|
|
30
|
+
expect(presenter.failure_style_class(zero_failure_entry)).to eq expected_css_style
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'when percent of failures is just below the CAUTION_THRESHOLD' do
|
|
34
|
+
expect(presenter.failure_style_class(just_below_caution)).to eq expected_css_style
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
context 'returns CAUTION style' do
|
|
39
|
+
let(:expected_css_style) { "status-unknown" }
|
|
40
|
+
let(:equal_caution) { ['OK_AUTH', { good: 950, bad: 50 }] }
|
|
41
|
+
let(:just_above_caution) { ['STILL_OK', { good: 949, bad: 51 }] }
|
|
42
|
+
let(:just_below_warning) { ['BARELY_OK', { good: 901, bad: 99 }] }
|
|
43
|
+
|
|
44
|
+
it 'when percent of failures is equal to CAUTION_THRESHOLD' do
|
|
45
|
+
expect(presenter.failure_style_class(equal_caution)).to eq expected_css_style
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it 'when percent of failures is just above CAUTION_THRESHOLD' do
|
|
49
|
+
expect(presenter.failure_style_class(just_above_caution)).to eq expected_css_style
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it 'when percent of failures is just below WARNING_THRESHOLD' do
|
|
53
|
+
expect(presenter.failure_style_class(just_below_warning)).to eq expected_css_style
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
context 'returns WARNING style' do
|
|
58
|
+
let(:expected_css_style) { "status-bad" }
|
|
59
|
+
let(:equal_warning) { ['BAD_AUTH', { good: 900, bad: 100 }] }
|
|
60
|
+
let(:just_above_warning) { ['STILL_BAD', { good: 899, bad: 101 }] }
|
|
61
|
+
let(:well_above_warning) { ['REALLY_BAD', { good: 500, bad: 500 }] }
|
|
62
|
+
let(:all_failures) { ['HORRIBLE', { good: 0, bad: 1000 }] }
|
|
63
|
+
|
|
64
|
+
it 'when percent of failures is equal to WARNING_THRESHOLD' do
|
|
65
|
+
expect(presenter.failure_style_class(equal_warning)).to eq expected_css_style
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it 'when percent of failures is just above WARNING_THRESHOLD' do
|
|
69
|
+
expect(presenter.failure_style_class(just_above_warning)).to eq expected_css_style
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it 'when percent of failures is well above WARNING_THRESHOLD' do
|
|
73
|
+
expect(presenter.failure_style_class(well_above_warning)).to eq expected_css_style
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it 'when percent of failures is 100%' do
|
|
77
|
+
expect(presenter.failure_style_class(all_failures)).to eq expected_css_style
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: qa_server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.7.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- E. Lynette Rayle
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-04-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -16,14 +16,20 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '5.
|
|
19
|
+
version: '5.2'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 5.2.5
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '5.
|
|
29
|
+
version: '5.2'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 5.2.5
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: useragent
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,14 +50,20 @@ dependencies:
|
|
|
44
50
|
requirements:
|
|
45
51
|
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '5.
|
|
53
|
+
version: '5.5'
|
|
54
|
+
- - ">="
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: 5.5.1
|
|
48
57
|
type: :development
|
|
49
58
|
prerelease: false
|
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
60
|
requirements:
|
|
52
61
|
- - "~>"
|
|
53
62
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '5.
|
|
63
|
+
version: '5.5'
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: 5.5.1
|
|
55
67
|
- !ruby/object:Gem::Dependency
|
|
56
68
|
name: linkeddata
|
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -114,14 +126,20 @@ dependencies:
|
|
|
114
126
|
requirements:
|
|
115
127
|
- - "~>"
|
|
116
128
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
129
|
+
version: '3.0'
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: 3.0.2
|
|
118
133
|
type: :development
|
|
119
134
|
prerelease: false
|
|
120
135
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
136
|
requirements:
|
|
122
137
|
- - "~>"
|
|
123
138
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
139
|
+
version: '3.0'
|
|
140
|
+
- - ">="
|
|
141
|
+
- !ruby/object:Gem::Version
|
|
142
|
+
version: 3.0.2
|
|
125
143
|
- !ruby/object:Gem::Dependency
|
|
126
144
|
name: deprecation
|
|
127
145
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,14 +160,14 @@ dependencies:
|
|
|
142
160
|
requirements:
|
|
143
161
|
- - "~>"
|
|
144
162
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '2.
|
|
163
|
+
version: '2.2'
|
|
146
164
|
type: :development
|
|
147
165
|
prerelease: false
|
|
148
166
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
167
|
requirements:
|
|
150
168
|
- - "~>"
|
|
151
169
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '2.
|
|
170
|
+
version: '2.2'
|
|
153
171
|
- !ruby/object:Gem::Dependency
|
|
154
172
|
name: factory_bot
|
|
155
173
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -164,6 +182,20 @@ dependencies:
|
|
|
164
182
|
- - "~>"
|
|
165
183
|
- !ruby/object:Gem::Version
|
|
166
184
|
version: '4.4'
|
|
185
|
+
- !ruby/object:Gem::Dependency
|
|
186
|
+
name: i18n-tasks
|
|
187
|
+
requirement: !ruby/object:Gem::Requirement
|
|
188
|
+
requirements:
|
|
189
|
+
- - ">="
|
|
190
|
+
- !ruby/object:Gem::Version
|
|
191
|
+
version: '0'
|
|
192
|
+
type: :development
|
|
193
|
+
prerelease: false
|
|
194
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
195
|
+
requirements:
|
|
196
|
+
- - ">="
|
|
197
|
+
- !ruby/object:Gem::Version
|
|
198
|
+
version: '0'
|
|
167
199
|
- !ruby/object:Gem::Dependency
|
|
168
200
|
name: simplecov
|
|
169
201
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -268,14 +300,14 @@ dependencies:
|
|
|
268
300
|
requirements:
|
|
269
301
|
- - "~>"
|
|
270
302
|
- !ruby/object:Gem::Version
|
|
271
|
-
version: '
|
|
303
|
+
version: '4.4'
|
|
272
304
|
type: :development
|
|
273
305
|
prerelease: false
|
|
274
306
|
version_requirements: !ruby/object:Gem::Requirement
|
|
275
307
|
requirements:
|
|
276
308
|
- - "~>"
|
|
277
309
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: '
|
|
310
|
+
version: '4.4'
|
|
279
311
|
- !ruby/object:Gem::Dependency
|
|
280
312
|
name: webmock
|
|
281
313
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -418,6 +450,7 @@ files:
|
|
|
418
450
|
- app/views/qa_server/monitor_status/index.html.erb
|
|
419
451
|
- app/views/qa_server/usage/index.html.erb
|
|
420
452
|
- app/views/shared/_footer.html.erb
|
|
453
|
+
- config/i18n-tasks.yml
|
|
421
454
|
- config/locales/qa_server.en.yml
|
|
422
455
|
- config/routes.rb
|
|
423
456
|
- lib/generators/qa_server/assets_generator.rb
|
|
@@ -437,13 +470,18 @@ files:
|
|
|
437
470
|
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_aat_ld4l_cache.json
|
|
438
471
|
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json
|
|
439
472
|
- lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json
|
|
473
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/isni_ld4l_cache.json
|
|
474
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/ligatus_ld4l_cache.json
|
|
440
475
|
- lib/generators/qa_server/templates/config/authorities/linked_data/loc_direct.json
|
|
441
476
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locdemographics_ld4l_cache.json
|
|
442
477
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locgenres_ld4l_cache.json
|
|
443
478
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locnames_ld4l_cache.json
|
|
479
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo2_ld4l_cache.json
|
|
480
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo3_ld4l_cache.json
|
|
444
481
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo_ld4l_cache.json
|
|
445
482
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locperformance_ld4l_cache.json
|
|
446
483
|
- lib/generators/qa_server/templates/config/authorities/linked_data/locsubjects_ld4l_cache.json
|
|
484
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/locvocabs_ld4l_cache.json
|
|
447
485
|
- lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json
|
|
448
486
|
- lib/generators/qa_server/templates/config/authorities/linked_data/nalt_direct.json
|
|
449
487
|
- lib/generators/qa_server/templates/config/authorities/linked_data/nalt_ld4l_cache.json
|
|
@@ -460,14 +498,19 @@ files:
|
|
|
460
498
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml
|
|
461
499
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml
|
|
462
500
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml
|
|
501
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/isni_ld4l_cache_validation.yml
|
|
502
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/ligatus_ld4l_cache_validation.yml
|
|
463
503
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_direct_validation.yml
|
|
464
504
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/loc_validation.yml
|
|
465
505
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locdemographics_ld4l_cache_validation.yml
|
|
466
506
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml
|
|
467
507
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml
|
|
508
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo2_ld4l_cache_validation.yml
|
|
509
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo3_ld4l_cache_validation.yml
|
|
468
510
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml
|
|
469
511
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locperformance_ld4l_cache_validation.yml
|
|
470
512
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml
|
|
513
|
+
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locvocabs_ld4l_cache_validation.yml
|
|
471
514
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_nlm_ld4l_cache_validation.yml
|
|
472
515
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_direct_validation.yml
|
|
473
516
|
- lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/nalt_ld4l_cache_validation.yml
|
|
@@ -499,8 +542,11 @@ files:
|
|
|
499
542
|
- qa_server.gemspec
|
|
500
543
|
- spec/.gitignore
|
|
501
544
|
- spec/cache_processors/qa_server/cache_expiry_service_spec.rb
|
|
545
|
+
- spec/feature/accuracy_spec.rb
|
|
546
|
+
- spec/i18n_spec.rb
|
|
502
547
|
- spec/lib/configuration_spec.rb
|
|
503
548
|
- spec/lib/qa_server_spec.rb
|
|
549
|
+
- spec/presenters/qa_server/monitor_status/history_presenter_spec.rb
|
|
504
550
|
- spec/rails_helper.rb
|
|
505
551
|
- spec/services/qa_server/time_period_service_spec.rb
|
|
506
552
|
- spec/services/qa_server/time_service_spec.rb
|
|
@@ -513,7 +559,7 @@ homepage: http://github.com/LD4P/qa_server
|
|
|
513
559
|
licenses:
|
|
514
560
|
- Apache-2.0
|
|
515
561
|
metadata: {}
|
|
516
|
-
post_install_message:
|
|
562
|
+
post_install_message:
|
|
517
563
|
rdoc_options: []
|
|
518
564
|
require_paths:
|
|
519
565
|
- lib
|
|
@@ -528,16 +574,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
528
574
|
- !ruby/object:Gem::Version
|
|
529
575
|
version: '0'
|
|
530
576
|
requirements: []
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
signing_key:
|
|
577
|
+
rubygems_version: 3.0.8
|
|
578
|
+
signing_key:
|
|
534
579
|
specification_version: 4
|
|
535
580
|
summary: Authority Lookup Server
|
|
536
581
|
test_files:
|
|
537
582
|
- spec/.gitignore
|
|
538
583
|
- spec/cache_processors/qa_server/cache_expiry_service_spec.rb
|
|
584
|
+
- spec/feature/accuracy_spec.rb
|
|
585
|
+
- spec/i18n_spec.rb
|
|
539
586
|
- spec/lib/configuration_spec.rb
|
|
540
587
|
- spec/lib/qa_server_spec.rb
|
|
588
|
+
- spec/presenters/qa_server/monitor_status/history_presenter_spec.rb
|
|
541
589
|
- spec/rails_helper.rb
|
|
542
590
|
- spec/services/qa_server/time_period_service_spec.rb
|
|
543
591
|
- spec/services/qa_server/time_service_spec.rb
|