qa_server 7.1.1 → 7.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/app/cache_processors/qa_server/performance_cache.rb +1 -1
- data/app/prepends/prepended_linked_data/find_term.rb +3 -3
- data/app/prepends/prepended_linked_data/search_query.rb +2 -2
- data/app/prepends/prepended_rdf/rdf_graph.rb +1 -1
- data/lib/qa_server/configuration.rb +11 -3
- data/lib/qa_server/version.rb +1 -1
- data/spec/lib/configuration_spec.rb +119 -0
- data/tmp/.keep +0 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c75de6851b1a52b9d4f482ef560bd0bae7107524
|
4
|
+
data.tar.gz: 25e2b0642efce7a0f73e260057248621d17f7e94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 145db9e102f9e88a48cb4e3fdd99687b70890d16751c8d9d43471eeeb126e478085ccce96f0e6d8a37170c91146c6e9704d2839ec899949acea0a88913ae16f6
|
7
|
+
data.tar.gz: 203aee3ca6a69164bf5f4b9ac6e6db49901d622e88a15521303c9815311e4f8182c74d7a8fd7485f57b848de3748081a42fcb5f4c0dedacfccb72bd6bf479405
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### 7.1.2 (2020-02-21)
|
2
|
+
|
3
|
+
* make configs that return true/false end with ?
|
4
|
+
* add tests for configs that weren’t tested
|
5
|
+
* fix bugs in config#convert_size_to_bytes in response to testing
|
6
|
+
|
1
7
|
### 7.1.1 (2020-02-21)
|
2
8
|
|
3
9
|
* empty performance cache after running monitor status tests
|
@@ -59,7 +59,7 @@ module QaServer
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def log(id:)
|
62
|
-
return if QaServer.config.suppress_logging_performance_datails
|
62
|
+
return if QaServer.config.suppress_logging_performance_datails?
|
63
63
|
Rails.logger.debug("*** performance data for id: #{id} ***")
|
64
64
|
Rails.logger.debug(@cache[id].to_yaml)
|
65
65
|
end
|
@@ -3,7 +3,7 @@ module PrependedLinkedData::FindTerm
|
|
3
3
|
# Override Qa::Authorities::LinkedData::FindTerm#find method
|
4
4
|
# @return [Hash] single term results in requested format
|
5
5
|
def find(id, request_header: {}, language: nil, replacements: {}, subauth: nil, format: nil, performance_data: false) # rubocop:disable Metrics/ParameterLists
|
6
|
-
return super if QaServer.config.suppress_performance_gathering
|
6
|
+
return super if QaServer.config.suppress_performance_gathering?
|
7
7
|
request_header = setup_find(request_header: request_header, language: language, replacements: replacements, subauth: subauth,
|
8
8
|
format: format, performance_data: performance_data)
|
9
9
|
@phid = QaServer.config.performance_cache.new_entry(authority: authority_name, action: 'fetch')
|
@@ -40,7 +40,7 @@ module PrependedLinkedData::FindTerm
|
|
40
40
|
|
41
41
|
# Override to append performance history record id into the URL to allow access to the record in RDF::Graph
|
42
42
|
def load_graph(url:)
|
43
|
-
return super if QaServer.config.suppress_performance_gathering
|
43
|
+
return super if QaServer.config.suppress_performance_gathering?
|
44
44
|
|
45
45
|
access_start_dt = QaServer::TimeService.current_time
|
46
46
|
|
@@ -55,7 +55,7 @@ module PrependedLinkedData::FindTerm
|
|
55
55
|
|
56
56
|
# Temporary override to fix bug. Remove when QA Issue #271 is fixed and a new release is cut
|
57
57
|
def performance_data?
|
58
|
-
return super if QaServer.config.suppress_performance_gathering
|
58
|
+
return super if QaServer.config.suppress_performance_gathering?
|
59
59
|
@performance_data == true
|
60
60
|
end
|
61
61
|
|
@@ -3,7 +3,7 @@ module PrependedLinkedData::SearchQuery
|
|
3
3
|
# Override Qa::Authorities::LinkedData::SearchQuery#search method
|
4
4
|
# @return [String] json results for search query
|
5
5
|
def search(query, request_header: {}, language: nil, replacements: {}, subauth: nil, context: false, performance_data: false) # rubocop:disable Metrics/ParameterLists
|
6
|
-
return super if QaServer.config.suppress_performance_gathering
|
6
|
+
return super if QaServer.config.suppress_performance_gathering?
|
7
7
|
request_header = setup_search(request_header: request_header, language: language, replacements: replacements, subauth: subauth,
|
8
8
|
context: context, performance_data: performance_data)
|
9
9
|
@phid = QaServer.config.performance_cache.new_entry(authority: authority_name, action: 'search')
|
@@ -40,7 +40,7 @@ module PrependedLinkedData::SearchQuery
|
|
40
40
|
|
41
41
|
# Override to append performance history record id into the URL to allow access to the record in RDF::Graph
|
42
42
|
def load_graph(url:)
|
43
|
-
return super if QaServer.config.suppress_performance_gathering
|
43
|
+
return super if QaServer.config.suppress_performance_gathering?
|
44
44
|
|
45
45
|
access_start_dt = QaServer::TimeService.current_time
|
46
46
|
|
@@ -12,7 +12,7 @@ module PrependedRdf::RdfGraph
|
|
12
12
|
# Set set graph name of each loaded statement
|
13
13
|
# @return [void]
|
14
14
|
def load(url, graph_name: nil, **options) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
15
|
-
return super if QaServer.config.suppress_performance_gathering
|
15
|
+
return super if QaServer.config.suppress_performance_gathering?
|
16
16
|
|
17
17
|
raise TypeError, "#{self} is immutable" if immutable?
|
18
18
|
phid, real_url = parse_phid(url)
|
@@ -63,7 +63,7 @@ module QaServer
|
|
63
63
|
# @param time_period [Symbol] time period for calculating historical pass/fail (i.e., one of :month, :year, or :all)
|
64
64
|
# @raise [ArgumentError] if time_period is not one of :month, :year, or :all
|
65
65
|
def historical_datatable_default_time_period=(time_period)
|
66
|
-
raise ArgumentError, 'time_period must be one of :
|
66
|
+
raise ArgumentError, 'time_period must be one of :month, :year, or :all' unless [:month, :year, :all].include? time_period
|
67
67
|
@historical_datatable_default_time_period = time_period
|
68
68
|
end
|
69
69
|
|
@@ -189,17 +189,23 @@ module QaServer
|
|
189
189
|
# impact and may need to be suppressed. Performance stats will not be gathered when this config is true.
|
190
190
|
# @param [Boolean] do not gather performance data when true (defaults to false for backward compatibitily)
|
191
191
|
attr_writer :suppress_performance_gathering
|
192
|
-
def suppress_performance_gathering
|
192
|
+
def suppress_performance_gathering?
|
193
|
+
return @suppress_performance_gathering unless @suppress_performance_gathering.nil?
|
193
194
|
@suppress_performance_gathering ||= false
|
194
195
|
end
|
196
|
+
alias suppress_performance_gathering suppress_performance_gathering?
|
197
|
+
deprecation_deprecate suppress_performance_gathering: "use #suppress_performance_gathering? instead"
|
195
198
|
|
196
199
|
# Performance data is gathered on every incoming query. Basic stats are logged from QA. Full stats are logged
|
197
200
|
# by QaServer and can eat up logging realestate. To suppress the logging of details, set this config to true.
|
198
201
|
# @param [Boolean] do not log performance data details when true (defaults to false for backward compatibitily)
|
199
202
|
attr_writer :suppress_logging_performance_datails
|
200
|
-
def suppress_logging_performance_datails
|
203
|
+
def suppress_logging_performance_datails?
|
204
|
+
return @suppress_logging_performance_datails unless @suppress_logging_performance_datails.nil?
|
201
205
|
@suppress_logging_performance_datails ||= false
|
202
206
|
end
|
207
|
+
alias suppress_logging_performance_datails suppress_logging_performance_datails?
|
208
|
+
deprecation_deprecate suppress_logging_performance_datails: "use #suppress_logging_performance_datails? instead"
|
203
209
|
|
204
210
|
# Maximum amount of memory the performance cache can occupy before it is written to the database.
|
205
211
|
# @param [Integer] maximum size of performance cache before flushing
|
@@ -246,7 +252,9 @@ module QaServer
|
|
246
252
|
private
|
247
253
|
|
248
254
|
def convert_size_to_bytes(size)
|
255
|
+
return if size.nil?
|
249
256
|
md = size.match(/^(?<num>\d+)\s?(?<unit>\w+)?$/)
|
257
|
+
return md[:num].to_i if md[:unit].nil?
|
250
258
|
md[:num].to_i *
|
251
259
|
case md[:unit].upcase
|
252
260
|
when 'KB'
|
data/lib/qa_server/version.rb
CHANGED
@@ -62,6 +62,30 @@ RSpec.describe QaServer::Configuration do
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
+
describe '#historical_datatable_default_time_period=' do
|
66
|
+
it 'raises exception if time_period is invalid' do
|
67
|
+
expect { config.historical_datatable_default_time_period = :day }.to raise_error ArgumentError, 'time_period must be one of :month, :year, or :all'
|
68
|
+
expect { config.historical_datatable_default_time_period = :decade }.to raise_error ArgumentError, 'time_period must be one of :month, :year, or :all'
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'sets time_period if valid' do
|
72
|
+
expect(config.historical_datatable_default_time_period = :month).to eq :month
|
73
|
+
expect(config.historical_datatable_default_time_period = :year).to eq :year
|
74
|
+
expect(config.historical_datatable_default_time_period = :all).to eq :all
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#historical_datatable_default_time_period' do
|
79
|
+
it 'return default as :year' do
|
80
|
+
expect(config.historical_datatable_default_time_period).to eq :year
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'returns set value' do
|
84
|
+
config.historical_datatable_default_time_period = :month
|
85
|
+
expect(config.historical_datatable_default_time_period).to eq :month
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
65
89
|
describe '#display_performance_graph?' do
|
66
90
|
it 'return default as false' do
|
67
91
|
expect(config.display_performance_graph?).to eq false
|
@@ -196,4 +220,99 @@ RSpec.describe QaServer::Configuration do
|
|
196
220
|
expect(config.performance_datatable_warning_threshold).to eq 500
|
197
221
|
end
|
198
222
|
end
|
223
|
+
|
224
|
+
describe '#suppress_performance_gathering?' do
|
225
|
+
it 'return default as false' do
|
226
|
+
expect(config.suppress_performance_gathering?).to eq false
|
227
|
+
end
|
228
|
+
|
229
|
+
it 'returns set value' do
|
230
|
+
config.suppress_performance_gathering = true
|
231
|
+
expect(config.suppress_performance_gathering?).to eq true
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
describe '#suppress_logging_performance_datails?' do
|
236
|
+
it 'return default as false' do
|
237
|
+
expect(config.suppress_logging_performance_datails?).to eq false
|
238
|
+
end
|
239
|
+
|
240
|
+
it 'returns set value' do
|
241
|
+
config.suppress_logging_performance_datails = true
|
242
|
+
expect(config.suppress_logging_performance_datails?).to eq true
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
describe '#max_performance_cache_size' do
|
247
|
+
it 'return default as 32MB' do
|
248
|
+
expect(config.max_performance_cache_size).to eq 32.megabytes
|
249
|
+
end
|
250
|
+
|
251
|
+
it 'returns set value' do
|
252
|
+
config.max_performance_cache_size = 500
|
253
|
+
expect(config.max_performance_cache_size).to eq 500
|
254
|
+
end
|
255
|
+
|
256
|
+
context 'when value set through ENV' do
|
257
|
+
context 'when no unit specified' do
|
258
|
+
before { stub_const('ENV', 'MAX_PERFORMANCE_CACHE_SIZE' => '96') }
|
259
|
+
it 'sets value as is' do
|
260
|
+
expect(config.max_performance_cache_size).to eq 96
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
context 'when unit is KB' do
|
265
|
+
before { stub_const('ENV', 'MAX_PERFORMANCE_CACHE_SIZE' => '64KB') }
|
266
|
+
it 'sets value as is' do
|
267
|
+
expect(config.max_performance_cache_size).to eq 64.kilobytes
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
context 'when unit is MB' do
|
272
|
+
before { stub_const('ENV', 'MAX_PERFORMANCE_CACHE_SIZE' => '16mb') }
|
273
|
+
it 'sets value as is' do
|
274
|
+
expect(config.max_performance_cache_size).to eq 16.megabytes
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
context 'when unit is GB' do
|
279
|
+
before { stub_const('ENV', 'MAX_PERFORMANCE_CACHE_SIZE' => '8 gb') }
|
280
|
+
it 'sets value as is' do
|
281
|
+
expect(config.max_performance_cache_size).to eq 8.gigabytes
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
287
|
+
describe '#enable_performance_cache_logging' do
|
288
|
+
before { stub_const('ENV', 'PERFORMANCE_CACHE_LOG_PATH' => 'tmp/performance_cache.log') }
|
289
|
+
it 'sets logger level to DEBUG' do
|
290
|
+
config.enable_performance_cache_logging
|
291
|
+
expect(config.performance_cache_logger.level).to be Logger::DEBUG
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
describe '#disable_performance_cache_logging' do
|
296
|
+
before { stub_const('ENV', 'PERFORMANCE_CACHE_LOG_PATH' => 'tmp/performance_cache.log') }
|
297
|
+
it 'sets logger level to INFO' do
|
298
|
+
config.disable_performance_cache_logging
|
299
|
+
expect(config.performance_cache_logger.level).to be Logger::INFO
|
300
|
+
end
|
301
|
+
end
|
302
|
+
|
303
|
+
describe '#enable_monitor_status_logging' do
|
304
|
+
before { stub_const('ENV', 'MONITOR_LOG_PATH' => 'tmp/monitor.log') }
|
305
|
+
it 'sets logger level to DEBUG' do
|
306
|
+
config.enable_monitor_status_logging
|
307
|
+
expect(config.monitor_logger.level).to be Logger::DEBUG
|
308
|
+
end
|
309
|
+
end
|
310
|
+
|
311
|
+
describe '#disable_monitor_status_logging' do
|
312
|
+
before { stub_const('ENV', 'MONITOR_LOG_PATH' => 'tmp/monitor.log') }
|
313
|
+
it 'sets logger level to INFO' do
|
314
|
+
config.disable_monitor_status_logging
|
315
|
+
expect(config.monitor_logger.level).to be Logger::INFO
|
316
|
+
end
|
317
|
+
end
|
199
318
|
end
|
data/tmp/.keep
ADDED
File without changes
|
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.1.
|
4
|
+
version: 7.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- E. Lynette Rayle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -500,6 +500,7 @@ files:
|
|
500
500
|
- spec/test_app_templates/Gemfile.extra
|
501
501
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
502
502
|
- tasks/qa_server_dev.rake
|
503
|
+
- tmp/.keep
|
503
504
|
homepage: http://github.com/LD4P/qa_server
|
504
505
|
licenses:
|
505
506
|
- Apache-2.0
|