Commit e03ad5db6eb5da1549d65a238be4a1559ea348f4
Committed by
Carlos Morais
1 parent
cbdb8c12
Exists in
master
and in
29 other branches
[mezuro] Creating MetricConfigurationClient
Showing
3 changed files
with
78 additions
and
0 deletions
Show diff stats
plugins/mezuro/lib/kalibro/client/metric_configuration_client.rb
0 → 100644
... | ... | @@ -0,0 +1,28 @@ |
1 | +class Kalibro::Client::MetricConfigurationClient | |
2 | + | |
3 | + def initialize | |
4 | + @port = Kalibro::Client::Port.new('MetricConfiguration') | |
5 | + end | |
6 | + | |
7 | + def save(metric_configuration, configuration_name) | |
8 | + @port.request(:save_metric_configuration, { | |
9 | + :metric_configuration => metric_configuration.to_hash, | |
10 | + :configuration_name => configuration_name}) | |
11 | + end | |
12 | + | |
13 | + def metric_configuration(configuration_name, metric_name) | |
14 | + hash = @port.request(:get_metric_configuration, { | |
15 | + :configuration_name => configuration_name, | |
16 | + :metric_name => metric_name | |
17 | + })[:metric_configuration] | |
18 | + Kalibro::Entities::MetricConfiguration.from_hash(hash) | |
19 | + end | |
20 | + | |
21 | + def remove (configuration_name, metric_name) | |
22 | + @port.request(:remove_metric_configuration, { | |
23 | + :configuration_name => configuration_name, | |
24 | + :metric_name=> metric_name | |
25 | + }) | |
26 | + end | |
27 | + | |
28 | +end | |
0 | 29 | \ No newline at end of file | ... | ... |
plugins/mezuro/lib/kalibro/entities/entity.rb
... | ... | @@ -24,6 +24,12 @@ class Kalibro::Entities::Entity |
24 | 24 | fields.each do |field| |
25 | 25 | field_value = self.get(field) |
26 | 26 | hash[field] = convert_to_hash(field_value) if ! field_value.nil? |
27 | +# TODO | |
28 | +# if field_value is object | |
29 | +# hash[:attributes!] += {field.to_sym => | |
30 | +# {'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', | |
31 | +# 'xsi:type' => 'kalibro:' + field_value_type + 'Xml' } } | |
32 | +# end | |
27 | 33 | end |
28 | 34 | hash |
29 | 35 | end | ... | ... |
plugins/mezuro/test/unit/kalibro/client/metric_configuration_client_test.rb
0 → 100644
... | ... | @@ -0,0 +1,44 @@ |
1 | +require "test_helper" | |
2 | + | |
3 | +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" | |
4 | + | |
5 | +class MetricConfigurationClientTest < ActiveSupport::TestCase | |
6 | + | |
7 | + def setup | |
8 | + @port = mock | |
9 | + Kalibro::Client::Port.expects(:new).with('MetricConfiguration').returns(@port) | |
10 | + @client = Kalibro::Client::MetricConfigurationClient.new | |
11 | + end | |
12 | + | |
13 | + should 'save metric configuration' do | |
14 | + configuration = MetricConfigurationFixtures.amloc_configuration | |
15 | + @port.expects(:request).with(:save_metric_configuration, { | |
16 | + :metric_configuration => configuration.to_hash, | |
17 | + :configuration_name => 'x' | |
18 | + }) | |
19 | + @client.save(configuration, 'x') | |
20 | + end | |
21 | + | |
22 | + should 'get metric configuration by name' do | |
23 | + configuration = MetricConfigurationFixtures.amloc_configuration | |
24 | + request_body = { | |
25 | + :configuration_name => 'configuration.name', | |
26 | + :metric_name => configuration.metric.name | |
27 | + } | |
28 | + response_hash = {:metric_configuration => configuration.to_hash} | |
29 | + @port.expects(:request).with(:get_metric_configuration, request_body).returns(response_hash) | |
30 | + assert_equal configuration, @client.metric_configuration('configuration.name', configuration.metric.name) | |
31 | + end | |
32 | + | |
33 | + should 'remove metric configuration by name' do | |
34 | + metric_name = 'MetricConfigurationClientTest' | |
35 | + configuration_name = 'xxxx' | |
36 | + request_body = { | |
37 | + :configuration_name => configuration_name, | |
38 | + :metric_name => metric_name | |
39 | + } | |
40 | + @port.expects(:request).with(:remove_metric_configuration, request_body) | |
41 | + @client.remove(configuration_name, metric_name) | |
42 | + end | |
43 | + | |
44 | +end | |
0 | 45 | \ No newline at end of file | ... | ... |