Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/dfe/analytics/config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def self.configure(config)
config.bigquery_hidden_policy_tag ||= ENV.fetch('BIGQUERY_HIDDEN_POLICY_TAG', nil)
config.bigquery_policy_tags ||=
JSON.parse(ENV.fetch('BIGQUERY_POLICY_TAGS', '{}')).transform_keys(&:underscore).symbolize_keys
config.bigquery_policy_tags ||= { hidden: config.bigquery_hidden_policy_tag } if config.bigquery_hidden_policy_tag.present?
config.bigquery_policy_tags = { hidden: config.bigquery_hidden_policy_tag } if config.bigquery_hidden_policy_tag.present? && config.bigquery_policy_tags.blank?
config.bigquery_retries ||= 3
config.bigquery_timeout ||= 120
config.environment ||= ENV.fetch('RAILS_ENV', 'development')
Expand Down
58 changes: 58 additions & 0 deletions spec/dfe/analytics/config_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,64 @@
end
end

context 'when bigquery_policy_tags is configured' do
before do
config.bigquery_hidden_policy_tag = 'hidden-policy-tag'
config.bigquery_policy_tags = {
hidden: 'new-hidden-policy-tag',
sensitive_hidden: 'sensitive-hidden-policy-tag'
}

described_class.configure(config)
end

it 'uses the configured policy tags' do
expect(config.bigquery_policy_tags).to eq(
hidden: 'new-hidden-policy-tag',
sensitive_hidden: 'sensitive-hidden-policy-tag'
)
end
end

context 'when bigquery_policy_tags is empty and bigquery_hidden_policy_tag is configured' do
before do
config.bigquery_hidden_policy_tag = 'hidden-policy-tag'
config.bigquery_policy_tags = {}

described_class.configure(config)
end

it 'falls back to the legacy hidden policy tag' do
expect(config.bigquery_policy_tags).to eq(
hidden: 'hidden-policy-tag'
)
end
end

context 'when neither policy tag configuration is provided' do
before do
config.bigquery_hidden_policy_tag = nil
config.bigquery_policy_tags = {}

described_class.configure(config)
end

it 'leaves bigquery_policy_tags empty' do
expect(config.bigquery_policy_tags).to eq({})
end
end

context 'when database_events_enabled is false' do
before do
config.database_events_enabled = false
described_class.configure(config)
end

it 'preserves the configured value' do
expect(config.database_events_enabled).to eq(false)
end
end

context 'when azure_federated_auth is true' do
before do
# Stub all expected ENV.fetch calls used by .configure
Expand Down
Loading