Sha256: 10d4cddd710030f96c125631668c3215064967c8e1e7646ffee44bce8e97d5a1

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

require 'spec_helper'
require "#{Arachni::Options.paths.lib}/rpc/server/base"

describe Arachni::RPC::Server::Base do
    before( :all ) do
        opts = Arachni::Options.instance
        opts.rpc.server_port = available_port

        Arachni::Reactor.global.run_in_thread if !Arachni::Reactor.global.running?

        @server = Arachni::RPC::Server::Base.new( opts )
    end

    it 'supports UNIX sockets' do
        opts = Arachni::Options.instance
        opts.rpc.server_address = nil
        opts.rpc.server_port    = nil
        opts.rpc.server_socket  = "#{Dir.tmpdir}/arachni-base-#{Arachni::Utilities.generate_token}"
        server = Arachni::RPC::Server::Base.new( opts )

        server.start

        raised = false
        begin
            Timeout::timeout( 20 ){
                sleep 0.1 while !server.ready?
            }
        rescue Exception => e
            raised = true
        end

        expect(server.ready?).to be_truthy
        expect(raised).to be_falsey
    end

    describe '#ready?' do
        context 'when the server is not ready' do
            it 'returns false' do
                expect(@server.ready?).to be_falsey
            end
        end

        context 'when the server is ready' do
            it 'returns true' do
                @server.start

                raised = false
                begin
                    Timeout::timeout( 20 ){
                        sleep 0.1 while !@server.ready?
                    }
                rescue Exception => e
                    raised = true
                end

                expect(@server.ready?).to be_truthy
                expect(raised).to be_falsey
            end
        end
    end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
arachni-1.3.2 spec/arachni/rpc/server/base_spec.rb
arachni-1.3.1 spec/arachni/rpc/server/base_spec.rb
arachni-1.3 spec/arachni/rpc/server/base_spec.rb