34 lines
679 B
Ruby
34 lines
679 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
RSpec.describe Gitlab::RackAttack::UserAllowlist do
|
||
|
using RSpec::Parameterized::TableSyntax
|
||
|
|
||
|
subject { described_class.new(input)}
|
||
|
|
||
|
where(:input, :elements) do
|
||
|
nil | []
|
||
|
'' | []
|
||
|
'123' | [123]
|
||
|
'123,456' | [123, 456]
|
||
|
'123,foobar, 456,' | [123, 456]
|
||
|
end
|
||
|
|
||
|
with_them do
|
||
|
it 'has the expected elements' do
|
||
|
expect(subject).to contain_exactly(*elements)
|
||
|
end
|
||
|
|
||
|
it 'implements empty?' do
|
||
|
expect(subject.empty?).to eq(elements.empty?)
|
||
|
end
|
||
|
|
||
|
it 'implements include?' do
|
||
|
unless elements.empty?
|
||
|
expect(subject).to include(elements.first)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|