Sha256: bdfa378e7cf2f54383feb448ff0d0ee679fafd96f98cf7cc3b2baf7ca870f25d

Contents?: true

Size: 1.85 KB

Versions: 80

Compression:

Stored size: 1.85 KB

Contents

require 'spec_helper'

class LifecycleNotificationPlugin < Killbill::Plugin::PluginBase
  attr_accessor :lifecycled

  def start_plugin
    @lifecycled = true
    super
  end

  def stop_plugin
    @lifecycled = true
    super
  end
end

describe Killbill::Plugin::PluginBase do
=begin
  it 'should be able to register Killbill API instances' do
    plugin = Killbill::Plugin::PluginBase.new(:account_user_api => MockAccountUserApi.new)

    plugin.account_user_api.get_accounts(nil).size.should == 0
    # Existing API, present
    lambda { plugin.account_user_api.do_foo('with my bar') }.should_not raise_error Killbill::Plugin::PluginBase::APINotAvailableError
    # Existing API, absent
    lambda { plugin.payment_api.do_foo('with my bar') }.should raise_error Killbill::Plugin::PluginBase::APINotAvailableError
    # Non-existing API
    lambda { plugin.foobar_user_api.do_foo('with my bar') }.should raise_error Killbill::Plugin::PluginBase::APINotAvailableError
    # Default method missing behavior
    lambda { plugin.blablabla }.should raise_error NoMethodError
  end
=end
  it 'should be able to default to the ruby logger for tests' do
    logger = Logger.new(STDOUT)
    logger.level = Logger::DEBUG

    plugin = Killbill::Plugin::PluginBase.new
    plugin.logger = logger
    plugin.start_plugin

    plugin.logger.level.should == logger.level
  end

  it 'should be able to add custom code in the startup/shutdown sequence' do
    plugin = LifecycleNotificationPlugin.new

    plugin.lifecycled = false
    plugin.lifecycled.should be_false
    plugin.active.should be_false

    plugin.start_plugin
    plugin.lifecycled.should be_true
    plugin.active.should be_true

    plugin.lifecycled = false
    plugin.lifecycled.should be_false
    plugin.active.should be_true

    plugin.stop_plugin
    plugin.lifecycled.should be_true
    plugin.active.should be_false
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
killbill-9.4.1 spec/killbill/base_plugin_spec.rb
killbill-8.3.6 spec/killbill/base_plugin_spec.rb
killbill-9.4.0 spec/killbill/base_plugin_spec.rb
killbill-9.3.2 spec/killbill/base_plugin_spec.rb
killbill-9.3.1 spec/killbill/base_plugin_spec.rb
killbill-8.3.5 spec/killbill/base_plugin_spec.rb
killbill-9.3.0 spec/killbill/base_plugin_spec.rb
killbill-9.2.2 spec/killbill/base_plugin_spec.rb
killbill-8.3.4 spec/killbill/base_plugin_spec.rb
killbill-8.3.3 spec/killbill/base_plugin_spec.rb
killbill-9.2.1 spec/killbill/base_plugin_spec.rb
killbill-9.2.0 spec/killbill/base_plugin_spec.rb
killbill-8.3.2 spec/killbill/base_plugin_spec.rb
killbill-8.3.1 spec/killbill/base_plugin_spec.rb
killbill-8.3.0 spec/killbill/base_plugin_spec.rb
killbill-8.2.0 spec/killbill/base_plugin_spec.rb
killbill-8.1.0 spec/killbill/base_plugin_spec.rb
killbill-7.0.6 spec/killbill/base_plugin_spec.rb
killbill-8.0.1 spec/killbill/base_plugin_spec.rb
killbill-8.0.0 spec/killbill/base_plugin_spec.rb