Commit 1be218147b2ca9e9f3d511ceec5e7340b6d3c470

Authored by João M. M. da Silva + Diego Araújo
Committed by João M. M. da Silva
1 parent 66187117

[Mezuro] Completed configuration model, fixtures and tests.

plugins/mezuro/lib/kalibro/configuration.rb
@@ -2,40 +2,14 @@ class Kalibro::Configuration < Kalibro::Model @@ -2,40 +2,14 @@ class Kalibro::Configuration < Kalibro::Model
2 2
3 attr_accessor :id, :name, :description 3 attr_accessor :id, :name, :description
4 4
5 -=begin  
6 - def metric_configuration=(value)  
7 - @metric_configuration = Kalibro::MetricConfiguration.to_objects_array value  
8 - end  
9 -  
10 - def metric_configurations  
11 - @metric_configuration.nil? ? [] : @metric_configuration  
12 - end  
13 -  
14 - def metric_configurations=(metric_configurations)  
15 - @metric_configuration = metric_configurations  
16 - end  
17 -=end  
18 -  
19 -# Should be on parent class  
20 -#  
21 -# def self.exists?(id)  
22 -# request("Configuration", :configuration_exists, {:configuration_id => id})[:exists]  
23 -# end  
24 -  
25 - def self.find(id)  
26 - if(exists?(id))  
27 - new request("Configuration", :get_configuration, {:configuration_name => configuration_name})[:configuration]  
28 - else  
29 - nil  
30 - end  
31 - end  
32 -  
33 def self.configuration_of(repository_id) 5 def self.configuration_of(repository_id)
34 - new request("Configuration", :configuration_of, {:repository_id => repository_id})[:configuration] 6 + new request(:configuration_of, {:repository_id => repository_id})[:configuration]
35 end 7 end
36 8
37 def self.all 9 def self.all
38 - request("Configuration", :all_configuration)[:configuration] 10 + response = request(:all_configurations)[:configuration].to_a
  11 + response = [] if response.nil?
  12 + response.map {|configuration| new configuration}
39 end 13 end
40 14
41 15
@@ -44,7 +18,4 @@ class Kalibro::Configuration < Kalibro::Model @@ -44,7 +18,4 @@ class Kalibro::Configuration < Kalibro::Model
44 save 18 save
45 end 19 end
46 20
47 -# def metric_configurations_hash  
48 -# self.to_hash[:metric_configuration]  
49 -# end  
50 end 21 end
plugins/mezuro/test/fixtures/configuration_fixtures.rb
@@ -6,14 +6,18 @@ class ConfigurationFixtures @@ -6,14 +6,18 @@ class ConfigurationFixtures
6 Kalibro::Configuration.new configuration_hash 6 Kalibro::Configuration.new configuration_hash
7 end 7 end
8 8
  9 + def self.created_configuration
  10 + Kalibro::Configuration.new({
  11 + :name => 'Sample Configuration',
  12 + :description => 'Kalibro configuration for Java projects.'
  13 + })
  14 + end
  15 +
9 def self.configuration_hash 16 def self.configuration_hash
10 { 17 {
  18 + :id => 42,
11 :name => 'Sample Configuration', 19 :name => 'Sample Configuration',
12 - :description => 'Kalibro configuration for Java projects.',  
13 - :metric_configuration => [  
14 - MetricConfigurationFixtures.amloc_metric_configuration_hash,  
15 - MetricConfigurationFixtures.sc_metric_configuration_hash  
16 - ] 20 + :description => 'Kalibro configuration for Java projects.'
17 } 21 }
18 end 22 end
19 23
plugins/mezuro/test/unit/kalibro/configuration_test.rb
@@ -7,7 +7,7 @@ class ConfigurationTest < ActiveSupport::TestCase @@ -7,7 +7,7 @@ class ConfigurationTest < ActiveSupport::TestCase
7 def setup 7 def setup
8 @hash = ConfigurationFixtures.configuration_hash 8 @hash = ConfigurationFixtures.configuration_hash
9 @configuration = ConfigurationFixtures.configuration 9 @configuration = ConfigurationFixtures.configuration
10 - @configuration_content = ConfigurationFixtures.configuration_content([]) 10 + @created_configuration = ConfigurationFixtures.created_configuration
11 end 11 end
12 12
13 should 'initialize configuration' do 13 should 'initialize configuration' do
@@ -18,39 +18,49 @@ class ConfigurationTest < ActiveSupport::TestCase @@ -18,39 +18,49 @@ class ConfigurationTest < ActiveSupport::TestCase
18 assert_equal @hash, @configuration.to_hash 18 assert_equal @hash, @configuration.to_hash
19 end 19 end
20 20
21 - should 'return true when configuration is saved successfully' do  
22 - Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash})  
23 - assert @configuration.save 21 + should 'answer if configuration exists in kalibro' do
  22 + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => true})
  23 + assert Kalibro::Configuration.exists?(@configuration.id)
