allow certificate_authorities to be missing in test/development environment
This commit is contained in:
parent
99d19049c2
commit
cb9b754faa
2 changed files with 33 additions and 16 deletions
|
|
@ -77,9 +77,11 @@ module DiasporaFederation
|
|||
def validate_config
|
||||
configuration_error "server_uri: Missing or invalid" unless @server_uri.respond_to? :host
|
||||
|
||||
configuration_error "certificate_authorities: Not configured" if @certificate_authorities.nil?
|
||||
unless File.file? @certificate_authorities
|
||||
configuration_error "certificate_authorities: File not found: #{@certificate_authorities}"
|
||||
unless defined?(::Rails) && !::Rails.env.production?
|
||||
configuration_error "certificate_authorities: Not configured" if @certificate_authorities.nil?
|
||||
unless File.file? @certificate_authorities
|
||||
configuration_error "certificate_authorities: File not found: #{@certificate_authorities}"
|
||||
end
|
||||
end
|
||||
|
||||
unless @callbacks.definition_complete?
|
||||
|
|
|
|||
|
|
@ -14,20 +14,35 @@ module DiasporaFederation
|
|||
DiasporaFederation.server_uri = temp
|
||||
end
|
||||
|
||||
it "should fail if the certificate_authorities is missing" do
|
||||
temp = DiasporaFederation.certificate_authorities
|
||||
DiasporaFederation.certificate_authorities = nil
|
||||
expect { DiasporaFederation.validate_config }.to raise_error ConfigurationError,
|
||||
"certificate_authorities: Not configured"
|
||||
DiasporaFederation.certificate_authorities = temp
|
||||
end
|
||||
context "certificate_authorities" do
|
||||
before do
|
||||
@certificate_authorities = DiasporaFederation.certificate_authorities
|
||||
end
|
||||
|
||||
it "should fail if the certificate_authorities is missing" do
|
||||
temp = DiasporaFederation.certificate_authorities
|
||||
DiasporaFederation.certificate_authorities = "/unknown"
|
||||
expect { DiasporaFederation.validate_config }.to raise_error ConfigurationError,
|
||||
"certificate_authorities: File not found: /unknown"
|
||||
DiasporaFederation.certificate_authorities = temp
|
||||
it "allows certificate_authorities to be missing in test environment" do
|
||||
::Rails.env = "test"
|
||||
DiasporaFederation.certificate_authorities = nil
|
||||
expect { DiasporaFederation.validate_config }.not_to raise_error
|
||||
end
|
||||
|
||||
it "should fail in production if the certificate_authorities is missing" do
|
||||
::Rails.env = "production"
|
||||
DiasporaFederation.certificate_authorities = nil
|
||||
expect { DiasporaFederation.validate_config }.to raise_error ConfigurationError,
|
||||
"certificate_authorities: Not configured"
|
||||
end
|
||||
|
||||
it "should fail in production if the certificate_authorities file is missing" do
|
||||
::Rails.env = "production"
|
||||
DiasporaFederation.certificate_authorities = "/unknown"
|
||||
expect { DiasporaFederation.validate_config }.to raise_error ConfigurationError,
|
||||
"certificate_authorities: File not found: /unknown"
|
||||
end
|
||||
|
||||
after do
|
||||
DiasporaFederation.certificate_authorities = @certificate_authorities
|
||||
::Rails.env = ENV["RAILS_ENV"] || "test"
|
||||
end
|
||||
end
|
||||
|
||||
it "should validate the callbacks" do
|
||||
|
|
|
|||
Loading…
Reference in a new issue