debian-mirror-gitlab/spec/models/integrations/every_integration_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.3 KiB
Ruby
Raw Normal View History

2022-05-03 16:02:30 +05:30
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Every integration' do
all_integration_names = Integration.available_integration_names
all_integration_names.each do |integration_name|
describe integration_name do
let(:integration_class) { Integration.integration_name_to_model(integration_name) }
let(:integration) { integration_class.new }
context 'secret fields', :aggregate_failures do
2023-03-17 16:20:25 +05:30
it "uses type: 'password' for all secret fields, except when bypassed" do
2022-05-03 16:02:30 +05:30
integration.fields.each do |field|
2023-03-17 16:20:25 +05:30
next unless Integrations::Field::SECRET_NAME.match?(field[:name]) && field[:is_secret]
2022-05-03 16:02:30 +05:30
expect(field[:type]).to eq('password'),
"Field '#{field[:name]}' should use type 'password'"
end
end
it 'defines non-empty titles and help texts for all secret fields' do
integration.fields.each do |field|
next unless field[:type] == 'password'
expect(field[:non_empty_password_title]).to be_present,
"Field '#{field[:name]}' should define :non_empty_password_title"
expect(field[:non_empty_password_help]).to be_present,
"Field '#{field[:name]}' should define :non_empty_password_help"
end
end
end
end
end
end