FEATURE: improve handling of site setting secrets

This commit is contained in:
Arpit Jalan
2018-06-02 19:27:52 +05:30
parent 685083491e
commit 46fc57222f
7 changed files with 61 additions and 10 deletions

View File

@ -439,7 +439,7 @@ describe SiteSettingExtension do
describe ".set_and_log" do
before do
settings.setting(:s3_secret_access_key, "old_secret_key")
settings.setting(:s3_secret_access_key, "old_secret_key", secret: true)
settings.setting(:title, "Discourse v1")
settings.refresh!
end
@ -592,6 +592,27 @@ describe SiteSettingExtension do
end
end
describe "secret" do
before do
settings.setting(:superman_identity, 'Clark Kent', secret: true)
settings.refresh!
end
it "is in the `secret_settings` collection" do
expect(settings.secret_settings.include?(:superman_identity)).to eq(true)
end
it "can be retrieved" do
expect(settings.superman_identity).to eq("Clark Kent")
end
it "is present in all_settings by default" do
secret_setting = settings.all_settings.find { |s| s[:setting] == :superman_identity }
expect(secret_setting).to be_present
expect(secret_setting[:secret]).to eq(true)
end
end
describe 'locale default overrides are respected' do
before do
settings.setting(:test_override, 'default', locale_default: { zh_CN: 'cn' })