Skip to content

Commit

Permalink
single tenant seeds were broken by account validation (#1772)
Browse files Browse the repository at this point in the history
* single tenant seeds were broken by account validation

* fix geocoder

* try to fix zookeeper

* Update Dockerfile

* make sure fcrepo and solr are default config before cleaning

* Fix typo
  • Loading branch information
orangewolf authored Jan 10, 2022
1 parent c3b2712 commit 31a3770
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 11 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ jobs:
ALLOW_ANONYMOUS_LOGIN: "yes"
JVMFLAGS: -Dzookeeper.4lw.commands.whitelist=ruok -Dzookeeper.admin.enableServer=false
ZOO_SERVERS: zoo1:2888:3888
ZOO_ADMIN_SERVER_PORT_NUMBER: 8020
- image: circleci/redis:<<parameters.redis_version>>
- image: circleci/postgres:9.6.2-alpine
parallelism: 4
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ GEM
gems (1.2.0)
gender_detector (0.1.2)
unicode_utils (>= 1.3.0)
geocoder (1.7.1)
geocoder (1.7.2)
globalid (1.0.0)
activesupport (>= 5.0)
google-api-client (0.53.0)
Expand Down
2 changes: 1 addition & 1 deletion app/models/account.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class Account < ApplicationRecord
validates :tenant, presence: true,
uniqueness: true,
format: { with: /\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/ },
unless: proc { |a| a.tenant == 'public' }
unless: proc { |a| a.tenant == 'public' || a.tenant == 'single' }

def self.admin_host
host = ENV.fetch('HYKU_ADMIN_HOST', nil)
Expand Down
15 changes: 6 additions & 9 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,12 @@

unless ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYKU_MULTITENANT', false))
puts "\n== Creating single tenant resources"
begin
single_tenant_default = Account.find_by(cname: 'single.tenant.default')
if single_tenant_default.blank?
single_tenant_default = Account.new(name: 'Single Tenant', cname: 'single.tenant.default', tenant: 'single', is_public: true)
CreateAccount.new(single_tenant_default).save
single_tenant_default = single_tenant_default.reload
end
# Rescue from any errors during creation
rescue
single_tenant_default = Account.find_by(cname: 'single.tenant.default')
if single_tenant_default.blank?
single_tenant_default = Account.new(name: 'Single Tenant', cname: 'single.tenant.default', tenant: 'single', is_public: true)
CreateAccount.new(single_tenant_default).save
raise "Account creation failed for #{single_tenant_default.errors.full_messages}" unless single_tenant_default.valid?
single_tenant_default = single_tenant_default.reload
end
AccountElevator.switch!(single_tenant_default.cname)

Expand Down
3 changes: 3 additions & 0 deletions spec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@
end

config.before do |example|
# make sure we are on the default fedora config
ActiveFedora::Fedora.reset!
ActiveFedora::SolrService.reset!
# Pass `:clean' to destroy objects in fedora/solr and start from scratch
ActiveFedora::Cleaner.clean! if example.metadata[:clean]
if example.metadata[:type] == :feature && Capybara.current_driver != :rack_test
Expand Down

0 comments on commit 31a3770

Please sign in to comment.