Sha256: 00d1ee3dcb613e3679706e8a29e8c6b15e4a85fe17bfb800f039c61ad4f03ae3
Contents?: true
Size: 1.13 KB
Versions: 5
Compression:
Stored size: 1.13 KB
Contents
require 'multi_json' require 'engineyard-cloud-client/rest_client_ext' require 'engineyard-cloud-client/test' require 'engineyard-cloud-client/test/fake_awsm' require 'engineyard-cloud-client/test/ui' module EY::CloudClient::Test class Scenario def self.[](name) scenarios[name] or raise "Scenario #{name.inspect} not found in:\n\t#{scenarios.keys.join("\n\t")}" end def self.scenarios @scenarios ||= load_scenarios end def self.load_scenarios response = ::RestClient.get(EY::CloudClient::Test::FakeAwsm.uri.sub(/\/?$/,'/scenarios')) data = MultiJson.decode(response) data['scenarios'].inject({}) do |hsh, scenario| hsh[scenario['name']] = new(scenario) hsh end end attr_reader :email, :password, :api_token def initialize(options) @name = options['name'] @email = options['email'] @password = options['password'] @api_token = options['api_token'] end def cloud_client(ui = EY::CloudClient::Test::UI.new) EY::CloudClient.new(@api_token, ui) end def inspect "#<Test::Scenario name:#@name>" end end end
Version data entries
5 entries across 5 versions & 1 rubygems