From 9439840b3c6e4c61b6ae6ca6a7dec77a49a4cba2 Mon Sep 17 00:00:00 2001 From: Anton Martynov Date: Thu, 19 Feb 2015 13:26:14 +0300 Subject: [PATCH] some fixes --- devops-service/commands/image.rb | 2 +- devops-service/db/mongo/connectors/image.rb | 2 ++ .../db/validators/image/image_in_filter.rb | 2 +- devops-service/routes/v2.0/handlers/image.rb | 8 ++++---- devops-service/tests/generate_tests.rb | 19 +++++++++++++------ 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/devops-service/commands/image.rb b/devops-service/commands/image.rb index b405b4f..0c37897 100644 --- a/devops-service/commands/image.rb +++ b/devops-service/commands/image.rb @@ -2,7 +2,7 @@ require "providers/provider_factory" module ImageCommands - def get_images mongo, provider + def get_available_provider_images mongo, provider filters = mongo.available_images(provider) if filters.empty? [] diff --git a/devops-service/db/mongo/connectors/image.rb b/devops-service/db/mongo/connectors/image.rb index 135b4e5..d65d42c 100644 --- a/devops-service/db/mongo/connectors/image.rb +++ b/devops-service/db/mongo/connectors/image.rb @@ -1,3 +1,5 @@ +require "db/mongo/models/image" + module Connectors class Image < Base include Helpers::InsertCommand, diff --git a/devops-service/db/validators/image/image_in_filter.rb b/devops-service/db/validators/image/image_in_filter.rb index 6bb5c1c..5bb2703 100644 --- a/devops-service/db/validators/image/image_in_filter.rb +++ b/devops-service/db/validators/image/image_in_filter.rb @@ -5,7 +5,7 @@ module Validators include ImageCommands def valid? - images = get_images(::Devops::Db.connector, @model.provider) + images = get_available_provider_images(::Devops::Db.connector, @model.provider) images.map{|i| i["id"]}.include?(@model.id) end diff --git a/devops-service/routes/v2.0/handlers/image.rb b/devops-service/routes/v2.0/handlers/image.rb index 2c74537..5e8decc 100644 --- a/devops-service/routes/v2.0/handlers/image.rb +++ b/devops-service/routes/v2.0/handlers/image.rb @@ -21,7 +21,7 @@ module Devops lambda { check_privileges("image", "r") check_provider(params[:provider]) - json get_images(settings.mongo, params[:provider]) + json Image.get_available_provider_images(settings.mongo, params[:provider]) } end @@ -36,7 +36,7 @@ module Devops lambda { check_privileges("image", "w") image = create_object_from_json_body - settings.mongo.image_insert Image.new(image) + settings.mongo.image_insert ::Image.new(image) create_response "Created", nil, 201 } end @@ -45,7 +45,7 @@ module Devops lambda { check_privileges("image", "w") settings.mongo.image params[:image_id] - image = Image.new(create_object_from_json_body) + image = ::Image.new(create_object_from_json_body) image.id = params[:image_id] settings.mongo.image_update image create_response("Image '#{params[:image_id]}' has been updated") @@ -59,7 +59,7 @@ module Devops unless projects.empty? ar = [] projects.each do |p| - ar += p.deploy_envs.select{|e| e.image == params[:image_id]}.map{|e| "#{p.id}.#{e.identifier}"} + ar += p.deploy_envs.select{|e| e.respond_to?(:image)}.select{|e| e.image == params[:image_id]}.map{|e| "#{p.id}.#{e.identifier}"} end raise DependencyError.new "Deleting is forbidden: Image is used in #{ar.join(", ")}" end diff --git a/devops-service/tests/generate_tests.rb b/devops-service/tests/generate_tests.rb index 478ffb2..bea6e18 100755 --- a/devops-service/tests/generate_tests.rb +++ b/devops-service/tests/generate_tests.rb @@ -19,7 +19,7 @@ class Generator < OpenStruct def configure! c = {} - %w{host port username password path_prefix username_without_privileges password_without_privileges}.each do |key| + %w{host port username password path_prefix username_without_privileges password_without_privileges openstack ec2}.each do |key| c[key] = @config[key] end File.open(TESTS_CONFIG, "w") {|f| f.write(c.to_yaml) } @@ -28,11 +28,17 @@ class Generator < OpenStruct def generate!(templates) templates.each do |input, output| + puts "Input: #{input}" if File.exists?(input) - data = render(File.read(input)) - dir = File.dirname(output) - FileUtils.mkdir_p(dir) unless File.exists?(dir) - File.open(output, "w") {|f| f.write(data)} + file_data = File.read(input) + if file_data.nil? + puts "Data of file '#{input}' is nil" + else + data = render(file_data) + dir = File.dirname(output) + FileUtils.mkdir_p(dir) unless File.exists?(dir) + File.open(output, "w") {|f| f.write(data)} + end else puts "WARN: file '#{input}' does not exist" end @@ -52,7 +58,8 @@ class Generator < OpenStruct private def render(template) - ERB.new(template).result(binding) + puts template.size + ERB.new(template).result() end def load_fixtures