Commit c9ee80a9fe648550d4b817f07d078d90c310317d
1 parent
97d0870a
Exists in
master
and in
29 other branches
[Mezuro] Refactored configuration and mezuro_plugin_myprofile_controller
Conflicts: plugins/mezuro/test/unit/kalibro/client/port_test.rb
Showing
22 changed files
with
144 additions
and
331 deletions
Show diff stats
plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb
... | ... | @@ -26,38 +26,44 @@ class MezuroPluginMyprofileController < ProfileController |
26 | 26 | |
27 | 27 | def edit_metric_configuration |
28 | 28 | @configuration_content = profile.articles.find(params[:id]) |
29 | - @metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(@configuration_content.name, params[:metric_name]) | |
29 | + @metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, params[:metric_name]) | |
30 | 30 | @metric = @metric_configuration.metric |
31 | 31 | end |
32 | 32 | |
33 | 33 | def edit_compound_metric_configuration |
34 | 34 | @configuration_content = profile.articles.find(params[:id]) |
35 | - @metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(@configuration_content.name, params[:metric_name]) | |
35 | + @metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, params[:metric_name]) | |
36 | 36 | @metric_configurations = @configuration_content.metric_configurations |
37 | 37 | @metric = @metric_configuration.metric |
38 | 38 | end |
39 | 39 | |
40 | 40 | def create_metric_configuration |
41 | - configuration_content = profile.articles.find(params[:id]) | |
42 | - metric_name = generic_metric_configuration_creation(new_metric_configuration_instance, configuration_content.name) | |
43 | - redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/edit_metric_configuration?id=#{configuration_content.id}&metric_name=#{metric_name.gsub(/\s/, '+')}" | |
41 | + id = params[:id] | |
42 | + metric_name = params[:metric_configuration][:metric][:name] | |
43 | + Kalibro::MetricConfiguration.new(params[:metric_configuration]).save | |
44 | + redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/edit_metric_configuration?id=#{id}&metric_name=#{metric_name.gsub(/\s/, '+')}" | |
44 | 45 | end |
45 | 46 | |
46 | 47 | def create_compound_metric_configuration |
47 | - configuration_content = profile.articles.find(params[:id]) | |
48 | - metric_name = generic_metric_configuration_creation(new_compound_metric_configuration_instance, configuration_content.name) | |
49 | - redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/edit_compound_metric_configuration?id=#{configuration_content.id}&metric_name=#{metric_name.gsub(/\s/, '+')}" | |
48 | + id = params[:id] | |
49 | + metric_name = params[:metric_configuration][:metric][:name] | |
50 | + Kalibro::MetricConfiguration.new(params[:metric_configuration]).save | |
51 | + redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/edit_compound_metric_configuration?id=#{id}&metric_name=#{metric_name.gsub(/\s/, '+')}" | |
50 | 52 | end |
51 | 53 | |
52 | 54 | def update_metric_configuration |
53 | 55 | @configuration_content = profile.articles.find(params[:id]) |
54 | - auxiliar_update_metric_configuration(Kalibro::MetricConfiguration::NATIVE_TYPE) | |
56 | + metric_name = params[:metric_configuration][:metric][:name] | |
57 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) | |
58 | + metric_configuration.update_attributes params[:metric_configuration] | |
55 | 59 | redirect_to "/#{profile.identifier}/#{@configuration_content.slug}" |
56 | 60 | end |
57 | 61 | |
58 | 62 | def update_compound_metric_configuration |
59 | 63 | @configuration_content = profile.articles.find(params[:id]) |
60 | - auxiliar_update_metric_configuration(Kalibro::MetricConfiguration::COMPOUND_TYPE) | |
64 | + metric_name = params[:metric_configuration][:metric][:name] | |
65 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) | |
66 | + metric_configuration.update_attributes params[:metric_configuration] | |
61 | 67 | redirect_to "/#{profile.identifier}/#{@configuration_content.slug}" |
62 | 68 | end |
63 | 69 | |
... | ... | @@ -71,7 +77,7 @@ class MezuroPluginMyprofileController < ProfileController |
71 | 77 | @metric_name = params[:metric_name] |
72 | 78 | @beginning_id = params[:beginning_id] |
73 | 79 | |
74 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(@configuration_content.name, @metric_name) | |
80 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, @metric_name) | |
75 | 81 | @range = metric_configuration.ranges.find{ |range| range.beginning == @beginning_id.to_f } |
76 | 82 | end |
77 | 83 | |
... | ... | @@ -80,7 +86,7 @@ class MezuroPluginMyprofileController < ProfileController |
80 | 86 | @range = Kalibro::Range.new params[:range] |
81 | 87 | metric_name = params[:metric_name] |
82 | 88 | beginning_id = params[:beginning_id] |
83 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(@configuration_content.name, metric_name) | |
89 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) | |
84 | 90 | metric_configuration.add_range(@range) |
85 | 91 | metric_configuration.save |
86 | 92 | end |
... | ... | @@ -89,7 +95,7 @@ class MezuroPluginMyprofileController < ProfileController |
89 | 95 | configuration_content = profile.articles.find(params[:id]) |
90 | 96 | metric_name = params[:metric_name] |
91 | 97 | beginning_id = params[:beginning_id] |
92 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(configuration_content.name, metric_name) | |
98 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) | |
93 | 99 | index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f } |
94 | 100 | metric_configuration.ranges[index] = Kalibro::Range.new params[:range] |
95 | 101 | metric_configuration.save |
... | ... | @@ -99,7 +105,7 @@ class MezuroPluginMyprofileController < ProfileController |
99 | 105 | configuration_content = profile.articles.find(params[:id]) |
100 | 106 | metric_name = params[:metric_name] |
101 | 107 | beginning_id = params[:range_beginning] |
102 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(configuration_content.name, metric_name) | |
108 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) | |
103 | 109 | metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f }.inspect |
104 | 110 | metric_configuration.save |
105 | 111 | formatted_metric_name = metric_name.gsub(/\s/, '+') |
... | ... | @@ -113,52 +119,9 @@ class MezuroPluginMyprofileController < ProfileController |
113 | 119 | def remove_metric_configuration |
114 | 120 | configuration_content = profile.articles.find(params[:id]) |
115 | 121 | metric_name = params[:metric_name] |
116 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(configuration_content.name, metric_name) | |
122 | + metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) | |
117 | 123 | metric_configuration.destroy |
118 | 124 | redirect_to "/#{profile.identifier}/#{configuration_content.slug}" |
119 | 125 | end |
120 | 126 | |
121 | - private | |
122 | - | |
123 | - def new_metric_configuration_instance | |
124 | - metric_configuration = Kalibro::MetricConfiguration.new | |
125 | - metric_configuration.metric = Kalibro::NativeMetric.new | |
126 | - assign_metric_configuration_instance(metric_configuration, Kalibro::MetricConfiguration::NATIVE_TYPE) | |
127 | - end | |
128 | - | |
129 | - def new_compound_metric_configuration_instance | |
130 | - metric_configuration = Kalibro::MetricConfiguration.new | |
131 | - metric_configuration.metric = Kalibro::CompoundMetric.new | |
132 | - assign_metric_configuration_instance(metric_configuration, Kalibro::MetricConfiguration::COMPOUND_TYPE) | |
133 | - end | |
134 | - | |
135 | - def assign_metric_configuration_instance(metric_configuration, type=Kalibro::MetricConfiguration::NATIVE_TYPE) | |
136 | - metric_configuration.metric.name = params[:metric_configuration][:metric][:name] | |
137 | - metric_configuration.metric.description = params[:metric_configuration][:metric][:description] | |
138 | - metric_configuration.metric.scope = params[:metric_configuration][:metric][:scope] | |
139 | - metric_configuration.code = params[:metric_configuration][:code] | |
140 | - metric_configuration.weight = params[:metric_configuration][:weight] | |
141 | - metric_configuration.aggregation_form = params[:metric_configuration][:aggregation_form] | |
142 | - | |
143 | - if type == Kalibro::MetricConfiguration::NATIVE_TYPE | |
144 | - metric_configuration.metric.origin = params[:metric_configuration][:metric][:origin] | |
145 | - metric_configuration.metric.language = params[:metric_configuration][:metric][:language] | |
146 | - elsif type == Kalibro::MetricConfiguration::COMPOUND_TYPE | |
147 | - metric_configuration.metric.script = params[:metric_configuration][:metric][:script] | |
148 | - end | |
149 | - metric_configuration | |
150 | - end | |
151 | - | |
152 | - def generic_metric_configuration_creation(metric_configuration, configuration_name) | |
153 | - metric_configuration.save | |
154 | - metric_configuration.metric.name | |
155 | - end | |
156 | - | |
157 | - def auxiliar_update_metric_configuration(type) | |
158 | - metric_name = params[:metric_configuration][:metric][:name] | |
159 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_and_name(@configuration_content.name, metric_name) | |
160 | - metric_configuration = assign_metric_configuration_instance(metric_configuration, type) | |
161 | - metric_configuration.save | |
162 | - end | |
163 | - | |
164 | 127 | end | ... | ... |
plugins/mezuro/lib/kalibro/client/configuration_client.rb
... | ... | @@ -1,45 +0,0 @@ |
1 | -class Kalibro::Client::ConfigurationClient | |
2 | - | |
3 | - def self.configuration(configuration_name) | |
4 | - new.configuration(configuration_name) | |
5 | - end | |
6 | - | |
7 | - def self.save(configuration_content) | |
8 | - begin | |
9 | - configuration = new.configuration(configuration_content.name) | |
10 | - rescue | |
11 | - configuration = Kalibro::Entities::Configuration.new | |
12 | - configuration.name = configuration_content.name | |
13 | - end | |
14 | - | |
15 | - configuration.description = configuration_content.description | |
16 | - new.save(configuration) | |
17 | - end | |
18 | - | |
19 | - def self.remove(configuration_name) | |
20 | - client = new | |
21 | - client.remove(configuration_name) if client.configuration_names.include? configuration_name | |
22 | - end | |
23 | - | |
24 | - def initialize | |
25 | - @port = Kalibro::Client::Port.new('Configuration') | |
26 | - end | |
27 | - | |
28 | - def save(configuration) | |
29 | - @port.request(:save_configuration, {:configuration => configuration.to_hash}) | |
30 | - end | |
31 | - | |
32 | - def configuration_names | |
33 | - @port.request(:get_configuration_names)[:configuration_name].to_a | |
34 | - end | |
35 | - | |
36 | - def configuration(name) | |
37 | - hash = @port.request(:get_configuration, {:configuration_name => name})[:configuration] | |
38 | - Kalibro::Entities::Configuration.from_hash(hash) | |
39 | - end | |
40 | - | |
41 | - def remove(configuration_name) | |
42 | - @port.request(:remove_configuration, {:configuration_name => configuration_name}) | |
43 | - end | |
44 | - | |
45 | -end |
plugins/mezuro/lib/kalibro/configuration.rb
... | ... | @@ -19,11 +19,7 @@ class Kalibro::Configuration < Kalibro::Model |
19 | 19 | end |
20 | 20 | |
21 | 21 | def self.find_by_name(configuration_name) |
22 | - begin | |
23 | - new request("Configuration", :get_configuration, {:configuration_name => configuration_name})[:configuration] | |
24 | - rescue Exception => error | |
25 | - nil | |
26 | - end | |
22 | + new request("Configuration", :get_configuration, {:configuration_name => configuration_name})[:configuration] | |
27 | 23 | end |
28 | 24 | |
29 | 25 | def self.create(configuration_content) |
... | ... | @@ -37,7 +33,7 @@ class Kalibro::Configuration < Kalibro::Model |
37 | 33 | begin |
38 | 34 | self.class.request("Configuration", :save_configuration, {:configuration => to_hash}) |
39 | 35 | true |
40 | - rescue | |
36 | + rescue Exception => error | |
41 | 37 | false |
42 | 38 | end |
43 | 39 | end | ... | ... |
plugins/mezuro/lib/kalibro/entities/configuration.rb
... | ... | @@ -1,21 +0,0 @@ |
1 | -class Kalibro::Entities::Configuration < Kalibro::Entities::Entity | |
2 | - | |
3 | - attr_accessor :name, :description, :metric_configuration | |
4 | - | |
5 | - def metric_configuration=(value) | |
6 | - @metric_configuration = to_entity_array(value, Kalibro::Entities::MetricConfiguration) | |
7 | - end | |
8 | - | |
9 | - def metric_configurations | |
10 | - if @metric_configuration != nil | |
11 | - @metric_configuration | |
12 | - else | |
13 | - [] | |
14 | - end | |
15 | - end | |
16 | - | |
17 | - def metric_configurations=(metric_configurations) | |
18 | - @metric_configuration = metric_configurations | |
19 | - end | |
20 | - | |
21 | -end |
plugins/mezuro/lib/kalibro/metric_configuration.rb
... | ... | @@ -35,7 +35,12 @@ class Kalibro::MetricConfiguration < Kalibro::Model |
35 | 35 | @range = ranges |
36 | 36 | end |
37 | 37 | |
38 | - def self.find_by_configuration_and_metric(configuration_name, metric_name) | |
38 | + def update_attributes(attributes={}) | |
39 | + attributes.each { |field, value| send("#{field}=", value) if self.class.is_valid?(field) } | |
40 | + save | |
41 | + end | |
42 | + | |
43 | + def self.find_by_configuration_name_and_metric_name(configuration_name, metric_name) | |
39 | 44 | metric_configuration = new request("MetricConfiguration", :get_metric_configuration, { |
40 | 45 | :configuration_name => configuration_name, |
41 | 46 | :metric_name => metric_name |
... | ... | @@ -45,14 +50,9 @@ class Kalibro::MetricConfiguration < Kalibro::Model |
45 | 50 | end |
46 | 51 | |
47 | 52 | def save |
48 | - begin | |
49 | 53 | self.class.request("MetricConfiguration", :save_metric_configuration, { |
50 | 54 | :metric_configuration => to_hash, |
51 | 55 | :configuration_name => configuration_name}) |
52 | - true | |
53 | - rescue | |
54 | - false | |
55 | - end | |
56 | 56 | end |
57 | 57 | |
58 | 58 | def destroy | ... | ... |
plugins/mezuro/lib/kalibro/model.rb
... | ... | @@ -19,6 +19,10 @@ class Kalibro::Model |
19 | 19 | hash |
20 | 20 | end |
21 | 21 | |
22 | + def self.request(endpoint, action, request_body = nil) | |
23 | + response = client(endpoint).request(:kalibro, action) { soap.body = request_body } | |
24 | + response.to_hash["#{action}_response".to_sym] # response is a Savon::SOAP::Response, and to_hash is a Savon::SOAP::Response method | |
25 | + end | |
22 | 26 | protected |
23 | 27 | |
24 | 28 | def fields |
... | ... | @@ -46,13 +50,9 @@ class Kalibro::Model |
46 | 50 | Savon::Client.new("#{service_address}#{endpoint}Endpoint/?wsdl") |
47 | 51 | end |
48 | 52 | |
49 | - def self.request(endpoint, action, request_body = nil) | |
50 | - response = client(endpoint).request(:kalibro, action) { soap.body = request_body } | |
51 | - response.to_hash["#{action}_response".to_sym] # response is a Savon::SOAP::Response, and to_hash is a Savon::SOAP::Response method | |
52 | - end | |
53 | 53 | |
54 | 54 | def self.is_valid?(field) |
55 | - field.to_s[0] != '@' and field != :attributes! | |
55 | + field.to_s[0] != '@' and field != :attributes! and (field.to_s =~ /xsi/).nil? | |
56 | 56 | end |
57 | 57 | |
58 | 58 | def to_objects_array(value, model_class = nil) | ... | ... |
plugins/mezuro/lib/kalibro/project.rb
... | ... | @@ -7,11 +7,7 @@ class Kalibro::Project < Kalibro::Model |
7 | 7 | end |
8 | 8 | |
9 | 9 | def self.find_by_name(project_name) |
10 | - begin | |
11 | - new request("Project", :get_project, :project_name => project_name)[:project] | |
12 | - rescue Exception => error | |
13 | - nil | |
14 | - end | |
10 | + new request("Project", :get_project, :project_name => project_name)[:project] | |
15 | 11 | end |
16 | 12 | |
17 | 13 | def self.create(content) | ... | ... |
plugins/mezuro/lib/mezuro_plugin/configuration_content.rb
... | ... | @@ -19,7 +19,16 @@ class MezuroPlugin::ConfigurationContent < Article |
19 | 19 | end |
20 | 20 | |
21 | 21 | def configuration |
22 | - Kalibro::Client::ConfigurationClient.configuration(name) | |
22 | + begin | |
23 | + configuration = Kalibro::Configuration.find_by_name(self.name) | |
24 | + configuration.description = self.description | |
25 | + configuration | |
26 | + rescue Exception | |
27 | + Kalibro::Configuration.new({ | |
28 | + :name => self.name, | |
29 | + :description => self.description | |
30 | + }) | |
31 | + end | |
23 | 32 | end |
24 | 33 | |
25 | 34 | def metric_configurations |
... | ... | @@ -33,7 +42,7 @@ class MezuroPlugin::ConfigurationContent < Article |
33 | 42 | private |
34 | 43 | |
35 | 44 | def validate_kalibro_configuration_name |
36 | - existing = Kalibro::Client::ConfigurationClient.new.configuration_names | |
45 | + existing = Kalibro::Configuration.all_names | |
37 | 46 | existing.each { |a| a.downcase!} |
38 | 47 | |
39 | 48 | if existing.include?(name.downcase) |
... | ... | @@ -42,11 +51,11 @@ class MezuroPlugin::ConfigurationContent < Article |
42 | 51 | end |
43 | 52 | |
44 | 53 | def send_configuration_to_service |
45 | - Kalibro::Client::ConfigurationClient.save(self) | |
54 | + configuration.save | |
46 | 55 | end |
47 | 56 | |
48 | 57 | def remove_configuration_from_service |
49 | - Kalibro::Client::ConfigurationClient.remove(name) | |
58 | + configuration.destroy | |
50 | 59 | end |
51 | 60 | |
52 | 61 | end | ... | ... |
plugins/mezuro/test/fixtures/configuration_fixtures.rb
... | ... | @@ -2,21 +2,19 @@ require File.dirname(__FILE__) + '/metric_configuration_fixtures' |
2 | 2 | |
3 | 3 | class ConfigurationFixtures |
4 | 4 | |
5 | - def self.kalibro_configuration | |
6 | - configuration = Kalibro::Entities::Configuration.new | |
7 | - configuration.name = 'Kalibro for Java' | |
8 | - configuration.description = 'Kalibro configuration for Java projects.' | |
9 | - configuration.metric_configurations = [ | |
10 | - MetricConfigurationFixtures.amloc_configuration, | |
11 | - MetricConfigurationFixtures.sc_configuration] | |
12 | - configuration | |
5 | + def self.configuration | |
6 | + Kalibro::Configuration.new configuration_hash | |
13 | 7 | end |
14 | 8 | |
15 | - def self.kalibro_configuration_hash | |
16 | - {:name => 'Kalibro for Java', :description => 'Kalibro configuration for Java projects.', | |
9 | + def self.configuration_hash | |
10 | + { | |
11 | + :name => 'Kalibro for Java', | |
12 | + :description => 'Kalibro configuration for Java projects.', | |
17 | 13 | :metric_configuration => [ |
18 | - MetricConfigurationFixtures.amloc_configuration_hash, | |
19 | - MetricConfigurationFixtures.sc_configuration_hash]} | |
14 | + MetricConfigurationFixtures.amloc_metric_configuration_hash, | |
15 | + MetricConfigurationFixtures.sc_metric_configuration_hash | |
16 | + ] | |
17 | + } | |
20 | 18 | end |
21 | - | |
19 | + | |
22 | 20 | end | ... | ... |
plugins/mezuro/test/unit/kalibro/client/configuration_client_test.rb
... | ... | @@ -1,50 +0,0 @@ |
1 | -require "test_helper" | |
2 | - | |
3 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | |
4 | - | |
5 | -class ConfigurationClientTest < ActiveSupport::TestCase | |
6 | - | |
7 | - def setup | |
8 | - @port = mock | |
9 | - Kalibro::Client::Port.expects(:new).with('Configuration').returns(@port) | |
10 | - @client = Kalibro::Client::ConfigurationClient.new | |
11 | - end | |
12 | - | |
13 | - should 'save configuration' do | |
14 | - configuration = ConfigurationFixtures.kalibro_configuration | |
15 | - @port.expects(:request).with(:save_configuration, {:configuration => configuration.to_hash}) | |
16 | - @client.save(configuration) | |
17 | - end | |
18 | - | |
19 | - should 'get configuration names (zero)' do | |
20 | - @port.expects(:request).with(:get_configuration_names).returns({}) | |
21 | - assert_equal [], @client.configuration_names | |
22 | - end | |
23 | - | |
24 | - should 'get configuration names (one)' do | |
25 | - name = 'Kalibro for Java' | |
26 | - @port.expects(:request).with(:get_configuration_names).returns({:configuration_name => name}) | |
27 | - assert_equal [name], @client.configuration_names | |
28 | - end | |
29 | - | |
30 | - should 'get configuration names' do | |
31 | - names = ['Kalibro for Java', 'ConfigurationClientTest configuration'] | |
32 | - @port.expects(:request).with(:get_configuration_names).returns({:configuration_name => names}) | |
33 | - assert_equal names, @client.configuration_names | |
34 | - end | |
35 | - | |
36 | - should 'get configuration by name' do | |
37 | - configuration = ConfigurationFixtures.kalibro_configuration | |
38 | - request_body = {:configuration_name => configuration.name} | |
39 | - response_hash = {:configuration => configuration.to_hash} | |
40 | - @port.expects(:request).with(:get_configuration, request_body).returns(response_hash) | |
41 | - assert_equal configuration, @client.configuration(configuration.name) | |
42 | - end | |
43 | - | |
44 | - should 'remove configuration by name' do | |
45 | - name = 'ConfigurationClientTest' | |
46 | - @port.expects(:request).with(:remove_configuration, {:configuration_name => name}) | |
47 | - @client.remove(name) | |
48 | - end | |
49 | - | |
50 | -end | |
51 | 0 | \ No newline at end of file |
plugins/mezuro/test/unit/kalibro/client/port_test.rb
... | ... | @@ -1,34 +0,0 @@ |
1 | -require "test_helper" | |
2 | - | |
3 | -class PortTest < ActiveSupport::TestCase | |
4 | - | |
5 | - def setup | |
6 | - @client = mock | |
7 | - set_default_address | |
8 | - Savon::Client.expects(:new).with("#{@default_address}PortTestEndpoint/?wsdl").returns(@client) | |
9 | - @port = Kalibro::Client::Port.new('PortTest') | |
10 | - end | |
11 | - | |
12 | - | |
13 | - should 'get default address' do | |
14 | - assert_equal @default_address, @port.service_address | |
15 | - end | |
16 | - | |
17 | - should 'request action and return response' do | |
18 | - response_body = {:port_test_response_key => 'PortTest response value'} | |
19 | - response_hash = {:port_test_action_response => response_body} | |
20 | - response = mock | |
21 | - response.expects(:to_hash).returns(response_hash) | |
22 | - @client.expects(:request).with(:kalibro, :port_test_action).returns(response) | |
23 | - | |
24 | - assert_equal response_body, @port.request(:port_test_action) | |
25 | - end | |
26 | - | |
27 | - private | |
28 | - | |
29 | - def set_default_address | |
30 | - service_file = "#{RAILS_ROOT}/plugins/mezuro/SERVICE" | |
31 | - File.open(service_file).each_line{ | line | @default_address = line } | |
32 | - end | |
33 | - | |
34 | -end | |
35 | 0 | \ No newline at end of file |
... | ... | @@ -0,0 +1,58 @@ |
1 | +require "test_helper" | |
2 | + | |
3 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | |
4 | + | |
5 | +class ConfigurationTest < ActiveSupport::TestCase | |
6 | + | |
7 | + def setup | |
8 | + @hash = ConfigurationFixtures.configuration_hash | |
9 | + @configuration = ConfigurationFixtures.configuration | |
10 | + end | |
11 | + | |
12 | + should 'initialize configuration' do | |
13 | + assert_equal @hash[:name], Kalibro::Configuration.new(@hash).name | |
14 | + end | |
15 | + | |
16 | + should 'convert configuration to hash' do | |
17 | + assert_equal @hash, @configuration.to_hash | |
18 | + end | |
19 | + | |
20 | + should 'return true when configuration is saved successfully' do | |
21 | + Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash}) | |
22 | + assert @configuration.save | |
23 | + end | |
24 | + | |
25 | + should 'return false when configuration is not saved successfully' do | |
26 | + Kalibro::Configuration.expects(:request).with("Configuration", :save_configuration, {:configuration => @configuration.to_hash}).raises(Exception.new) | |
27 | + assert !(@configuration.save) | |
28 | + end | |
29 | + | |
30 | + should 'get all configuration names' do | |
31 | + names = ['Kalibro for Java', 'ConfigurationClientTest configuration'] | |
32 | + Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration_names).returns({:configuration_name => names}) | |
33 | + assert_equal names, Kalibro::Configuration.all_names | |
34 | + end | |
35 | + | |
36 | + should 'find configuration by name' do | |
37 | + request_body = {:configuration_name => @configuration.name} | |
38 | + response_hash = {:configuration => @configuration.to_hash} | |
39 | + Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).returns(response_hash) | |
40 | + assert_equal @configuration.name, Kalibro::Configuration.find_by_name(@configuration.name).name | |
41 | + end | |
42 | + | |
43 | + should 'raise error when configuration doesnt exist' do | |
44 | + request_body = {:configuration_name => @configuration.name} | |
45 | + Kalibro::Configuration.expects(:request).with("Configuration", :get_configuration, request_body).raises(Exception.new) | |
46 | + assert_raise Exception do Kalibro::Configuration.find_by_name(@configuration.name) end | |
47 | + end | |
48 | + | |
49 | + should 'destroy configuration by name' do | |
50 | + Kalibro::Configuration.expects(:request).with("Configuration", :remove_configuration, {:configuration_name => @configuration.name}) | |
51 | + @configuration.destroy | |
52 | + end | |
53 | + | |
54 | + should 'raise error when try to destroy inexistent configuration from service' do | |
55 | + Kalibro::Configuration.expects(:request).with("Configuration", :remove_configuration, {:configuration_name => @configuration.name}).raises(Exception.new) | |
56 | + assert_raise Exception do @configuration.destroy end | |
57 | + end | |
58 | +end | ... | ... |
plugins/mezuro/test/unit/kalibro/entities/configuration_test.rb
... | ... | @@ -1,20 +0,0 @@ |
1 | -require "test_helper" | |
2 | - | |
3 | -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" | |
4 | - | |
5 | -class ConfigurationTest < ActiveSupport::TestCase | |
6 | - | |
7 | - def setup | |
8 | - @hash = ConfigurationFixtures.kalibro_configuration_hash | |
9 | - @configuration = ConfigurationFixtures.kalibro_configuration | |
10 | - end | |
11 | - | |
12 | - should 'create configuration from hash' do | |
13 | - assert_equal @configuration, Kalibro::Entities::Configuration.from_hash(@hash) | |
14 | - end | |
15 | - | |
16 | - should 'convert configuration to hash' do | |
17 | - assert_equal @hash, @configuration.to_hash | |
18 | - end | |
19 | - | |
20 | -end |
plugins/mezuro/test/unit/kalibro/entities/entity_test.rb
... | ... | @@ -1,51 +0,0 @@ |
1 | -require "test_helper" | |
2 | - | |
3 | -class EntityTest < ActiveSupport::TestCase | |
4 | - | |
5 | - def setup | |
6 | - @hash = {:name => 'Carlos', :age => 25, | |
7 | - :brothers => [{:name => 'Saulo', :age => 22}, {:name => 'Isis', :age => 26}]} | |
8 | - @person = Person.create('Carlos', 25) | |
9 | - @person.brothers = [Person.create('Saulo', 22), Person.create('Isis', 26)] | |
10 | - @clone = @person.clone | |
11 | - end | |
12 | - | |
13 | - should 'be equal to clone' do | |
14 | - assert_equal @person, @clone | |
15 | - end | |
16 | - | |
17 | - should 'be different when field is different' do | |
18 | - @clone.name = 'Other' | |
19 | - assert @person != @clone | |
20 | - end | |
21 | - | |
22 | - should 'not throw exception when comparing with incompatible object' do | |
23 | - assert @person != @hash | |
24 | - end | |
25 | - | |
26 | - should 'create from hash' do | |
27 | - assert_equal @person, Person.from_hash(@hash) | |
28 | - end | |
29 | - | |
30 | - should 'convert to hash' do | |
31 | - assert_equal @hash, @person.to_hash | |
32 | - end | |
33 | - | |
34 | - class Person < Kalibro::Entities::Entity | |
35 | - | |
36 | - attr_accessor :name, :age, :brothers | |
37 | - | |
38 | - def self.create(name, age) | |
39 | - person = Person.new | |
40 | - person.name = name | |
41 | - person.age = age | |
42 | - person | |
43 | - end | |
44 | - | |
45 | - def brothers=(value) | |
46 | - @brothers = to_entity_array(value, Person) | |
47 | - end | |
48 | - | |
49 | - end | |
50 | - | |
51 | -end | |
52 | 0 | \ No newline at end of file |
plugins/mezuro/test/unit/kalibro/project_test.rb
... | ... | @@ -27,7 +27,7 @@ class ProjectTest < ActiveSupport::TestCase |
27 | 27 | should 'raise error when project doesnt exist' do |
28 | 28 | request_body = {:project_name => @project.name} |
29 | 29 | Kalibro::Project.expects(:request).with("Project", :get_project, request_body).raises(Exception.new("(S:Server) There is no project named " + @project.name)) |
30 | - assert_nil Kalibro::Project.find_by_name(@project.name) | |
30 | + assert_raise Exception do Kalibro::Project.find_by_name(@project.name) end | |
31 | 31 | end |
32 | 32 | |
33 | 33 | should 'return true when project is saved successfully' do | ... | ... |
plugins/mezuro/test/unit/mezuro_plugin/configuration_content_test.rb
... | ... | @@ -5,7 +5,7 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" |
5 | 5 | class ConfigurationContentTest < ActiveSupport::TestCase |
6 | 6 | |
7 | 7 | def setup |
8 | - @configuration = ConfigurationFixtures.kalibro_configuration | |
8 | + @configuration = ConfigurationFixtures.configuration | |
9 | 9 | @content = MezuroPlugin::ConfigurationContent.new |
10 | 10 | @content.name = @configuration.name |
11 | 11 | @content.description = @configuration.description |
... | ... | @@ -28,15 +28,13 @@ class ConfigurationContentTest < ActiveSupport::TestCase |
28 | 28 | end |
29 | 29 | |
30 | 30 | should 'not save a configuration with an existing cofiguration name in kalibro' do |
31 | - client = mock | |
32 | - Kalibro::Client::ConfigurationClient.expects(:new).returns(client) | |
33 | - client.expects(:configuration_names).returns([@content.name.upcase]) | |
31 | + Kalibro::Configuration.expects(:all_names).returns([@content.name.upcase]) | |
34 | 32 | @content.send :validate_kalibro_configuration_name |
35 | 33 | assert_equal "Configuration name already exists in Kalibro", @content.errors.on_base |
36 | 34 | end |
37 | 35 | |
38 | 36 | should 'get configuration from service' do |
39 | - Kalibro::Client::ConfigurationClient.expects(:configuration).with(@content.name).returns(@configuration) | |
37 | + Kalibro::Configuration.expects(:find_by_name).with(@content.name).returns(@configuration) | |
40 | 38 | assert_equal @configuration, @content.configuration |
41 | 39 | end |
42 | 40 | |
... | ... | @@ -46,12 +44,20 @@ class ConfigurationContentTest < ActiveSupport::TestCase |
46 | 44 | end |
47 | 45 | |
48 | 46 | should 'send correct configuration to service' do |
49 | - Kalibro::Client::ConfigurationClient.expects(:save).with(@content) | |
47 | + Kalibro::Configuration.expects(:find_by_name).with(@content.name).returns(@configuration) | |
48 | + @configuration.expects(:save).returns(true) | |
49 | + @content.send :send_configuration_to_service | |
50 | + end | |
51 | + | |
52 | + should 'send correct configuration to service but comunication fails' do | |
53 | + Kalibro::Configuration.expects(:find_by_name).with(@content.name).returns(@configuration) | |
54 | + @configuration.expects(:save).returns(false) | |
50 | 55 | @content.send :send_configuration_to_service |
51 | 56 | end |
52 | 57 | |
53 | 58 | should 'remove configuration from service' do |
54 | - Kalibro::Client::ConfigurationClient.expects(:remove).with(@content.name) | |
59 | + Kalibro::Configuration.expects(:find_by_name).with(@content.name).returns(@configuration) | |
60 | + @configuration.expects(:destroy) | |
55 | 61 | @content.send :remove_configuration_from_service |
56 | 62 | end |
57 | 63 | ... | ... |
plugins/mezuro/views/cms/mezuro_plugin/_configuration_content.html.erb
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | |
3 | 3 | <% |
4 | 4 | begin |
5 | - @configuration = @article.title.nil? ? nil : Kalibro::Client::ConfigurationClient.new.configuration(@article.title) | |
5 | + @configuration = @article.title.nil? ? nil : Kalibro::Configuration.find_by_name(@article.title) | |
6 | 6 | rescue |
7 | 7 | @configuration = nil |
8 | 8 | end | ... | ... |
plugins/mezuro/views/content_viewer/show_configuration.rhtml
1 | 1 | <% @configuration_content = @page |
2 | -@configuration = Kalibro::Client::ConfigurationClient.new.configuration(@configuration_content.name) %> | |
2 | +@configuration = Kalibro::Configuration.find_by_name(@configuration_content.name) %> | |
3 | 3 | |
4 | 4 | <table id="project_info"> |
5 | 5 | <tr> |
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | <% @configuration.metric_configurations.each do |metric_configuration| %> |
27 | 27 | <tr class="metric"> |
28 | 28 | <td><%= metric_configuration.metric.name %></td> |
29 | - <% if metric_configuration.metric.instance_of? Kalibro::Entities::NativeMetric %> | |
29 | + <% if metric_configuration.metric.instance_of? Kalibro::NativeMetric %> | |
30 | 30 | <td> |
31 | 31 | <%= metric_configuration.metric.origin %> |
32 | 32 | </td> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/edit_compound_metric_configuration.html.erb
... | ... | @@ -2,6 +2,8 @@ |
2 | 2 | |
3 | 3 | <% form_for :metric_configuration, :url => {:action =>"update_compound_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> |
4 | 4 | <%= hidden_field_tag :id, @configuration_content.id %> |
5 | + <%= f.hidden_field :configuration_name, :value => @configuration_content.name %> | |
6 | + | |
5 | 7 | <p> |
6 | 8 | <%= "Metric Name:" + @metric.name %> |
7 | 9 | </p> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | |
5 | 5 | <% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> |
6 | 6 | <%= hidden_field_tag :id, @configuration_content.id %> |
7 | + <%= f.hidden_field :configuration_name, :value => @configuration_content.name %> | |
7 | 8 | |
8 | 9 | <% f.fields_for :metric do |m| %> |
9 | 10 | |
... | ... | @@ -67,7 +68,9 @@ |
67 | 68 | </td> |
68 | 69 | <td> |
69 | 70 | Color |
70 | - </td> | |
71 | + </td> | |
72 | + <td></td> | |
73 | + <td></td> | |
71 | 74 | </tr> |
72 | 75 | <% if (@metric_configuration.ranges!=nil) |
73 | 76 | @metric_configuration.ranges.each do |range| %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/new_compound_metric_configuration.html.erb
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 | <% form_for :metric_configuration, :url => {:action =>"create_compound_metric_configuration", |
4 | 4 | :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> |
5 | 5 | <%= hidden_field_tag :id, @configuration_content.id %> |
6 | + <%= f.hidden_field :configuration_name, :value => @configuration_content.name %> | |
7 | + | |
6 | 8 | <% f.fields_for :metric do |m| %> |
7 | 9 | <p> |
8 | 10 | <%= m.label :name, "Name:" %> | ... | ... |
plugins/mezuro/views/mezuro_plugin_myprofile/new_metric_configuration.html.erb
1 | 1 | <script src="/plugins/mezuro/javascripts/validations.js" type="text/javascript"></script> |
2 | 2 | |
3 | -<h2><%= @configuration_content.name %> Configuration</h2> | |
3 | +<h2><%= @configuration_content.name %>Configuration</h2> | |
4 | 4 | |
5 | 5 | <% form_for :metric_configuration, :url => {:action =>"create_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> |
6 | 6 | <%= hidden_field_tag :id, @configuration_content.id %> |
7 | + <%= f.hidden_field :configuration_name, :value => @configuration_content.name %> | |
7 | 8 | |
8 | 9 | <% f.fields_for :metric do |m| %> |
9 | 10 | ... | ... |