2014-09-02 18:07:02 +05:30
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe Gitlab::LDAP::Adapter do
|
2015-04-26 12:48:37 +05:30
|
|
|
let(:adapter) { Gitlab::LDAP::Adapter.new 'ldapmain' }
|
2014-09-02 18:07:02 +05:30
|
|
|
|
|
|
|
describe :dn_matches_filter? do
|
|
|
|
let(:ldap) { double(:ldap) }
|
|
|
|
subject { adapter.dn_matches_filter?(:dn, :filter) }
|
|
|
|
before { adapter.stub(ldap: ldap) }
|
|
|
|
|
|
|
|
context "when the search is successful" do
|
|
|
|
context "and the result is non-empty" do
|
|
|
|
before { ldap.stub(search: [:foo]) }
|
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
it { is_expected.to be_truthy }
|
2014-09-02 18:07:02 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
context "and the result is empty" do
|
|
|
|
before { ldap.stub(search: []) }
|
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
it { is_expected.to be_falsey }
|
2014-09-02 18:07:02 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when the search encounters an error" do
|
|
|
|
before { ldap.stub(search: nil, get_operation_result: double(code: 1, message: 'some error')) }
|
|
|
|
|
2015-04-26 12:48:37 +05:30
|
|
|
it { is_expected.to be_falsey }
|
2014-09-02 18:07:02 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|