Sha256: 6e59d28ee110cd5837b4cdf4aa332ac4d8f8ebaddc5749d03e3c190e6bc64243

Contents?: true

Size: 1.53 KB

Versions: 48

Compression:

Stored size: 1.53 KB

Contents

require 'spec_helper'
include Controllers

describe Service do
  before(:all) do
    silence_warnings do
      Service::INITD_PATH          = 'tmp/sandbox' + Service::INITD_PATH
      Service::DEFAULT_CONFIG_PATH = 'tmp/sandbox' + Service::DEFAULT_CONFIG_PATH
    end
  end
  
  before do
    Thin.stub!(:linux?).and_return(true)
    FileUtils.mkdir_p 'tmp/sandbox'
        
    @service = Service.new(:all => 'spec/configs')
  end
  
  it "should call command for each config file" do
    Command.should_receive(:run).with(:start, :config => 'spec/configs/cluster.yml', :daemonize => true)
    Command.should_receive(:run).with(:start, :config => 'spec/configs/single.yml', :daemonize => true)
    
    @service.start
  end
  
  it "should create /etc/init.d/thin file when calling install" do
    @service.install
    
    File.exist?(Service::INITD_PATH).should be_true
    File.read(Service::INITD_PATH).should include('CONFIG_PATH=tmp/sandbox/etc/thin',
                                                  'SCRIPT_NAME=tmp/sandbox/etc/init.d/thin',
                                                  'DAEMON=' + Command.script)
  end
  
  it "should create /etc/thin dir when calling install" do
    @service.install
    
    File.directory?(Service::DEFAULT_CONFIG_PATH).should be_true
  end
  
  it "should include specified path in /etc/init.d/thin script" do
    @service.install('tmp/sandbox/usr/thin')
    
    File.read(Service::INITD_PATH).should include('CONFIG_PATH=tmp/sandbox/usr/thin')
  end
  
  after do
    FileUtils.rm_rf 'tmp/sandbox'
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.7.4 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.7.3 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.7.2 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.7.1 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.7.0 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.9 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.8 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.7 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.6 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.5 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.4 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.3 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.2 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.1 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.6.0 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.5.17 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.5.16 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.5.15 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb
classiccms-0.5.14 vendor/bundle/gems/thin-1.3.1/spec/controllers/service_spec.rb