Redmine/vendor/gems/net-ldap-0.2.2/spec/integration/ssl_ber_spec.rb

36 lines
899 B
Ruby

require 'spec_helper'
require 'net/ldap'
describe "BER serialisation (SSL)" do
# Transmits str to #to and reads it back from #from.
#
def transmit(str)
to.write(str)
to.close
from.read
end
attr_reader :to, :from
before(:each) do
@from, @to = IO.pipe
# The production code operates on sockets, which do need #connect called
# on them to work. Pipes are more robust for this test, so we'll skip
# the #connect call since it fails.
flexmock(OpenSSL::SSL::SSLSocket).
new_instances.should_receive(:connect => nil)
@to = Net::LDAP::Connection.wrap_with_ssl(to)
@from = Net::LDAP::Connection.wrap_with_ssl(from)
end
it "should transmit strings" do
transmit('foo').should == 'foo'
end
it "should correctly transmit numbers" do
to.write 1234.to_ber
from.read_ber.should == 1234
end
end