Skip to content

Commit 61f4221

Browse files
committed
use berkeley_library-util gem to add head_check for okcomputer
1 parent ac03646 commit 61f4221

File tree

6 files changed

+12
-22
lines changed

6 files changed

+12
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
/test/tmp/
4141
/test/version_tmp/
4242
/tmp/
43+
/vendor/
4344

4445
# Used by dotenv library to load environment variables.
4546
# .env

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ruby ruby_version_exact
88
gem 'berkeley_library-av-core', '~> 0.5.0'
99
gem 'berkeley_library-docker', '~> 0.2.0'
1010
gem 'berkeley_library-logging', '~> 0.2'
11+
gem 'berkeley_library-util', '~> 0.3'
1112
gem 'browser', '~> 4.2'
1213
gem 'jbuilder', '~> 2.13'
1314
gem 'mutex_m'

Gemfile.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ GEM
9595
marc (~> 1.0)
9696
parslet (~> 2.0)
9797
ruby-marc-spec (~> 0.1)
98-
berkeley_library-util (0.2.0)
98+
berkeley_library-util (0.3.0)
9999
berkeley_library-logging (~> 0.3)
100100
rest-client (~> 2.1)
101101
typesafe_enum (~> 0.3)
@@ -421,13 +421,15 @@ PLATFORMS
421421
arm64-darwin-21
422422
arm64-darwin-22
423423
arm64-darwin-23
424+
arm64-darwin-25
424425
x86_64-darwin-19
425426
x86_64-linux
426427

427428
DEPENDENCIES
428429
berkeley_library-av-core (~> 0.5.0)
429430
berkeley_library-docker (~> 0.2.0)
430431
berkeley_library-logging (~> 0.2)
432+
berkeley_library-util (~> 0.3)
431433
brakeman
432434
browser (~> 4.2)
433435
bundle-audit

config/initializers/okcomputer.rb

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# frozen_string_literal: true
22

3+
require 'berkeley_library/util/uris/head_check'
4+
35
# Health check configuration
46

57
OkComputer.logger = Rails.logger
6-
OkComputer.check_in_parallel = true
8+
OkComputer.check_in_parallel = !Rails.env.test?
79

810
ALMA_TEST_ID = 'b23305522'
911
TIND_TEST_ID = '(pacradio)01469'
@@ -26,29 +28,13 @@ def check
2628
end
2729
end
2830

29-
class HeadCheck < OkComputer::HttpCheck
30-
def perform_request
31-
Timeout.timeout(request_timeout) do
32-
options = { read_timeout: request_timeout }
33-
34-
if basic_auth_options.any?
35-
options[:http_basic_authentication] = basic_auth_options
36-
end
37-
38-
RestClient.head(url.to_s, options)
39-
end
40-
rescue => e
41-
raise ConnectionFailed, e
42-
end
43-
end
44-
4531
# Ensure Alma API is working.
46-
OkComputer::Registry.register 'alma-metadata', HeadCheck.new(ALMA_TEST_URL)
32+
OkComputer::Registry.register 'alma-metadata', BerkeleyLibrary::Util::HeadCheck.new(ALMA_TEST_URL)
4733

4834
# Ensure TIND API is working. This cannot use `OkComputer::HttpCheck`
4935
# out of the box as we can't yet inject headers into the request without
5036
# subclassing the whole thing.
5137
OkComputer::Registry.register 'tind-metadata', TindCheck.new
5238

5339
# Ensure Wowza is working
54-
OkComputer::Registry.register 'wowza-streaming', HeadCheck.new(WOWZA_TEST_URL)
40+
OkComputer::Registry.register 'wowza-streaming', BerkeleyLibrary::Util::HeadCheck.new(WOWZA_TEST_URL)

spec/request/okcomputer_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
before do
55
stub_sru_head_request('b23305522')
66

7-
hls_manifest = File.read('spec/data/playlist.m3u8')
87
manifest_url = 'https://wowza.lib.berkeley.edu/Pacifica/mp3:PRA_NHPRC1_AZ1084_00_000_00.mp3/playlist.m3u8'
98
stub_request(:head, manifest_url).to_return(status: 200)
109

@@ -20,6 +19,7 @@
2019

2120
it 'returns all checks to /health' do
2221
get '/health'
22+
2323
expect(response).to have_http_status :ok
2424
expect(response.parsed_body.keys).to match_array %w[
2525
alma-metadata

spec/spec_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def stub_sru_request(record_id, body: nil)
7272
stub_request(:get, sru_url).to_return(status: 200, body: body || File.new(alma_sru_data_path_for(record_id)))
7373
end
7474

75-
def stub_sru_head_request(record_id, body: nil)
75+
def stub_sru_head_request(record_id)
7676
sru_url = alma_sru_url_for(record_id)
7777
stub_request(:head, sru_url).to_return(status: 200)
7878
end

0 commit comments

Comments
 (0)