diff --git a/devops-service/app/devops-api2.rb b/devops-service/app/devops-api2.rb index 0337734..7635d4c 100644 --- a/devops-service/app/devops-api2.rb +++ b/devops-service/app/devops-api2.rb @@ -39,7 +39,7 @@ module Devops Devops::Api2.settings.mongo.create_root_user ::Provider::ProviderFactory.init(config) - Stubber.stub_providers! if config[:stub_classes] + Stubber.stub_providers!(config[:stub_providers]) end def routes diff --git a/devops-service/config.rb b/devops-service/config.rb index 5a42369..5b07675 100644 --- a/devops-service/config.rb +++ b/devops-service/config.rb @@ -40,4 +40,7 @@ config[:static_ssh_key] = "ssh_key" # or nil config[:static_certificate] = "/path/to/.ssh/static.pem" config[:debug] = true -config[:stub_classes] = true \ No newline at end of file + +# set it to :all or [:ec2] to stub calls to selected providers +# or to false to disable stubbing +config[:stub_providers] = false \ No newline at end of file diff --git a/devops-service/lib/stubber.rb b/devops-service/lib/stubber.rb index 18b530f..217ef91 100644 --- a/devops-service/lib/stubber.rb +++ b/devops-service/lib/stubber.rb @@ -1,5 +1,11 @@ module Stubber - def self.stub_providers! - Dir["tests/stubs/providers/*.rb"].each {|file| require file } + def self.stub_providers!(providers) + return unless providers + + providers = [:ec2, :openstack] if providers == :all + providers.each do |provider| + next unless [:ec2, :openstack].include?(provider) + require "tests/stubs/providers/#{provider}.rb" + end end end