logstash/qa/rspec/helpers.rb
Pere Urbon-Bayes 1be0d271d3 Introduce the concept of a single spec for the tests, we removed the platform depant test as they where mostly similar, but only used with small platform dependant metadata, this all has been moved to factory methods. make sure platforms uses canonicals "former" names, so no "ubuntu" platfrom as is debian based, and no "centos" as is redhat based.
Also:

* Refactored the specs organization to make the resoning behind simplier,
introducing the idea of an artifact subject that it wraps the
interactions with the platform.

* Add methods to destroy, bootstrap and halt a list of machines either all of them or the ones listed under a given platform name.

* Introduced more clear namespacing in the rakefile.

* Updated the list of available platforms for acceptance testing, including latest ubuntu, oel, fedora, debian and suse versions

Fixes #5350
2016-06-02 14:37:15 +00:00

38 lines
704 B
Ruby

# encoding: utf-8
require_relative "commands"
module ServiceTester
class Configuration
attr_accessor :servers, :lookup
def initialize
@servers = []
@lookup = {}
end
def hosts
lookup.values.map { |val| val["host"] }
end
end
class << self
attr_accessor :configuration
end
def self.configure
self.configuration ||= Configuration.new
yield(configuration) if block_given?
end
def servers
ServiceTester.configuration.servers
end
def select_client
CommandsFactory.fetch(current_example.metadata[:platform])
end
def current_example
RSpec.respond_to?(:current_example) ? RSpec.current_example : self.example
end
end