Sha256: d62c0ff439fde54a0387b6b3f279bcc958e2bb693596e6fa3b3fea4f6e39c6a8

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

# Gems
require 'rspec'

# Local
require_relative 'spec_helper'
require_relative '../lib/async_service'

module MobME::Infrastructure::RPC
  class DummyRPCService < Base
    @service_name = "mobme.infrastructure.dummy.rpc.service"
  end

  describe Base do
    it "possesses a service_name class method" do
      Base.should respond_to(:service_name)
    end
  end

  describe DummyRPCService do

    it { should respond_to(:logger) }

    before(:each) do
      if Syslog.opened?
        Syslog.close
      end
    end

    describe "#self.service_name" do
      it "returns the service name assigned to the class" do
        subject.class.service_name.should == "mobme.infrastructure.dummy.rpc.service"
      end
    end

    describe "#logger" do
      it "checks whether Syslog is already open" do
        Syslog.should_receive(:opened?)
        subject.logger
      end

      context "when Syslog is not open" do
        it "opens Syslog with service name" do
          Syslog.should_receive(:open).with(subject.class.service_name, Syslog::LOG_PID | Syslog::LOG_CONS)
          subject.logger
        end
      end

      context "when Syslog is already open" do
        it "does not attempt to open Syslog" do
          Syslog.open(subject.class.service_name, Syslog::LOG_PID | Syslog::LOG_CONS)
          Syslog.should_not_receive(:open)
          subject.logger
        end
      end

      it "returns Syslog" do
        subject.logger.should be Syslog
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sync_service-0.0.8 spec/base_spec.rb