diff --git a/plugins/mezuro/lib/kalibro/configuration.rb b/plugins/mezuro/lib/kalibro/configuration.rb index b8b7263..7ee98e4 100644 --- a/plugins/mezuro/lib/kalibro/configuration.rb +++ b/plugins/mezuro/lib/kalibro/configuration.rb @@ -2,40 +2,14 @@ class Kalibro::Configuration < Kalibro::Model attr_accessor :id, :name, :description -=begin - def metric_configuration=(value) - @metric_configuration = Kalibro::MetricConfiguration.to_objects_array value - end - - def metric_configurations - @metric_configuration.nil? ? [] : @metric_configuration - end - - def metric_configurations=(metric_configurations) - @metric_configuration = metric_configurations - end -=end - -# Should be on parent class -# -# def self.exists?(id) -# request("Configuration", :configuration_exists, {:configuration_id => id})[:exists] -# end - - def self.find(id) - if(exists?(id)) - new request("Configuration", :get_configuration, {:configuration_name => configuration_name})[:configuration] - else - nil - end - end - def self.configuration_of(repository_id) - new request("Configuration", :configuration_of, {:repository_id => repository_id})[:configuration] + new request(:configuration_of, {:repository_id => repository_id})[:configuration] end def self.all - request("Configuration", :all_configuration)[:configuration] + response = request(:all_configurations)[:configuration].to_a + response = [] if response.nil? + response.map {|configuration| new configuration} end @@ -44,7 +18,4 @@ class Kalibro::Configuration < Kalibro::Model save end -# def metric_configurations_hash -# self.to_hash[:metric_configuration] -# end end diff --git a/plugins/mezuro/test/fixtures/configuration_fixtures.rb b/plugins/mezuro/test/fixtures/configuration_fixtures.rb index 8233a1b..b16c5a8 100644 --- a/plugins/mezuro/test/fixtures/configuration_fixtures.rb +++ b/plugins/mezuro/test/fixtures/configuration_fixtures.rb @@ -6,14 +6,18 @@ class ConfigurationFixtures Kalibro::Configuration.new configuration_hash end + def self.created_configuration + Kalibro::Configuration.new({ + :name => 'Sample Configuration', + :description => 'Kalibro configuration for Java projects.' + }) + end + def self.configuration_hash { + :id => 42, :name => 'Sample Configuration', - :description => 'Kalibro configuration for Java projects.', - :metric_configuration => [ - MetricConfigurationFixtures.amloc_metric_configuration_hash, - MetricConfigurationFixtures.sc_metric_configuration_hash - ] + :description => 'Kalibro configuration for Java projects.' } end diff --git a/plugins/mezuro/test/unit/kalibro/configuration_test.rb b/plugins/mezuro/test/unit/kalibro/configuration_test.rb index 72625aa..4499f00 100644 --- a/plugins/mezuro/test/unit/kalibro/configuration_test.rb +++ b/plugins/mezuro/test/unit/kalibro/configuration_test.rb @@ -7,7 +7,7 @@ class ConfigurationTest < ActiveSupport::TestCase def setup @hash = ConfigurationFixtures.configuration_hash @configuration = ConfigurationFixtures.configuration - @configuration_content = ConfigurationFixtures.configuration_content([]) + @created_configuration = ConfigurationFixtures.created_configuration end should 'initialize configuration' do @@ -18,39 +18,49 @@ class ConfigurationTest < ActiveSupport::TestCase assert_equal @hash, @configuration.to_hash end - should 'return true when configuration is saved successfully' do - Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash}) - assert @configuration.save + should 'answer if configuration exists in kalibro' do + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => true}) + assert Kalibro::Configuration.exists?(@configuration.id) end - should 'return false when configuration is not saved successfully' do - Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash}).raises(Exception.new) - assert !(@configuration.save) + should 'find configuration' do + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => true}) + Kalibro::Configuration.expects(:request).with(:get_configuration, {:configuration_id => @configuration.id}).returns(:configuration => @hash) + assert_equal @hash[:name], Kalibro::Configuration.find(@configuration.id).name end - - should 'get all configuration names' do - names = ['Kalibro for Java', 'ConfigurationClientTest configuration'] - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration_names).returns({:configuration_name => names}) - assert_equal names, Kalibro::Configuration.all_names + + should 'return nil when configuration doesnt exist' do + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => false}) + assert_nil Kalibro::Configuration.find(@configuration.id) end - should 'find configuration by name' do - request_body = {:configuration_name => @configuration.name} - response_hash = {:configuration => @configuration.to_hash} - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).returns(response_hash) - assert_equal @configuration.name, Kalibro::Configuration.find_by_name(@configuration.name).name + should 'get configuration of a repository' do + repository_id = 31 + Kalibro::Configuration.expects(:request).with(:configuration_of, {:repository_id => repository_id}).returns({:configuration => @hash}) + assert_equal @hash[:name], Kalibro::Configuration.configuration_of(repository_id).name end - should 'return nil when configuration doesnt exist' do - request_body = {:configuration_name => @configuration.name} - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).raises(Exception.new) - assert_raise Exception do - Kalibro::Configuration.find_by_name(@configuration.name) - end + should 'get all configuration' do + Kalibro::Configuration.expects(:request).with(:all_configurations).returns({:configuration => [@hash]}) + assert_equal @hash[:name], Kalibro::Configuration.all.first.name + end + + should 'return true when configuration is saved successfully' do + id_from_kalibro = 1 + Kalibro::Configuration.expects(:request).with(:save_configuration, {:configuration => @created_configuration.to_hash}).returns(:configuration_id => id_from_kalibro) + assert @created_configuration.save + assert_equal id_from_kalibro, @created_configuration.id + end + + should 'return false when configuration is not saved successfully' do + Kalibro::Configuration.expects(:request).with(:save_configuration, {:configuration => @created_configuration.to_hash}).raises(Exception.new) + assert !(@created_configuration.save) + assert_nil @created_configuration.id end - should 'destroy configuration by name' do - Kalibro::Configuration.expects(:request).with("Configuration", :remove_configuration, {:configuration_name => @configuration.name}) + should 'remove existent configuration from service' do + Kalibro::Configuration.expects(:request).with(:delete_configuration, {:configuration_id => @configuration.id}) @configuration.destroy end + end -- libgit2 0.21.2