24 end 24 end
25 25
26 - should 'return false when configuration is not saved successfully' do  
27 - Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash}).raises(Exception.new)  
28 - assert !(@configuration.save) 26 + should 'find configuration' do
  27 + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => true})
  28 + Kalibro::Configuration.expects(:request).with(:get_configuration, {:configuration_id => @configuration.id}).returns(:configuration => @hash)
  29 + assert_equal @hash[:name], Kalibro::Configuration.find(@configuration.id).name
29 end 30 end
30 -  
31 - should 'get all configuration names' do  
32 - names = ['Kalibro for Java', 'ConfigurationClientTest configuration']  
33 - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration_names).returns({:configuration_name => names})  
34 - assert_equal names, Kalibro::Configuration.all_names 31 +
  32 + should 'return nil when configuration doesnt exist' do
  33 + Kalibro::Configuration.expects(:request).with(:configuration_exists, {:configuration_id => @configuration.id}).returns({:exists => false})
  34 + assert_nil Kalibro::Configuration.find(@configuration.id)
35 end 35 end
36 36
37 - should 'find configuration by name' do  
38 - request_body = {:configuration_name => @configuration.name}  
39 - response_hash = {:configuration => @configuration.to_hash}  
40 - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).returns(response_hash)  
41 - assert_equal @configuration.name, Kalibro::Configuration.find_by_name(@configuration.name).name 37 + should 'get configuration of a repository' do
  38 + repository_id = 31
  39 + Kalibro::Configuration.expects(:request).with(:configuration_of, {:repository_id => repository_id}).returns({:configuration => @hash})
  40 + assert_equal @hash[:name], Kalibro::Configuration.configuration_of(repository_id).name
42 end 41 end
43 42
44 - should 'return nil when configuration doesnt exist' do  
45 - request_body = {:configuration_name => @configuration.name}  
46 - Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).raises(Exception.new)  
47 - assert_raise Exception do  
48 - Kalibro::Configuration.find_by_name(@configuration.name)  
49 - end 43 + should 'get all configuration' do
  44 + Kalibro::Configuration.expects(:request).with(:all_configurations).returns({:configuration => [@hash]})
  45 + assert_equal @hash[:name], Kalibro::Configuration.all.first.name
  46 + end
  47 +
  48 + should 'return true when configuration is saved successfully' do
  49 + id_from_kalibro = 1
  50 + Kalibro::Configuration.expects(:request).with(:save_configuration, {:configuration => @created_configuration.to_hash}).returns(:configuration_id => id_from_kalibro)
  51 + assert @created_configuration.save
  52 + assert_equal id_from_kalibro, @created_configuration.id
  53 + end
  54 +
  55 + should 'return false when configuration is not saved successfully' do
  56 + Kalibro::Configuration.expects(:request).with(:save_configuration, {:configuration => @created_configuration.to_hash}).raises(Exception.new)
  57 + assert !(@created_configuration.save)
  58 + assert_nil @created_configuration.id
50 end 59 end
51 60
52 - should 'destroy configuration by name' do  
53 - Kalibro::Configuration.expects(:request).with("Configuration", :remove_configuration, {:configuration_name => @configuration.name}) 61 + should 'remove existent configuration from service' do
  62 + Kalibro::Configuration.expects(:request).with(:delete_configuration, {:configuration_id => @configuration.id})
54 @configuration.destroy 63 @configuration.destroy
55 end 64 end
  65 +
56 end 66 end