From 66fb1ebe1c66cd4f92140c22f5b2b4d12063e873 Mon Sep 17 00:00:00 2001 From: João M. M. da Silva + Caio Salgado Date: Mon, 16 Jul 2012 16:47:34 -0300 Subject: [PATCH] [Mezuro] Refactored module result to model and refactored tests --- plugins/mezuro/lib/kalibro/base_tool.rb | 2 +- plugins/mezuro/lib/kalibro/client/module_result_client.rb | 19 ------------------- plugins/mezuro/lib/kalibro/compound_metric_with_error.rb | 13 +++++++++++++ plugins/mezuro/lib/kalibro/configuration.rb | 2 +- plugins/mezuro/lib/kalibro/entities/compound_metric_with_error.rb | 13 ------------- plugins/mezuro/lib/kalibro/entities/error.rb | 21 --------------------- plugins/mezuro/lib/kalibro/entities/metric_result.rb | 38 -------------------------------------- plugins/mezuro/lib/kalibro/entities/module.rb | 18 ------------------ plugins/mezuro/lib/kalibro/entities/module_result.rb | 42 ------------------------------------------ plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb | 9 --------- plugins/mezuro/lib/kalibro/error.rb | 21 +++++++++++++++++++++ plugins/mezuro/lib/kalibro/metric_configuration.rb | 6 +++--- plugins/mezuro/lib/kalibro/metric_result.rb | 6 +++--- plugins/mezuro/lib/kalibro/model.rb | 41 ++++++++++++++++++++--------------------- plugins/mezuro/lib/kalibro/module.rb | 18 ++++++++++++++++++ plugins/mezuro/lib/kalibro/module_result.rb | 27 +++++++++++++++++++++++---- plugins/mezuro/lib/kalibro/native_metric.rb | 2 +- plugins/mezuro/lib/kalibro/project.rb | 2 +- plugins/mezuro/lib/kalibro/stack_trace_element.rb | 9 +++++++++ plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb | 17 +++++++++-------- plugins/mezuro/test/fixtures/error_fixtures.rb | 22 ++++++++++------------ plugins/mezuro/test/fixtures/metric_result_fixtures.rb | 39 +++++++++++++++++++++++++++------------ plugins/mezuro/test/fixtures/module_fixtures.rb | 9 +++------ plugins/mezuro/test/fixtures/module_result_fixtures.rb | 15 ++++++++++----- plugins/mezuro/test/fixtures/stack_trace_element_fixtures.rb | 19 +++++++++---------- plugins/mezuro/test/unit/kalibro/client/module_result_client_test.rb | 29 ----------------------------- plugins/mezuro/test/unit/kalibro/compound_metric_with_error_test.rb | 20 ++++++++++++++++++++ plugins/mezuro/test/unit/kalibro/entities/compound_metric_with_error_test.rb | 20 -------------------- plugins/mezuro/test/unit/kalibro/entities/error_test.rb | 20 -------------------- plugins/mezuro/test/unit/kalibro/entities/metric_result_test.rb | 30 ------------------------------ plugins/mezuro/test/unit/kalibro/entities/module_result_test.rb | 20 -------------------- plugins/mezuro/test/unit/kalibro/entities/module_test.rb | 30 ------------------------------ plugins/mezuro/test/unit/kalibro/entities/stack_trace_element_test.rb | 20 -------------------- plugins/mezuro/test/unit/kalibro/error_test.rb | 20 ++++++++++++++++++++ plugins/mezuro/test/unit/kalibro/metric_result_test.rb | 30 ++++++++++++++++++++++++++++++ plugins/mezuro/test/unit/kalibro/module_result_test.rb | 13 +++++++------ plugins/mezuro/test/unit/kalibro/module_test.rb | 30 ++++++++++++++++++++++++++++++ plugins/mezuro/test/unit/kalibro/stack_trace_element_test.rb | 20 ++++++++++++++++++++ plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb | 2 +- 39 files changed, 310 insertions(+), 424 deletions(-) delete mode 100644 plugins/mezuro/lib/kalibro/client/module_result_client.rb create mode 100644 plugins/mezuro/lib/kalibro/compound_metric_with_error.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/compound_metric_with_error.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/error.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/metric_result.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/module.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/module_result.rb delete mode 100644 plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb create mode 100644 plugins/mezuro/lib/kalibro/error.rb create mode 100644 plugins/mezuro/lib/kalibro/module.rb create mode 100644 plugins/mezuro/lib/kalibro/stack_trace_element.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/client/module_result_client_test.rb create mode 100644 plugins/mezuro/test/unit/kalibro/compound_metric_with_error_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/compound_metric_with_error_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/error_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/metric_result_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/module_result_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/module_test.rb delete mode 100644 plugins/mezuro/test/unit/kalibro/entities/stack_trace_element_test.rb create mode 100644 plugins/mezuro/test/unit/kalibro/error_test.rb create mode 100644 plugins/mezuro/test/unit/kalibro/metric_result_test.rb create mode 100644 plugins/mezuro/test/unit/kalibro/module_test.rb create mode 100644 plugins/mezuro/test/unit/kalibro/stack_trace_element_test.rb diff --git a/plugins/mezuro/lib/kalibro/base_tool.rb b/plugins/mezuro/lib/kalibro/base_tool.rb index 4f1db1e..a57e16e 100644 --- a/plugins/mezuro/lib/kalibro/base_tool.rb +++ b/plugins/mezuro/lib/kalibro/base_tool.rb @@ -11,7 +11,7 @@ class Kalibro::BaseTool < Kalibro::Model end def supported_metric=(value) - @supported_metric = to_objects_array(value, Kalibro::NativeMetric) + @supported_metric = Kalibro::NativeMetric.to_objects_array value end def supported_metrics diff --git a/plugins/mezuro/lib/kalibro/client/module_result_client.rb b/plugins/mezuro/lib/kalibro/client/module_result_client.rb deleted file mode 100644 index 44a70a1..0000000 --- a/plugins/mezuro/lib/kalibro/client/module_result_client.rb +++ /dev/null @@ -1,19 +0,0 @@ -class Kalibro::Client::ModuleResultClient - - def initialize - @port = Kalibro::Client::Port.new('ModuleResult') - end - - def module_result(project_name, module_name, date) - hash = @port.request(:get_module_result, - {:project_name => project_name, :module_name => module_name, - :date => Kalibro::Entities::Entity.date_with_milliseconds(date)})[:module_result] - Kalibro::Entities::ModuleResult.from_hash(hash) - end - - def result_history(project_name, module_name) - value = @port.request(:get_result_history, - {:project_name => project_name, :module_name => module_name})[:module_result] - Kalibro::Entities::Entity.new.to_entity_array(value, Kalibro::Entities::ModuleResult) - end -end diff --git a/plugins/mezuro/lib/kalibro/compound_metric_with_error.rb b/plugins/mezuro/lib/kalibro/compound_metric_with_error.rb new file mode 100644 index 0000000..0a0f1d1 --- /dev/null +++ b/plugins/mezuro/lib/kalibro/compound_metric_with_error.rb @@ -0,0 +1,13 @@ +class Kalibro::CompoundMetricWithError < Kalibro::Model + + attr_accessor :metric, :error + + def metric=(value) + @metric = Kalibro::CompoundMetric.to_object value + end + + def error=(value) + @error = Kalibro::Error.to_object value + end + +end diff --git a/plugins/mezuro/lib/kalibro/configuration.rb b/plugins/mezuro/lib/kalibro/configuration.rb index 7317960..6ce1525 100644 --- a/plugins/mezuro/lib/kalibro/configuration.rb +++ b/plugins/mezuro/lib/kalibro/configuration.rb @@ -3,7 +3,7 @@ class Kalibro::Configuration < Kalibro::Model attr_accessor :name, :description, :metric_configuration def metric_configuration=(value) - @metric_configuration = to_objects_array(value, Kalibro::MetricConfiguration) + @metric_configuration = Kalibro::MetricConfiguration.to_objects_array value end def metric_configurations diff --git a/plugins/mezuro/lib/kalibro/entities/compound_metric_with_error.rb b/plugins/mezuro/lib/kalibro/entities/compound_metric_with_error.rb deleted file mode 100644 index ce234ac..0000000 --- a/plugins/mezuro/lib/kalibro/entities/compound_metric_with_error.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Kalibro::Entities::CompoundMetricWithError < Kalibro::Entities::Entity - - attr_accessor :metric, :error - - def metric=(value) - @metric = to_entity(value, Kalibro::Entities::CompoundMetric) - end - - def error=(value) - @error = to_entity(value, Kalibro::Entities::Error) - end - -end \ No newline at end of file diff --git a/plugins/mezuro/lib/kalibro/entities/error.rb b/plugins/mezuro/lib/kalibro/entities/error.rb deleted file mode 100644 index 23b1316..0000000 --- a/plugins/mezuro/lib/kalibro/entities/error.rb +++ /dev/null @@ -1,21 +0,0 @@ -class Kalibro::Entities::Error < Kalibro::Entities::Entity - - attr_accessor :error_class, :message, :stack_trace_element, :cause - - def stack_trace_element=(value) - @stack_trace_element = to_entity_array(value, Kalibro::Entities::StackTraceElement) - end - - def stack_trace - @stack_trace_element - end - - def stack_trace=(stack_trace) - @stack_trace_element = stack_trace - end - - def cause=(cause_value) - @cause = to_entity(cause_value, Kalibro::Entities::Error) - end - -end diff --git a/plugins/mezuro/lib/kalibro/entities/metric_result.rb b/plugins/mezuro/lib/kalibro/entities/metric_result.rb deleted file mode 100644 index 86fa84c..0000000 --- a/plugins/mezuro/lib/kalibro/entities/metric_result.rb +++ /dev/null @@ -1,38 +0,0 @@ -class Kalibro::Entities::MetricResult < Kalibro::Entities::Entity - - attr_accessor :metric, :value, :range, :descendent_result, :weight - - def metric=(value) - if value.kind_of?(Hash) - if value.has_key?(:script) - @metric = to_entity(value, Kalibro::CompoundMetric) - else - @metric = to_entity(value, Kalibro::NativeMetric) - end - else - @metric = value - end - end - - def value=(value) - @value = value.to_f - end - - def range=(value) - @range = to_entity(value, Kalibro::Entities::Range) - end - - def descendent_result=(value) - array = value.kind_of?(Array) ? value : [value] - @descendent_result = array.collect {|element| element.to_f} - end - - def descendent_results - @descendent_result - end - - def descendent_results=(descendent_results) - @descendent_result = descendent_results - end - -end diff --git a/plugins/mezuro/lib/kalibro/entities/module.rb b/plugins/mezuro/lib/kalibro/entities/module.rb deleted file mode 100644 index e2994a9..0000000 --- a/plugins/mezuro/lib/kalibro/entities/module.rb +++ /dev/null @@ -1,18 +0,0 @@ -class Kalibro::Entities::Module < Kalibro::Entities::Entity - - attr_accessor :name, :granularity - - def self.parent_names(name) - path = [] - ancestors = [] - name.split(".").each do |token| - path << token - ancestors << path.join(".") - end - ancestors - end - - def ancestor_names - Kalibro::Entities::Module.parent_names(@name) - end -end diff --git a/plugins/mezuro/lib/kalibro/entities/module_result.rb b/plugins/mezuro/lib/kalibro/entities/module_result.rb deleted file mode 100644 index 948c22e..0000000 --- a/plugins/mezuro/lib/kalibro/entities/module_result.rb +++ /dev/null @@ -1,42 +0,0 @@ -class Kalibro::Entities::ModuleResult < Kalibro::Entities::Entity - - attr_accessor :module, :date, :grade, :metric_result, :compound_metric_with_error - - def module=(value) - @module = to_entity(value, Kalibro::Entities::Module) - end - - def date=(value) - @date = value - @date = DateTime.parse(value) if value.is_a?(String) - end - - def grade=(value) - @grade = value.to_f - end - - def metric_result=(value) - @metric_result = to_entity_array(value, Kalibro::Entities::MetricResult) - end - - def metric_results - @metric_result - end - - def metric_results=(metric_results) - @metric_result = metric_results - end - - def compound_metric_with_error=(value) - @compound_metric_with_error = to_entity_array(value, Kalibro::Entities::CompoundMetricWithError) - end - - def compound_metrics_with_error - @compound_metric_with_error - end - - def compound_metrics_with_error=(compound_metrics_with_error) - @compound_metric_with_error = compound_metrics_with_error - end - -end \ No newline at end of file diff --git a/plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb b/plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb deleted file mode 100644 index 5c8ae8a..0000000 --- a/plugins/mezuro/lib/kalibro/entities/stack_trace_element.rb +++ /dev/null @@ -1,9 +0,0 @@ -class Kalibro::Entities::StackTraceElement < Kalibro::Entities::Entity - - attr_accessor :declaring_class, :method_name, :file_name, :line_number - - def line_number=(value) - @line_number = value.to_i - end - -end \ No newline at end of file diff --git a/plugins/mezuro/lib/kalibro/error.rb b/plugins/mezuro/lib/kalibro/error.rb new file mode 100644 index 0000000..3c7f95c --- /dev/null +++ b/plugins/mezuro/lib/kalibro/error.rb @@ -0,0 +1,21 @@ +class Kalibro::Error < Kalibro::Model + + attr_accessor :error_class, :message, :stack_trace_element, :cause + + def stack_trace_element=(value) + @stack_trace_element = Kalibro::StackTraceElement.to_objects_array value + end + + def stack_trace + @stack_trace_element + end + + def stack_trace=(stack_trace) + @stack_trace_element = stack_trace + end + + def cause=(cause_value) + @cause = Kalibro::Error.to_object cause_value + end + +end diff --git a/plugins/mezuro/lib/kalibro/metric_configuration.rb b/plugins/mezuro/lib/kalibro/metric_configuration.rb index b2a6461..cb79bdf 100644 --- a/plugins/mezuro/lib/kalibro/metric_configuration.rb +++ b/plugins/mezuro/lib/kalibro/metric_configuration.rb @@ -7,8 +7,8 @@ class Kalibro::MetricConfiguration < Kalibro::Model def metric=(value) if value.kind_of?(Hash) - @metric = to_object(value, Kalibro::NativeMetric) if value.has_key?(:origin) - @metric = to_object(value, Kalibro::CompoundMetric) if value.has_key?(:script) + @metric = Kalibro::NativeMetric.to_object(value) if value.has_key?(:origin) + @metric = Kalibro::CompoundMetric.to_object(value) if value.has_key?(:script) else @metric = value end @@ -19,7 +19,7 @@ class Kalibro::MetricConfiguration < Kalibro::Model end def range=(value) - @range = to_objects_array(value, Kalibro::Range) + @range = Kalibro::Range.to_objects_array value end def add_range(new_range) diff --git a/plugins/mezuro/lib/kalibro/metric_result.rb b/plugins/mezuro/lib/kalibro/metric_result.rb index 5d3780c..c5809ba 100644 --- a/plugins/mezuro/lib/kalibro/metric_result.rb +++ b/plugins/mezuro/lib/kalibro/metric_result.rb @@ -4,12 +4,12 @@ class Kalibro::MetricResult < Kalibro::Model def metric=(value) if value.kind_of?(Hash) - compound?(value) ? @metric = to_object(value, Kalibro::CompoundMetric) : @metric = to_object(value, Kalibro::NativeMetric) + compound?(value) ? @metric = Kalibro::CompoundMetric.to_object(value) : @metric = Kalibro::NativeMetric.to_object(value) else @metric = value end end - + def compound?(metric) metric.has_key?(:script) end @@ -19,7 +19,7 @@ class Kalibro::MetricResult < Kalibro::Model end def range=(value) - @range = to_object(value, Kalibro::Range) + @range = Kalibro::Range.to_object value end def descendent_result=(value) diff --git a/plugins/mezuro/lib/kalibro/model.rb b/plugins/mezuro/lib/kalibro/model.rb index 3cb2db9..c090bd4 100644 --- a/plugins/mezuro/lib/kalibro/model.rb +++ b/plugins/mezuro/lib/kalibro/model.rb @@ -4,11 +4,11 @@ class Kalibro::Model attributes.each { |field, value| send("#{field}=", value) if self.class.is_valid?(field) } end - def to_hash # Convert an object into a hash + def to_hash hash = Hash.new fields.each do |field| field_value = send(field) - hash[field] = convert_to_hash(field_value) + hash[field] = convert_to_hash(field_value) if ! field_value.nil? if field_value.is_a?(Kalibro::Model) hash = {:attributes! => {}}.merge(hash) hash[:attributes!][field.to_sym] = { @@ -18,7 +18,21 @@ class Kalibro::Model end hash end - + + def self.request(endpoint, action, request_body = nil) + response = client(endpoint).request(:kalibro, action) { soap.body = request_body } + response.to_hash["#{action}_response".to_sym] # response is a Savon::SOAP::Response, and to_hash is a Savon::SOAP::Response method + end + + def self.to_objects_array value + array = value.kind_of?(Array) ? value : [value] + array.each.collect { |element| to_object(element) } + end + + def self.to_object value + value.kind_of?(Hash) ? new(value) : value + end + protected def fields @@ -29,13 +43,14 @@ class Kalibro::Model return value if value.nil? return value.collect { |element| convert_to_hash(element) } if value.is_a?(Array) return value.to_hash if value.is_a?(Kalibro::Model) + return self.class.date_with_milliseconds(value) if value.is_a?(DateTime) return 'INF' if value.is_a?(Float) and value.infinite? == 1 return '-INF' if value.is_a?(Float) and value.infinite? == -1 value end - def xml_class_name(entity) - xml_name = entity.class.name + def xml_class_name(object) + xml_name = object.class.name xml_name["Kalibro::"] = "" xml_name[0..0] = xml_name[0..0].downcase xml_name + "Xml" @@ -46,24 +61,8 @@ class Kalibro::Model Savon::Client.new("#{service_address}#{endpoint}Endpoint/?wsdl") end - def self.is_valid?(field) field.to_s[0] != '@' and field != :attributes! and (field.to_s =~ /xsi/).nil? end - def self.request(endpoint, action, request_body = nil) - response = client(endpoint).request(:kalibro, action) { soap.body = request_body } - response.to_hash["#{action}_response".to_sym] # response is a Savon::SOAP::Response, and to_hash is a Savon::SOAP::Response method - end - - def to_objects_array(value, model_class = nil) - array = value.kind_of?(Array) ? value : [value] - array.each.collect { |element| to_object(element, model_class) } - end - - def to_object(value, model_class) - value.kind_of?(Hash) ? model_class.new(value) : value - end - end - diff --git a/plugins/mezuro/lib/kalibro/module.rb b/plugins/mezuro/lib/kalibro/module.rb new file mode 100644 index 0000000..f11c2ff --- /dev/null +++ b/plugins/mezuro/lib/kalibro/module.rb @@ -0,0 +1,18 @@ +class Kalibro::Module < Kalibro::Model + + attr_accessor :name, :granularity + + def self.parent_names(name) + path = [] + ancestors = [] + name.split(".").each do |token| + path << token + ancestors << path.join(".") + end + ancestors + end + + def ancestor_names + self.class.parent_names(@name) + end +end diff --git a/plugins/mezuro/lib/kalibro/module_result.rb b/plugins/mezuro/lib/kalibro/module_result.rb index 28103cc..3f74b11 100644 --- a/plugins/mezuro/lib/kalibro/module_result.rb +++ b/plugins/mezuro/lib/kalibro/module_result.rb @@ -22,11 +22,11 @@ class Kalibro::ModuleResult < Kalibro::Model :project_name => project_name, :module_name => module_name, })[:module_result] - to_objects_array(response) + Kalibro::ModuleResult.to_objects_array(response) end def module=(value) - @module = to_object(value, Kalibro::Module) + @module = Kalibro::Module.to_object value end def date=(value) @@ -38,9 +38,29 @@ class Kalibro::ModuleResult < Kalibro::Model end def metric_result=(value) - @metric_result = to_objects_array(value, Kalibro::MetricResult) + @metric_result = Kalibro::MetricResult.to_objects_array value end + def metric_results + @metric_result + end + + def metric_results=(metric_results) + @metric_result = metric_results + end + + def compound_metric_with_error=(value) + @compound_metric_with_error = Kalibro::CompoundMetricWithError.to_objects_array value + end + + def compound_metrics_with_error + @compound_metric_with_error + end + + def compound_metrics_with_error=(compound_metrics_with_error) + @compound_metric_with_error = compound_metrics_with_error + end + private def self.date_with_milliseconds(date) @@ -48,5 +68,4 @@ class Kalibro::ModuleResult < Kalibro::Model date.to_s[0..18] + milliseconds + date.to_s[19..-1] end - end diff --git a/plugins/mezuro/lib/kalibro/native_metric.rb b/plugins/mezuro/lib/kalibro/native_metric.rb index 5fa55cd..57ddc13 100644 --- a/plugins/mezuro/lib/kalibro/native_metric.rb +++ b/plugins/mezuro/lib/kalibro/native_metric.rb @@ -11,7 +11,7 @@ class Kalibro::NativeMetric < Kalibro::Metric end def language=(value) - @language = to_objects_array(value) + @language = Kalibro::Model.to_objects_array value end end diff --git a/plugins/mezuro/lib/kalibro/project.rb b/plugins/mezuro/lib/kalibro/project.rb index 8eb66f0..6a3ab50 100644 --- a/plugins/mezuro/lib/kalibro/project.rb +++ b/plugins/mezuro/lib/kalibro/project.rb @@ -37,7 +37,7 @@ class Kalibro::Project < Kalibro::Model end def repository=(value) - @repository = to_object(value, Kalibro::Repository) + @repository = Kalibro::Repository.to_object value end end diff --git a/plugins/mezuro/lib/kalibro/stack_trace_element.rb b/plugins/mezuro/lib/kalibro/stack_trace_element.rb new file mode 100644 index 0000000..39fa8b6 --- /dev/null +++ b/plugins/mezuro/lib/kalibro/stack_trace_element.rb @@ -0,0 +1,9 @@ +class Kalibro::StackTraceElement < Kalibro::Model + + attr_accessor :declaring_class, :method_name, :file_name, :line_number + + def line_number=(value) + @line_number = value.to_i + end + +end diff --git a/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb b/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb index 41b2e55..c104ef3 100644 --- a/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb +++ b/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb @@ -1,19 +1,20 @@ require File.dirname(__FILE__) + '/error_fixtures' +require File.dirname(__FILE__) + '/compound_metric_fixtures' class CompoundMetricWithErrorFixtures - def self.create - fixture = Kalibro::Entities::CompoundMetricWithError.new - fixture.metric = CompoundMetricFixtures.compound_metric - fixture.error = ErrorFixtures.create - fixture + def self.compound_metric_with_error + Kalibro::CompoundMetricWithError.new compound_metric_with_error_hash end - def self.create_hash - {:metric => CompoundMetricFixtures.compound_metric_hash, :error => ErrorFixtures.create_hash, + def self.compound_metric_with_error_hash + {:metric => CompoundMetricFixtures.compound_metric_hash, :error => ErrorFixtures.error_hash, :attributes! => {:metric => { 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:type' => 'kalibro:compoundMetricXml' }}} + 'xsi:type' => 'kalibro:compoundMetricXml' }, + :error => { + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:type' => 'kalibro:errorXml' }}} end end diff --git a/plugins/mezuro/test/fixtures/error_fixtures.rb b/plugins/mezuro/test/fixtures/error_fixtures.rb index 3a84598..74fb4b9 100644 --- a/plugins/mezuro/test/fixtures/error_fixtures.rb +++ b/plugins/mezuro/test/fixtures/error_fixtures.rb @@ -2,21 +2,19 @@ require File.dirname(__FILE__) + '/stack_trace_element_fixtures' class ErrorFixtures - def self.create - error = Kalibro::Entities::Error.new - error.error_class = 'java.lang.Exception' - error.message = 'Error message from ErrorTest' - error.stack_trace = [ - StackTraceElementFixtures.create('my method 1', 42), - StackTraceElementFixtures.create('my method 2', 84)] - error + def self.error + Kalibro::Error.new error_hash end - def self.create_hash - {:error_class => 'java.lang.Exception', :message => 'Error message from ErrorTest', + def self.error_hash + { + :error_class => 'java.lang.Exception', + :message => 'Error message from ErrorTest', :stack_trace_element => [ - StackTraceElementFixtures.create_hash('my method 1', 42), - StackTraceElementFixtures.create_hash('my method 2', 84)]} + StackTraceElementFixtures.stack_trace_element_hash('my method 1', 42), + StackTraceElementFixtures.stack_trace_element_hash('my method 2', 84) + ] + } end end diff --git a/plugins/mezuro/test/fixtures/metric_result_fixtures.rb b/plugins/mezuro/test/fixtures/metric_result_fixtures.rb index 0ecd721..6baff5c 100644 --- a/plugins/mezuro/test/fixtures/metric_result_fixtures.rb +++ b/plugins/mezuro/test/fixtures/metric_result_fixtures.rb @@ -4,27 +4,42 @@ require File.dirname(__FILE__) + '/range_fixtures' class MetricResultFixtures - def self.native_metric - Kalibro::MetricResult.new( native_metric_hash ) + def self.native_metric_result + Kalibro::MetricResult.new native_metric_result_hash end - def self.compound_metric - Kalibro::MetricResult.new( compound_metric_hash ) + def self.compound_metric_result + Kalibro::MetricResult.new compound_metric_result_hash end - def self.native_metric_hash - {:metric => NativeMetricFixtures.amloc_hash, :value => 0.0, :descendent_result => [40.0, 42.0], + def self.native_metric_result_hash + { + :metric => NativeMetricFixtures.amloc_hash, + :value => 0.0, + :descendent_result => [40.0, 42.0], :range => RangeFixtures.range_excellent_hash, - :attributes! => {:metric => { + :attributes! => { + :metric => { 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:type' => 'kalibro:nativeMetricXml' }}} + 'xsi:type' => 'kalibro:nativeMetricXml' }, + :range => { + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:type' => 'kalibro:rangeXml' } + } + } end - def self.compound_metric_hash - {:metric => CompoundMetricFixtures.compound_metric_hash, :value => 1.0, :descendent_result => [2.0, 42.0], - :attributes! => {:metric => { + def self.compound_metric_result_hash + { + :metric => CompoundMetricFixtures.compound_metric_hash, + :value => 1.0, + :descendent_result => [2.0, 42.0], + :attributes! => { + :metric => { 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:type' => 'kalibro:compoundMetricXml' }}} + 'xsi:type' => 'kalibro:compoundMetricXml' } + } + } end end diff --git a/plugins/mezuro/test/fixtures/module_fixtures.rb b/plugins/mezuro/test/fixtures/module_fixtures.rb index d4e61ae..76aa59e 100644 --- a/plugins/mezuro/test/fixtures/module_fixtures.rb +++ b/plugins/mezuro/test/fixtures/module_fixtures.rb @@ -1,13 +1,10 @@ class ModuleFixtures - def self.qt_calculator - entity = Kalibro::Entities::Module.new - entity.name = 'Qt-Calculator' - entity.granularity = 'APPLICATION' - entity + def self.module + entity = Kalibro::Module.new module_hash end - def self.qt_calculator_hash + def self.module_hash {:name => 'Qt-Calculator', :granularity => 'APPLICATION'} end diff --git a/plugins/mezuro/test/fixtures/module_result_fixtures.rb b/plugins/mezuro/test/fixtures/module_result_fixtures.rb index 83cd1ed..34fe329 100644 --- a/plugins/mezuro/test/fixtures/module_result_fixtures.rb +++ b/plugins/mezuro/test/fixtures/module_result_fixtures.rb @@ -5,18 +5,23 @@ require File.dirname(__FILE__) + '/compound_metric_with_error_fixtures' class ModuleResultFixtures def self.module_result - Kalibro::ModuleResult.new( module_result_hash ) + Kalibro::ModuleResult.new module_result_hash end def self.module_result_hash { - :module => ModuleFixtures.qt_calculator_hash, + :module => ModuleFixtures.module_hash, :date => '2011-10-20T18:26:43.151+00:00', :grade => 10.0, :metric_result => [ - MetricResultFixtures.native_metric_hash, - MetricResultFixtures.compound_metric_hash], - :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash] + MetricResultFixtures.native_metric_result_hash, + MetricResultFixtures.compound_metric_result_hash], + :compound_metric_with_error => [CompoundMetricWithErrorFixtures.compound_metric_with_error_hash], + :attributes! => { + :module => { + 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', + 'xsi:type' => 'kalibro:moduleXml' } + } } end diff --git a/plugins/mezuro/test/fixtures/stack_trace_element_fixtures.rb b/plugins/mezuro/test/fixtures/stack_trace_element_fixtures.rb index 29f6bb4..b27bf4f 100644 --- a/plugins/mezuro/test/fixtures/stack_trace_element_fixtures.rb +++ b/plugins/mezuro/test/fixtures/stack_trace_element_fixtures.rb @@ -1,17 +1,16 @@ class StackTraceElementFixtures - def self.create(method_name = 'my method name', line_number = 42) - element = Kalibro::Entities::StackTraceElement.new - element.declaring_class = 'my.declaring.Class' - element.method_name = method_name - element.file_name = 'MyFile.java' - element.line_number = line_number - element + def self.stack_trace_element(method_name = 'my method name', line_number = 42) + Kalibro::StackTraceElement.new stack_trace_element_hash(method_name, line_number) end - def self.create_hash(method_name = 'my method name', line_number = 42) - {:declaring_class => 'my.declaring.Class', :method_name => method_name, :file_name => 'MyFile.java', - :line_number => line_number} + def self.stack_trace_element_hash(method_name = 'my method name', line_number = 42) + { + :declaring_class => 'my.declaring.Class', + :method_name => method_name, + :file_name => 'MyFile.java', + :line_number => line_number + } end end diff --git a/plugins/mezuro/test/unit/kalibro/client/module_result_client_test.rb b/plugins/mezuro/test/unit/kalibro/client/module_result_client_test.rb deleted file mode 100644 index ba5e60d..0000000 --- a/plugins/mezuro/test/unit/kalibro/client/module_result_client_test.rb +++ /dev/null @@ -1,29 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" - -class ModuleResultClientTest < ActiveSupport::TestCase - - def setup - @port = mock - Kalibro::Client::Port.expects(:new).with('ModuleResult').returns(@port) - @client = Kalibro::Client::ModuleResultClient.new - @result = ModuleResultFixtures.create - end - - should 'get module result' do - date_string = '2012-01-10T16:07:15.442-02:00' - date = DateTime.parse(date_string) - request_body = {:project_name => 'Qt-Calculator', :module_name => 'main', :date => date_string} - response = {:module_result => @result.to_hash} - @port.expects(:request).with(:get_module_result, request_body).returns(response) - assert_equal @result, @client.module_result('Qt-Calculator', 'main', date) - end - - should 'get result history' do - request_body = {:project_name => 'Qt-Calculator', :module_name => 'main'} - response = {:module_result => @result.to_hash} - @port.expects(:request).with(:get_result_history, request_body).returns(response) - assert_equal [@result], @client.result_history('Qt-Calculator', 'main') - end -end diff --git a/plugins/mezuro/test/unit/kalibro/compound_metric_with_error_test.rb b/plugins/mezuro/test/unit/kalibro/compound_metric_with_error_test.rb new file mode 100644 index 0000000..2b7bcc1 --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/compound_metric_with_error_test.rb @@ -0,0 +1,20 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures" + +class CompoundMetricWithErrorTest < ActiveSupport::TestCase + + def setup + @hash = CompoundMetricWithErrorFixtures.compound_metric_with_error_hash + @compound_metric_with_error = CompoundMetricWithErrorFixtures.compound_metric_with_error + end + + should 'create error from hash' do + assert_equal @hash[:error][:message], Kalibro::CompoundMetricWithError.new(@hash).error.message + end + + should 'convert error to hash' do + assert_equal @hash, @compound_metric_with_error.to_hash + end + +end diff --git a/plugins/mezuro/test/unit/kalibro/entities/compound_metric_with_error_test.rb b/plugins/mezuro/test/unit/kalibro/entities/compound_metric_with_error_test.rb deleted file mode 100644 index 22a3eed..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/compound_metric_with_error_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures" - -class CompoundMetricWithErrorTest < ActiveSupport::TestCase - - def setup - @hash = CompoundMetricWithErrorFixtures.create_hash - @entity = CompoundMetricWithErrorFixtures.create - end - - should 'create error from hash' do - assert_equal @entity, Kalibro::Entities::CompoundMetricWithError.from_hash(@hash) - end - - should 'convert error to hash' do - assert_equal @hash, @entity.to_hash - end - -end diff --git a/plugins/mezuro/test/unit/kalibro/entities/error_test.rb b/plugins/mezuro/test/unit/kalibro/entities/error_test.rb deleted file mode 100644 index 0219ff0..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/error_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures" - -class ErrorTest < ActiveSupport::TestCase - - def setup - @hash = ErrorFixtures.create_hash - @error = ErrorFixtures.create - end - - should 'create error from hash' do - assert_equal @error, Kalibro::Entities::Error.from_hash(@hash) - end - - should 'convert error to hash' do - assert_equal @hash, @error.to_hash - end - -end \ No newline at end of file diff --git a/plugins/mezuro/test/unit/kalibro/entities/metric_result_test.rb b/plugins/mezuro/test/unit/kalibro/entities/metric_result_test.rb deleted file mode 100644 index 59c8506..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/metric_result_test.rb +++ /dev/null @@ -1,30 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_result_fixtures" - -class MetricResultTest < ActiveSupport::TestCase - - def setup - @hash = MetricResultFixtures.amloc_result_hash - @result = MetricResultFixtures.amloc_result - end - - should 'create metric result from hash' do - assert_equal @result, Kalibro::Entities::MetricResult.from_hash(@hash) - end - - should 'convert metric result to hash' do - assert_equal @hash, @result.to_hash - end - - should 'create appropriate metric type' do - assert MetricResultFixtures.amloc_result.metric.instance_of?(Kalibro::Entities::NativeMetric) - assert MetricResultFixtures.sc_result.metric.instance_of?(Kalibro::Entities::CompoundMetric) - end - - should 'convert single descendent result to array' do - @result.descendent_result = 1 - assert_equal [1], @result.descendent_results - end - -end \ No newline at end of file diff --git a/plugins/mezuro/test/unit/kalibro/entities/module_result_test.rb b/plugins/mezuro/test/unit/kalibro/entities/module_result_test.rb deleted file mode 100644 index 139c17d..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/module_result_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_result_fixtures" - -class ModuleResultTest < ActiveSupport::TestCase - - def setup - @hash = ModuleResultFixtures.module_result_hash - @result = ModuleResultFixtures.module_result - end - - should 'create module result from hash' do - assert_equal @result, Kalibro::Entities::ModuleResult.from_hash(@hash) - end - - should 'convert module result to hash' do - assert_equal @hash, Kalibro::Entities::ModuleResult.to_hash(@result) - end - -end diff --git a/plugins/mezuro/test/unit/kalibro/entities/module_test.rb b/plugins/mezuro/test/unit/kalibro/entities/module_test.rb deleted file mode 100644 index cdf2096..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/module_test.rb +++ /dev/null @@ -1,30 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_fixtures" - -class ModuleTest < ActiveSupport::TestCase - - def setup - @hash = ModuleFixtures.qt_calculator_hash - @module = ModuleFixtures.qt_calculator - end - - should 'create module from hash' do - assert_equal @module, Kalibro::Entities::Module.from_hash(@hash) - end - - should 'convert module to hash' do - assert_equal @hash, @module.to_hash - end - - should 'list ancestor names' do - @module.name = "org.kalibro.core" - assert_equal ["org", "org.kalibro", "org.kalibro.core"], @module.ancestor_names - end - - should 'list ancestor with one name' do - @module.name = "org" - assert_equal ["org"], @module.ancestor_names - end - -end diff --git a/plugins/mezuro/test/unit/kalibro/entities/stack_trace_element_test.rb b/plugins/mezuro/test/unit/kalibro/entities/stack_trace_element_test.rb deleted file mode 100644 index dbf5f20..0000000 --- a/plugins/mezuro/test/unit/kalibro/entities/stack_trace_element_test.rb +++ /dev/null @@ -1,20 +0,0 @@ -require "test_helper" - -require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/stack_trace_element_fixtures" - -class StackTraceElementTest < ActiveSupport::TestCase - - def setup - @hash = StackTraceElementFixtures.create_hash - @stack_trace_element = StackTraceElementFixtures.create - end - - should 'create stack trace element from hash' do - assert_equal @stack_trace_element, Kalibro::Entities::StackTraceElement.from_hash(@hash) - end - - should 'convert stack trace element to hash' do - assert_equal @hash, @stack_trace_element.to_hash - end - -end diff --git a/plugins/mezuro/test/unit/kalibro/error_test.rb b/plugins/mezuro/test/unit/kalibro/error_test.rb new file mode 100644 index 0000000..4faf108 --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/error_test.rb @@ -0,0 +1,20 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures" + +class ErrorTest < ActiveSupport::TestCase + + def setup + @hash = ErrorFixtures.error_hash + @error = ErrorFixtures.error + end + + should 'create error from hash' do + assert_equal @hash[:message], Kalibro::Error.new(@hash).message + end + + should 'convert error to hash' do + assert_equal @hash, @error.to_hash + end + +end diff --git a/plugins/mezuro/test/unit/kalibro/metric_result_test.rb b/plugins/mezuro/test/unit/kalibro/metric_result_test.rb new file mode 100644 index 0000000..41deaac --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/metric_result_test.rb @@ -0,0 +1,30 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_result_fixtures" + +class MetricResultTest < ActiveSupport::TestCase + + def setup + @hash = MetricResultFixtures.native_metric_result_hash + @result = MetricResultFixtures.native_metric_result + end + + should 'create metric result from hash' do + assert_equal @hash[:metric][:name], Kalibro::MetricResult.new(@hash).metric.name + end + + should 'convert metric result to hash' do + assert_equal @hash, @result.to_hash + end + + should 'create appropriate metric type' do + assert MetricResultFixtures.native_metric_result.metric.instance_of?(Kalibro::NativeMetric) + assert MetricResultFixtures.compound_metric_result.metric.instance_of?(Kalibro::CompoundMetric) + end + + should 'convert single descendent result to array' do + @result.descendent_result = 1 + assert_equal [1], @result.descendent_results + end + +end diff --git a/plugins/mezuro/test/unit/kalibro/module_result_test.rb b/plugins/mezuro/test/unit/kalibro/module_result_test.rb index c3ba1c0..aacd7eb 100644 --- a/plugins/mezuro/test/unit/kalibro/module_result_test.rb +++ b/plugins/mezuro/test/unit/kalibro/module_result_test.rb @@ -17,19 +17,20 @@ class ModuleResultTest < ActiveSupport::TestCase end should 'find module result' do - date_string = '2012-01-10T16:07:15.442-02:00' - date = DateTime.parse(date_string) - request_body = {:project_name => 'Qt-Calculator', :module_name => 'main', :date => date_string} + date = DateTime.parse(@module_result.date.to_s) + name = @module_result.module.name + request_body = {:project_name => name, :module_name => name, :date => '2011-10-20T18:26:43.0+00:00'} response = {:module_result => @hash} Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_module_result, request_body).returns(response) - assert_equal @module_result.grade, Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date('Qt-Calculator', 'main', date).grade + assert_equal @module_result.grade, Kalibro::ModuleResult.find_by_project_name_and_module_name_and_date(name, name, date).grade end should 'find all module results' do - request_body = {:project_name => 'Qt-Calculator', :module_name => 'main'} + name = @module_result.module.name + request_body = {:project_name => name, :module_name => name} response = {:module_result => @hash} Kalibro::ModuleResult.expects(:request).with('ModuleResult',:get_result_history, request_body).returns(response) - response_array = Kalibro::ModuleResult.all_by_project_name_and_module_name('Qt-Calculator', 'main') + response_array = Kalibro::ModuleResult.all_by_project_name_and_module_name(name, name) assert_equal [@module_result].class, response_array.class assert_equal @module_result.grade, response_array[0].grade end diff --git a/plugins/mezuro/test/unit/kalibro/module_test.rb b/plugins/mezuro/test/unit/kalibro/module_test.rb new file mode 100644 index 0000000..7067620 --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/module_test.rb @@ -0,0 +1,30 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/module_fixtures" + +class ModuleTest < ActiveSupport::TestCase + + def setup + @hash = ModuleFixtures.module_hash + @module = ModuleFixtures.module + end + + should 'create module from hash' do + assert_equal @hash[:name], Kalibro::Module.new(@hash).name + end + + should 'convert module to hash' do + assert_equal @hash, @module.to_hash + end + + should 'list ancestor names' do + @module.name = "org.kalibro.core" + assert_equal ["org", "org.kalibro", "org.kalibro.core"], @module.ancestor_names + end + + should 'list ancestor with one name' do + @module.name = "org" + assert_equal ["org"], @module.ancestor_names + end + +end diff --git a/plugins/mezuro/test/unit/kalibro/stack_trace_element_test.rb b/plugins/mezuro/test/unit/kalibro/stack_trace_element_test.rb new file mode 100644 index 0000000..9ede13d --- /dev/null +++ b/plugins/mezuro/test/unit/kalibro/stack_trace_element_test.rb @@ -0,0 +1,20 @@ +require "test_helper" + +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/stack_trace_element_fixtures" + +class StackTraceElementTest < ActiveSupport::TestCase + + def setup + @hash = StackTraceElementFixtures.stack_trace_element_hash + @stack_trace_element = StackTraceElementFixtures.stack_trace_element + end + + should 'create stack trace element from hash' do + assert_equal @hash[:method_name], Kalibro::StackTraceElement.new(@hash).method_name + end + + should 'convert stack trace element to hash' do + assert_equal @hash, @stack_trace_element.to_hash + end + +end diff --git a/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb index 38f42a7..de63ede 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/helpers/content_viewer_helper_test.rb @@ -14,7 +14,7 @@ class ContentViewerHelperTest < ActiveSupport::TestCase end should 'format metric name for module result' do - metric_result = MetricResultFixtures.amloc_result + metric_result = MetricResultFixtures.native_metric_result assert_equal 'AverageMethodLOC', MezuroPlugin::Helpers::ContentViewerHelper.format_name(metric_result) end end -- libgit2 0.21.2