From c07f1fb06bca7268823f130e7d5010eee20a1929 Mon Sep 17 00:00:00 2001 From: Carlos Morais Date: Fri, 17 Feb 2012 21:38:38 -0200 Subject: [PATCH] [Mezuro] Adding test for ConfigurationContent --- plugins/mezuro/lib/kalibro/client/configuration_client.rb | 19 ++++++++++++------- plugins/mezuro/lib/mezuro_plugin/configuration_content.rb | 15 ++++----------- plugins/mezuro/lib/mezuro_plugin/project_content.rb | 1 - plugins/mezuro/test/fixtures/configuration_fixtures.rb | 2 ++ plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb | 4 ++++ plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb | 7 ++++--- 7 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb diff --git a/plugins/mezuro/lib/kalibro/client/configuration_client.rb b/plugins/mezuro/lib/kalibro/client/configuration_client.rb index cac8d85..1bd56cc 100644 --- a/plugins/mezuro/lib/kalibro/client/configuration_client.rb +++ b/plugins/mezuro/lib/kalibro/client/configuration_client.rb @@ -1,5 +1,17 @@ class Kalibro::Client::ConfigurationClient + def self.save(configuration_content) + configuration = Kalibro::Entities::Configuration.new + configuration.name = configuration_content.name + configuration.description = configuration_content.description + new.save(configuration) + end + + def self.remove(configuration_name) + client = new + client.remove(configuration_name) if client.configuration_names.include? configuration_name + end + def initialize @port = Kalibro::Client::Port.new('Configuration') end @@ -8,10 +20,6 @@ class Kalibro::Client::ConfigurationClient @port.request(:save_configuration, {:configuration => configuration.to_hash}) end - def self.save(configuration) - new.save(configuration) - end - def configuration_names @port.request(:get_configuration_names)[:configuration_name].to_a end @@ -25,7 +33,4 @@ class Kalibro::Client::ConfigurationClient @port.request(:remove_configuration, {:configuration_name => configuration_name}) end - def self.remove(configuration_name) - new.remove(configuration_name) - end end diff --git a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb index c109441..c42bed3 100644 --- a/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb +++ b/plugins/mezuro/lib/mezuro_plugin/configuration_content.rb @@ -5,7 +5,7 @@ class MezuroPlugin::ConfigurationContent < Article end def self.description - 'Kalibro configuration for some project' + 'Sets of thresholds to interpret metrics' end settings_items :description @@ -18,7 +18,7 @@ class MezuroPlugin::ConfigurationContent < Article end def configuration - Kalibro::Client::ConfigurationClient.new.configuration(title) + Kalibro::Client::ConfigurationClient.configuration(name) end after_save :send_configuration_to_service @@ -27,18 +27,11 @@ class MezuroPlugin::ConfigurationContent < Article private def send_configuration_to_service - Kalibro::Client::ConfigurationClient.save(create_configuration) + Kalibro::Client::ConfigurationClient.save(self) end def remove_configuration_from_service - Kalibro::Client::ConfigurationClient.remove(title) - end - - def create_configuration - configuration = Kalibro::Entities::Configuration.new - configuration.name = title - configuration.description = description - configuration + Kalibro::Client::ConfigurationClient.remove(name) end end diff --git a/plugins/mezuro/lib/mezuro_plugin/project_content.rb b/plugins/mezuro/lib/mezuro_plugin/project_content.rb index 14de362..eb365db 100644 --- a/plugins/mezuro/lib/mezuro_plugin/project_content.rb +++ b/plugins/mezuro/lib/mezuro_plugin/project_content.rb @@ -44,4 +44,3 @@ class MezuroPlugin::ProjectContent < Article end end - diff --git a/plugins/mezuro/test/fixtures/configuration_fixtures.rb b/plugins/mezuro/test/fixtures/configuration_fixtures.rb index 7e7fb57..ae9bc0b 100644 --- a/plugins/mezuro/test/fixtures/configuration_fixtures.rb +++ b/plugins/mezuro/test/fixtures/configuration_fixtures.rb @@ -1,3 +1,5 @@ +require File.dirname(__FILE__) + '/metric_configuration_fixtures' + class ConfigurationFixtures def self.kalibro_configuration diff --git a/plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb b/plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb index 3e4352a..3c9512f 100644 --- a/plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb +++ b/plugins/mezuro/test/fixtures/metric_configuration_fixtures.rb @@ -1,3 +1,7 @@ +require File.dirname(__FILE__) + '/compound_metric_fixtures' +require File.dirname(__FILE__) + '/native_metric_fixtures' +require File.dirname(__FILE__) + '/range_fixtures' + class MetricConfigurationFixtures def self.amloc_configuration diff --git a/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb new file mode 100644 index 0000000..08583f8 --- /dev/null +++ b/plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb @@ -0,0 +1,50 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" + +class ConfigurationContentTest < ActiveSupport::TestCase + + def setup + @configuration = ConfigurationFixtures.kalibro_configuration + @content = MezuroPlugin::ConfigurationContent.new + @content.name = @configuration.name + @content.description = @configuration.description + end + + should 'be an article' do + assert_kind_of Article, @content + end + + should 'provide proper short description' do + assert_equal 'Kalibro configuration', MezuroPlugin::ConfigurationContent.short_description + end + + should 'provide proper description' do + assert_equal 'Sets of thresholds to interpret metrics', MezuroPlugin::ConfigurationContent.description + end + + should 'have an html view' do + assert_not_nil @content.to_html + end + + should 'get configuration from service' do + Kalibro::Client::ConfigurationClient.expects(:configuration).with(@content.name).returns(@configuration) + assert_equal @configuration, @content.configuration + end + + should 'send configuration to service after saving' do + @content.expects :send_configuration_to_service + @content.run_callbacks :after_save + end + + should 'send correct configuration to service' do + Kalibro::Client::ConfigurationClient.expects(:save).with(@content) + @content.send :send_configuration_to_service + end + + should 'remove project from service' do + Kalibro::Client::ConfigurationClient.expects(:remove).with(@content.name) + @content.send :remove_configuration_from_service + end + +end diff --git a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb index b4b6660..bc2dd11 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb @@ -50,19 +50,20 @@ class ProjectContentTest < ActiveSupport::TestCase assert_equal module_result, @content.module_result(module_name) end - should 'run send project to service on after_save callback' do + should 'send project to service after saving' do @content.expects :send_project_to_service @content.run_callbacks :after_save end should 'send correct project to service' do Kalibro::Client::ProjectClient.expects(:save).with(@content) - Kalibro::Client::KalibroClient.expects(:process_project).with(@project.name) + Kalibro::Client::KalibroClient.expects(:process_project).with(@content.name) @content.send :send_project_to_service end should 'remove project from service' do - Kalibro::Client::ProjectClient.expects(:remove).with(@project.name) + Kalibro::Client::ProjectClient.expects(:remove).with(@content.name) @content.send :remove_project_from_service end + end -- libgit2 0.21.2