mirror of
https://github.com/elastic/logstash.git
synced 2025-04-25 07:07:54 -04:00
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
38 lines
704 B
Ruby
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
|