# Licensed to Elasticsearch B.V. under one or more contributor # license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright # ownership. Elasticsearch B.V. licenses this file to you under # the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. 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