diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2020-10-12 16:33:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-12 16:33:49 +0200 |
commit | 5e1364c448222c964faa469b6b5bfe9adf701c1a (patch) | |
tree | bf13de38f07f6a8ec4bdce9c6242c3c472bfddea /spec/lib | |
parent | dc52a778e111a67a5275dd4afecf3991e279e005 (diff) |
Add IP-based rules (#14963)
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/fast_ip_map_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/lib/fast_ip_map_spec.rb b/spec/lib/fast_ip_map_spec.rb new file mode 100644 index 000000000..c66f64828 --- /dev/null +++ b/spec/lib/fast_ip_map_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe FastIpMap do + describe '#include?' do + subject { described_class.new([IPAddr.new('20.4.0.0/16'), IPAddr.new('145.22.30.0/24'), IPAddr.new('189.45.86.3')])} + + it 'returns true for an exact match' do + expect(subject.include?(IPAddr.new('189.45.86.3'))).to be true + end + + it 'returns true for a range match' do + expect(subject.include?(IPAddr.new('20.4.45.7'))).to be true + end + + it 'returns false for no match' do + expect(subject.include?(IPAddr.new('145.22.40.64'))).to be false + end + end +end |