kalibro_gatekeeper_client 1.0.0.rc1 → 1.0.0.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/features/reading/all.feature +1 -1
- data/features/reading/exists.feature +1 -1
- data/features/reading/readings_of.feature +1 -1
- data/features/step_definitions/metric_configuration_steps.rb +0 -2
- data/features/step_definitions/reading_steps.rb +0 -3
- data/lib/kalibro_gatekeeper_client/entities/metric_collector.rb +11 -11
- data/lib/kalibro_gatekeeper_client/entities/reading.rb +4 -0
- data/lib/kalibro_gatekeeper_client/version.rb +1 -1
- data/spec/entities/metric_collector_spec.rb +22 -30
- data/spec/factories/metric_collectors.rb +2 -3
- data/spec/factories/metrics.rb +5 -5
- data/spec/factories/reading_groups.rb +2 -2
- data/spec/factories/readings.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 949d2afc43f14ed6cae9ab66b710a27305cd3210
|
4
|
+
data.tar.gz: 661a875588669e291ca48e35b83ad765b345a00b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f06455e7c3b1011a031a7c6f5c003eac519d6cb0414bc2400ddf27dfcc3a6b81e0c4b8cfb8ea92c130c4fddbeda531dd6596ee512f9dd5599ddc91a3eea7b9e
|
7
|
+
data.tar.gz: 68730d8631441a827badd7b8ce203d582860182f85758bef5969072dce8e729956476ad354464e33ff4944aa26c4e4a674b02484acf34eb2ca6d896802a8a916
|
@@ -8,6 +8,6 @@ Feature: Reading listing
|
|
8
8
|
Given I have a reading group with name "Kalibro"
|
9
9
|
And the given reading group has the following readings:
|
10
10
|
| label | grade | color |
|
11
|
-
| "Awesome" | 10 |
|
11
|
+
| "Awesome" | 10 | 3333ff |
|
12
12
|
When I ask for all the readings
|
13
13
|
Then the response should contain the given reading
|
@@ -8,6 +8,6 @@ Feature: Reading listing
|
|
8
8
|
Given I have a reading group with name "RG"
|
9
9
|
And the given reading group has the following readings:
|
10
10
|
| label | grade | color |
|
11
|
-
| "Awesome" | 10 |
|
11
|
+
| "Awesome" | 10 | 3333ff |
|
12
12
|
When I ask to check if the given reading exists
|
13
13
|
Then I should get true
|
@@ -42,12 +42,10 @@ When(/^I request all metric configurations of the given configuration$/) do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
Then(/^it should return the same metric configuration as the given one$/) do
|
45
|
-
pending
|
46
45
|
expect(@found_metric_configuration).to eq(@metric_configuration)
|
47
46
|
end
|
48
47
|
|
49
48
|
Then(/^I should get a list of its metric configurations$/) do
|
50
|
-
pending
|
51
49
|
expect(@metric_configurations).to eq([@metric_configuration])
|
52
50
|
end
|
53
51
|
|
@@ -27,16 +27,13 @@ When(/^I ask to check if the given reading exists$/) do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
Then(/^I should get the given reading$/) do
|
30
|
-
pending
|
31
30
|
expect(@found_reading).to eq(@reading)
|
32
31
|
end
|
33
32
|
|
34
33
|
Then(/^I should get a list with the given reading$/) do
|
35
|
-
pending
|
36
34
|
expect(@found_readings.first).to eq(@reading)
|
37
35
|
end
|
38
36
|
|
39
37
|
Then(/^the response should contain the given reading$/) do
|
40
|
-
pending
|
41
38
|
expect(@all_readings.first).to eq(@reading)
|
42
39
|
end
|
@@ -19,18 +19,18 @@ require "kalibro_gatekeeper_client/entities/model"
|
|
19
19
|
module KalibroGatekeeperClient
|
20
20
|
module Entities
|
21
21
|
class MetricCollector < Model
|
22
|
-
attr_accessor :name, :description, :
|
22
|
+
attr_accessor :name, :description, :supported_metrics, :wanted_metrics, :processing
|
23
23
|
|
24
|
-
def
|
25
|
-
@
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@supported_metric
|
24
|
+
def supported_metrics=(value)
|
25
|
+
@supported_metrics = {}
|
26
|
+
value.each do |code, metric|
|
27
|
+
@supported_metrics[code] = KalibroGatekeeperClient::Entities::Metric.new metric
|
28
|
+
end
|
30
29
|
end
|
31
30
|
|
32
31
|
def metric(name)
|
33
|
-
supported_metrics.find {|metric| metric.name == name}
|
32
|
+
metric = self.supported_metrics.find {|code, metric| metric.name == name}
|
33
|
+
metric.nil? ? nil : metric.last
|
34
34
|
end
|
35
35
|
|
36
36
|
def self.find_by_name(metric_collector_name)
|
@@ -47,9 +47,9 @@ module KalibroGatekeeperClient
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def self.all
|
50
|
-
|
51
|
-
|
50
|
+
metric_collectors_names = all_names
|
51
|
+
metric_collectors_names.map{ |name| find_by_name(name) }
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
55
|
-
end
|
55
|
+
end
|
@@ -28,6 +28,10 @@ module KalibroGatekeeperClient
|
|
28
28
|
@grade = value.to_f
|
29
29
|
end
|
30
30
|
|
31
|
+
def group_id=(value)
|
32
|
+
@group_id = value.to_i
|
33
|
+
end
|
34
|
+
|
31
35
|
def self.find(id)
|
32
36
|
response = request('get', {id: id})
|
33
37
|
raise KalibroGatekeeperClient::Errors::RecordNotFound unless response['error'].nil?
|
@@ -67,8 +67,8 @@ describe KalibroGatekeeperClient::Entities::MetricCollector do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
context 'with many metric collectors' do
|
70
|
-
let(:metric_collector) { FactoryGirl.build(:metric_collector) }
|
71
|
-
let(:another_metric_collector) { FactoryGirl.build(:another_metric_collector) }
|
70
|
+
let!(:metric_collector) { FactoryGirl.build(:metric_collector) }
|
71
|
+
let!(:another_metric_collector) { FactoryGirl.build(:another_metric_collector) }
|
72
72
|
|
73
73
|
before :each do
|
74
74
|
KalibroGatekeeperClient::Entities::MetricCollector.
|
@@ -77,14 +77,14 @@ describe KalibroGatekeeperClient::Entities::MetricCollector do
|
|
77
77
|
returns({'metric_collector_names' => [metric_collector.name, another_metric_collector.name]}.to_json)
|
78
78
|
|
79
79
|
KalibroGatekeeperClient::Entities::MetricCollector.
|
80
|
-
expects(:
|
81
|
-
with(
|
82
|
-
returns(metric_collector
|
80
|
+
expects(:find_by_name).
|
81
|
+
with(metric_collector.name).
|
82
|
+
returns(metric_collector)
|
83
83
|
|
84
84
|
KalibroGatekeeperClient::Entities::MetricCollector.
|
85
|
-
expects(:
|
86
|
-
with(
|
87
|
-
returns(another_metric_collector
|
85
|
+
expects(:find_by_name).
|
86
|
+
with(another_metric_collector.name).
|
87
|
+
returns(another_metric_collector)
|
88
88
|
end
|
89
89
|
|
90
90
|
it 'should return the two elements' do
|
@@ -115,11 +115,15 @@ describe KalibroGatekeeperClient::Entities::MetricCollector do
|
|
115
115
|
end
|
116
116
|
|
117
117
|
context 'with an existent name' do
|
118
|
+
#FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with sybols and integers
|
119
|
+
let!(:params) { Hash[FactoryGirl.attributes_for(:metric_collector).map { |k,v| [k.to_s, v.to_s]}] }
|
120
|
+
let(:metric_params) { { "total_abstract_classes" => Hash[FactoryGirl.attributes_for(:metric).map { |k,v| if v.is_a?(Array) then [k.to_s, v] else [k.to_s, v.to_s] end}] } }
|
118
121
|
before :each do
|
122
|
+
params["supported_metrics"] = metric_params
|
119
123
|
KalibroGatekeeperClient::Entities::MetricCollector.
|
120
124
|
expects(:request).
|
121
125
|
with(:get,{name: subject.name}).
|
122
|
-
returns(
|
126
|
+
returns(params)
|
123
127
|
end
|
124
128
|
|
125
129
|
it 'should return a metric_collector' do
|
@@ -128,34 +132,22 @@ describe KalibroGatekeeperClient::Entities::MetricCollector do
|
|
128
132
|
end
|
129
133
|
end
|
130
134
|
|
131
|
-
describe 'Supported
|
132
|
-
let(:
|
133
|
-
|
134
|
-
|
135
|
-
KalibroGatekeeperClient::Entities::Metric.
|
136
|
-
expects(:to_objects_array).at_least_once.
|
137
|
-
with(metric.to_hash).
|
138
|
-
returns([metric])
|
139
|
-
end
|
135
|
+
describe 'Supported Metrics' do
|
136
|
+
let(:code_and_metric) { { "total_abstract_classes" => FactoryGirl.build(:metric) } }
|
137
|
+
#FIXME: Mocha is creating the expectations with strings, but FactoryGirl returns everything with sybols and integers
|
138
|
+
let(:code_and_metric_parameter) { { "total_abstract_classes" => Hash[FactoryGirl.attributes_for(:metric).map { |k,v| if v.is_a?(Array) then [k.to_s, v] else [k.to_s, v.to_s] end}] } }
|
140
139
|
|
141
|
-
context '
|
140
|
+
context 'supported_metrics acessors' do
|
142
141
|
it 'should set the value of the array of supported metrics' do
|
143
|
-
subject.
|
144
|
-
expect(subject.
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
context 'supported_metrics' do
|
149
|
-
it 'should return the array of the supported metrics' do
|
150
|
-
subject.supported_metric = metric.to_hash
|
151
|
-
expect(subject.supported_metrics.first.name).to eq(metric.name)
|
142
|
+
subject.supported_metrics = code_and_metric_parameter
|
143
|
+
expect(subject.supported_metrics).to eq(code_and_metric)
|
152
144
|
end
|
153
145
|
end
|
154
146
|
end
|
155
147
|
|
156
148
|
describe 'metric' do
|
157
149
|
subject { FactoryGirl.build(:metric_collector) }
|
158
|
-
let(:metric) { subject.supported_metrics
|
150
|
+
let(:metric) { subject.supported_metrics["loc"] }
|
159
151
|
|
160
152
|
it 'should return nil with an inexistent name' do
|
161
153
|
expect(subject.metric("fake name")).to be_nil
|
@@ -165,4 +157,4 @@ describe KalibroGatekeeperClient::Entities::MetricCollector do
|
|
165
157
|
expect(subject.metric(metric.name).name).to eq(metric.name)
|
166
158
|
end
|
167
159
|
end
|
168
|
-
end
|
160
|
+
end
|
@@ -18,8 +18,7 @@ FactoryGirl.define do
|
|
18
18
|
factory :metric_collector, class: KalibroGatekeeperClient::Entities::MetricCollector do
|
19
19
|
name "Analizo"
|
20
20
|
description "Analizo is a suite of source code analysis tools."
|
21
|
-
|
22
|
-
supported_metric { [FactoryGirl.build(:metric), FactoryGirl.build(:metric)] }
|
21
|
+
supported_metrics { { "total_abstract_classes" => FactoryGirl.build(:metric).to_hash, "loc" => FactoryGirl.build(:loc).to_hash } }
|
23
22
|
|
24
23
|
trait :another_metric_collector do
|
25
24
|
name "Avalio"
|
@@ -28,4 +27,4 @@ FactoryGirl.define do
|
|
28
27
|
|
29
28
|
factory :another_metric_collector, traits: [:another_metric_collector]
|
30
29
|
end
|
31
|
-
end
|
30
|
+
end
|
data/spec/factories/metrics.rb
CHANGED
@@ -17,19 +17,19 @@
|
|
17
17
|
FactoryGirl.define do
|
18
18
|
factory :metric, class: KalibroGatekeeperClient::Entities::Metric do
|
19
19
|
name "Total Abstract Classes"
|
20
|
-
compound false
|
20
|
+
compound "false"
|
21
21
|
scope "SOFTWARE"
|
22
|
-
description
|
22
|
+
description ""
|
23
23
|
script ""
|
24
24
|
language ["C", "CPP", "JAVA"]
|
25
25
|
end
|
26
26
|
|
27
27
|
factory :loc, class: KalibroGatekeeperClient::Entities::Metric do
|
28
28
|
name "Lines of Code"
|
29
|
-
compound false
|
29
|
+
compound "false"
|
30
30
|
scope "CLASS"
|
31
|
-
description
|
31
|
+
description ""
|
32
32
|
script ""
|
33
33
|
language ["C", "CPP", "JAVA"]
|
34
34
|
end
|
35
|
-
end
|
35
|
+
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# it under the terms of the GNU General Public License as published by
|
6
6
|
# the Free Software Foundation, either version 3 of the License, or
|
7
7
|
# (at your option) any later version.
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# This program is distributed in the hope that it will be useful,
|
10
10
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
11
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
@@ -19,5 +19,5 @@ FactoryGirl.define do
|
|
19
19
|
id 1
|
20
20
|
name "Mussum"
|
21
21
|
description "Cacildis!"
|
22
|
-
end
|
22
|
+
end
|
23
23
|
end
|
data/spec/factories/readings.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# it under the terms of the GNU General Public License as published by
|
6
6
|
# the Free Software Foundation, either version 3 of the License, or
|
7
7
|
# (at your option) any later version.
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# This program is distributed in the hope that it will be useful,
|
10
10
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
11
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
@@ -18,8 +18,8 @@ FactoryGirl.define do
|
|
18
18
|
factory :reading, class: KalibroGatekeeperClient::Entities::Reading do
|
19
19
|
id 42
|
20
20
|
label "Good"
|
21
|
-
grade 10.5
|
22
|
-
color "
|
21
|
+
grade 10.5
|
22
|
+
color "33dd33"
|
23
23
|
group_id 31
|
24
|
-
end
|
24
|
+
end
|
25
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kalibro_gatekeeper_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Araújo Martinez
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2014-09-
|
14
|
+
date: 2014-09-11 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|