class Dumbwaiter::Mock
Attributes
apps[R]
deployments[R]
instances[R]
layers[R]
stacks[R]
user_profiles[R]
Public Class Methods
new()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 29 def initialize clear end
Public Instance Methods
clear()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 20 def clear @stacks = [] @deployments = [] @apps = [] @layers = [] @instances = [] @user_profiles = [] end
create_app(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 42 def create_app(params = {}) params[:stack_id] ||= create_stack.stack_id params[:name] ||= Faker::Name.last_name params[:shortname] ||= Faker::Name.first_name.downcase params[:app_source] = Hashie::Mash.new(params.fetch(:app_source, {})) params[:app_source][:url] ||= Faker::Internet.url params[:app_source][:revision] = params[:app_source].fetch(:revision, make_revision) app = OpenStruct.new(params.merge(app_id: make_id)) apps << app app end
create_deployment(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 66 def create_deployment(params = {}) params[:stack_id] ||= create_stack.stack_id params[:app_id] ||= create_app.app_id params[:command] = Hashie::Mash.new(params.fetch(:command, {})) params[:command][:name] ||= %w[install_dependencies update_dependencies update_custom_cookbooks execute_recipes deploy rollback start stop restart undeploy].sample params[:custom_json] ||= "{}" params[:comment] ||= Faker::Company.bs params[:iam_user_arn] = params.fetch(:iam_user_arn, create_user_profile.iam_user_arn) params[:created_at] ||= Time.now.to_s params[:status] ||= %w[running failed successful].sample deployment = OpenStruct.new(params.merge(deployment_id: make_id)) deployments << deployment deployment end
create_instance(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 81 def create_instance(params = {}) params[:stack_id] ||= create_stack.stack_id params[:layer_id] ||= create_layer.layer_id instance = OpenStruct.new(params.merge(instance_id: make_id)) instances << instance instance end
create_layer(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 54 def create_layer(params = {}) params[:stack_id] ||= create_stack.stack_id params[:name] ||= Faker::Name.last_name params[:shortname] ||= Faker::Name.first_name.downcase params[:custom_recipes] = params[:custom_recipes] || {} params[:custom_recipes] = {setup: [], configure: [], deploy: [], undeploy: [], shutdown:[]}.merge(params[:custom_recipes]) params[:type] ||= %w[lb web php-app rails-app nodejs-app memcached db-master monitoring-master custom].sample layer = OpenStruct.new(params.merge(layer_id: make_id)) layers << layer layer end
create_stack(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 33 def create_stack(params = {}) params[:name] ||= Faker::Name.first_name params[:attributes] ||= {} params[:attributes]["Color"] ||= make_color stack = OpenStruct.new(params.merge(stack_id: make_id)) stacks << stack stack end
create_user_profile(params = {})
click to toggle source
# File lib/dumbwaiter/mock.rb, line 89 def create_user_profile(params = {}) params[:iam_user_arn] ||= Faker::Name.first_name.downcase params[:ssh_username] ||= Faker::Name.first_name.downcase params[:name] ||= Faker::Name.first_name.downcase user_profile = OpenStruct.new(params) user_profiles << user_profile user_profile end
describe_apps(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 15 def describe_apps(*_); OpenStruct.new(apps: apps); end
describe_deployments(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 14 def describe_deployments(*_); OpenStruct.new(deployments: deployments); end
describe_instances(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 17 def describe_instances(*_); OpenStruct.new(instances: instances); end
describe_layers(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 16 def describe_layers(*_); OpenStruct.new(layers: layers); end
describe_stacks(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 13 def describe_stacks(*_); OpenStruct.new(stacks: stacks); end
describe_user_profiles(*_)
click to toggle source
# File lib/dumbwaiter/mock.rb, line 18 def describe_user_profiles(*_); OpenStruct.new(user_profiles: user_profiles); end
opsworks()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 12 def opsworks; self; end
Protected Instance Methods
make_color()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 104 def make_color "rgb(#{rand(255)},#{rand(255)},#{rand(255)})" end
make_id()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 108 def make_id @id ||= 0 @id += 1 "taco-#{@id}" end
make_revision()
click to toggle source
# File lib/dumbwaiter/mock.rb, line 100 def make_revision "%06x" % (rand * 0xffffff) end