Sha256: da31b3aeed71e1573a99367fd68ffee16e657c8a846b364303d29da9a9c61cbd

Contents?: true

Size: 1.51 KB

Versions: 24

Compression:

Stored size: 1.51 KB

Contents

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

describe Cuboid::RPC::Server::Base do
    before( :each ) do
        Raktr.global.run_in_thread
    end

    let(:subject) { Cuboid::RPC::Server::Base.new(
        host: 'localhost', port: port
    ) }
    let(:port) { available_port }

    it 'supports UNIX sockets', if: Raktr.supports_unix_sockets? do
        server = Cuboid::RPC::Server::Base.new(
            socket: "#{Dir.tmpdir}/cuboid-base-#{Cuboid::Utilities.generate_token}"
        )

        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(subject.ready?).to be_falsey
            end
        end

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

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

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

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
cuboid-0.2.13 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.12 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.11 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.10 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.9 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.8 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.7 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.6 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.5 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.4.2 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.4.1 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.4 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.3 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.2 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2.1 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.2 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.1.9.1 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.1.9 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.1.8 spec/cuboid/rpc/server/base_spec.rb
cuboid-0.1.7 spec/cuboid/rpc/server/base_spec.rb