kalibro_client 3.0.1 → 4.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/features/metric_collector_details/find_by_name.feature +12 -4
  3. data/features/step_definitions/metric_collector_details_steps.rb +11 -7
  4. data/features/step_definitions/metric_configuration_steps.rb +2 -2
  5. data/features/step_definitions/module_result_steps.rb +1 -1
  6. data/features/support/env.rb +0 -3
  7. data/kalibro_client.gemspec +1 -0
  8. data/lib/kalibro_client.rb +4 -39
  9. data/lib/kalibro_client/entities/base.rb +12 -207
  10. data/lib/kalibro_client/entities/configurations/base.rb +3 -3
  11. data/lib/kalibro_client/entities/configurations/kalibro_configuration.rb +0 -4
  12. data/lib/kalibro_client/entities/configurations/metric_configuration.rb +1 -19
  13. data/lib/kalibro_client/entities/configurations/reading_group.rb +1 -5
  14. data/lib/kalibro_client/entities/miscellaneous/base.rb +4 -2
  15. data/lib/kalibro_client/entities/miscellaneous/metric.rb +0 -2
  16. data/lib/kalibro_client/entities/processor/base.rb +3 -3
  17. data/lib/kalibro_client/entities/processor/hotspot_metric_result.rb +1 -1
  18. data/lib/kalibro_client/entities/processor/metric_collector_details.rb +19 -7
  19. data/lib/kalibro_client/entities/processor/module_result.rb +0 -13
  20. data/lib/kalibro_client/entities/processor/project.rb +0 -4
  21. data/lib/kalibro_client/entities/processor/repository.rb +0 -4
  22. data/lib/kalibro_client/entities/processor/tree_metric_result.rb +1 -1
  23. data/lib/kalibro_client/errors.rb +1 -4
  24. data/lib/kalibro_client/kalibro_cucumber_helpers.rb +7 -36
  25. data/lib/kalibro_client/kalibro_cucumber_helpers/cleaner.rb +27 -0
  26. data/lib/kalibro_client/version.rb +1 -1
  27. data/spec/entities/base_spec.rb +17 -449
  28. data/spec/entities/configurations/kalibro_configuration_spec.rb +0 -35
  29. data/spec/entities/configurations/kalibro_range_spec.rb +3 -3
  30. data/spec/entities/configurations/metric_configuration_spec.rb +1 -58
  31. data/spec/entities/configurations/reading_group_spec.rb +0 -32
  32. data/spec/entities/configurations/reading_spec.rb +3 -3
  33. data/spec/entities/processor/metric_collector_details_spec.rb +46 -25
  34. data/spec/entities/processor/module_result_spec.rb +0 -41
  35. data/spec/entities/processor/project_spec.rb +1 -35
  36. data/spec/entities/processor/repository_spec.rb +1 -14
  37. data/spec/{savon/fixtures → fixtures}/config.yml +0 -0
  38. data/spec/{savon/fixtures → fixtures}/invalid_config.yml +0 -0
  39. data/spec/kalibro_cucumber_helpers/cleaner_spec.rb +32 -0
  40. metadata +26 -32
  41. data/lib/kalibro_client/errors/record_invalid.rb +0 -19
  42. data/lib/kalibro_client/errors/record_not_found.rb +0 -22
  43. data/lib/kalibro_client/errors/request_error.rb +0 -27
  44. data/lib/kalibro_client/errors/standard.rb +0 -24
  45. data/lib/kalibro_client/helpers/date_attributes.rb +0 -11
  46. data/lib/kalibro_client/helpers/hash_converters.rb +0 -48
  47. data/lib/kalibro_client/helpers/request_methods.rb +0 -64
  48. data/lib/kalibro_client/helpers/xml_converters.rb +0 -20
  49. data/lib/kalibro_client/kalibro_cucumber_helpers/configuration.rb +0 -30
  50. data/spec/errors/record_invalid_spec.rb +0 -45
  51. data/spec/helpers/date_attributes_spec.rb +0 -30
  52. data/spec/helpers/hash_converters_spec.rb +0 -120
  53. data/spec/helpers/xml_converters_spec.rb +0 -64
  54. data/spec/kalibro_entities_spec.rb +0 -112
  55. data/spec/savon/fixtures/project/does_not_exists.xml +0 -1
  56. data/spec/savon/savon_test_helper.rb +0 -14
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
- require 'kalibro_client/helpers/date_attributes'
3
-
4
- include DateAttributes
5
-
6
- class Klass
7
- include DateAttributes
8
- end
9
-
10
-
11
- describe 'DateAttributes' do
12
- subject { Klass.new }
13
- let(:time){ "2015-02-04T15:53:18.452Z" }
14
-
15
- describe 'created_at=' do
16
- it 'is expected to parse it to DateTime' do
17
- DateTime.expects(:parse).with(time)
18
-
19
- subject.created_at = time
20
- end
21
- end
22
-
23
- describe 'updated_at=' do
24
- it 'is expected to parse it to DateTime' do
25
- DateTime.expects(:parse).with(time)
26
-
27
- subject.updated_at = time
28
- end
29
- end
30
- end
@@ -1,120 +0,0 @@
1
- # This file is part of KalibroClient
2
- # Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
3
- #
4
- # This program is free software: you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation, either version 3 of the License, or
7
- # (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
-
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
-
17
- require 'spec_helper'
18
- require 'kalibro_client/helpers/hash_converters'
19
-
20
- include HashConverters
21
-
22
- describe HashConverters do
23
- describe 'date_with_miliseconds' do
24
- context 'with 21/12/1995 (first Ruby publication)' do
25
- it 'should return 1995-12-21T00:00:00.0/1+00:00' do
26
- expect(date_with_milliseconds(DateTime.parse("21/12/1995"))).to eq("1995-12-21T00:00:00.0/1+00:00")
27
- end
28
- end
29
- end
30
-
31
- describe 'convert_to_hash' do
32
- context 'with a nil value' do
33
- it 'should return nil' do
34
- expect(convert_to_hash(nil)).to be_nil
35
- end
36
- end
37
-
38
- context 'with an Array' do
39
- before :each do
40
- @array = []
41
- @element1 = :kalibro
42
-
43
- @array << @element1
44
- end
45
-
46
- it 'should return the Array wth its elements converted' do
47
- expect(convert_to_hash(@array)[0]).to eq(@element1.to_s)
48
- end
49
- end
50
-
51
- context 'with a Base' do
52
- before :each do
53
- @model = KalibroClient::Entities::Base.new
54
- end
55
-
56
- it "should return the Base's Hash" do
57
- expect(convert_to_hash(@model)).to eq(@model.to_hash)
58
- end
59
- end
60
-
61
- context 'with a DateTime' do
62
- before :each do
63
- @date = DateTime.parse("21/12/1995")
64
- end
65
-
66
- it 'should return th date with miliseconds' do
67
- expect(convert_to_hash(@date)).to eq(date_with_milliseconds(@date))
68
- end
69
- end
70
-
71
- context 'with an + infinite Float' do
72
- it 'should return INF' do
73
- expect(convert_to_hash(1.0/0.0)).to eq('INF')
74
- end
75
- end
76
-
77
- context 'with an - infinite Float' do
78
- it 'should return -INF' do
79
- expect(convert_to_hash(-1.0/0.0)).to eq('-INF')
80
- end
81
- end
82
-
83
- context 'with a granularity' do
84
- let(:granularity) { FactoryGirl.build(:granularity) }
85
-
86
- it 'is expected to convert the granularity to a hash' do
87
- expect(convert_to_hash(granularity)).to be_a Hash
88
- expect(convert_to_hash(granularity)).to include 'type'
89
- end
90
- end
91
- end
92
-
93
- describe 'field_to_hash' do
94
- context 'with a nil field value' do
95
- before do
96
- @model = KalibroClient::Entities::Base.new
97
- @model.expects(:send).with(:field_getter).returns(nil)
98
- end
99
-
100
- it 'should return an instance of Hash' do
101
- expect(@model.field_to_hash(:field_getter)).to be_a(Hash)
102
- end
103
-
104
- it 'should return an empty Hash' do
105
- expect(@model.field_to_hash(:field_getter)).to eq({})
106
- end
107
- end
108
-
109
- context 'with a Float field value' do
110
- before do
111
- @model = KalibroClient::Entities::Base.new
112
- @model.expects(:send).with(:field_getter).returns(1.0)
113
- end
114
-
115
- it 'should return an instance of Hash' do
116
- expect(@model.field_to_hash(:field_getter)).to be_a(Hash)
117
- end
118
- end
119
- end
120
- end
@@ -1,64 +0,0 @@
1
- # This file is part of KalibroClient
2
- # Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
3
- #
4
- # This program is free software: you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation, either version 3 of the License, or
7
- # (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
-
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
-
17
- require 'spec_helper'
18
- require 'kalibro_client/helpers/xml_converters'
19
-
20
- include XMLConverters
21
-
22
- describe XMLConverters do
23
- describe 'xml_instance_class_name' do
24
- before { @model = KalibroClient::Entities::Base.new }
25
-
26
- it 'should return modelXml' do
27
- expect(xml_instance_class_name(@model)).to eq('baseXml')
28
- end
29
- end
30
-
31
- describe 'get_xml' do
32
- context 'with an object that is not an instance of Base' do
33
- before { @object = "kalibro" }
34
-
35
- it 'should return a Hash' do
36
- expect(get_xml("field", @object)).to be_a(Hash)
37
- end
38
-
39
- it 'should return an empty Hash' do
40
- expect(get_xml("field", @object)).to eq({})
41
- end
42
- end
43
-
44
- context 'with an instance of Base' do
45
- before { @object = KalibroClient::Entities::Base.new }
46
-
47
- it 'should return a Hash' do
48
- expect(get_xml("field", @object)).to be_a(Hash)
49
- end
50
-
51
- it 'should return the XML Hash' do
52
- field_xml_hash = {:attributes! =>
53
- {:field =>
54
- {"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
55
- "xsi:type"=>"kalibro:baseXml"
56
- }
57
- }
58
- }
59
-
60
- expect(get_xml("field", @object)).to eq(field_xml_hash)
61
- end
62
- end
63
- end
64
- end
@@ -1,112 +0,0 @@
1
- # This file is part of KalibroClient
2
- # Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
3
- #
4
- # This program is free software: you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation, either version 3 of the License, or
7
- # (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
-
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
-
17
- require 'spec_helper'
18
-
19
- describe KalibroClient do
20
-
21
- context 'configuration' do
22
- #FIXME: there should be a better way to keep the default values
23
- let(:config) { { processor_address: "http://localhost:8082",
24
- configurations_address: "http://localhost:8083" } }
25
-
26
- describe 'config' do
27
- it 'should return the default configuration' do
28
- expect(KalibroClient.config).to eq({
29
- processor_address: "http://localhost:8082",
30
- configurations_address: "http://localhost:8083"
31
- })
32
- end
33
- end
34
-
35
- describe 'configure' do
36
- after(:each) {KalibroClient.configure(config)}
37
-
38
- it 'should set the address' do
39
- KalibroClient.configure({processor_address: 'http://test.test'})
40
- expect(KalibroClient.config[:processor_address]).to eq('http://test.test')
41
- end
42
- end
43
-
44
- describe 'configure_with' do
45
- context 'with an existent YAML' do
46
- after(:each) {KalibroClient.configure(config)}
47
-
48
- it 'should set the config' do
49
- KalibroClient.configure_with('spec/savon/fixtures/config.yml')
50
-
51
- expect(KalibroClient.config).to eq({
52
- processor_address: 'http://test1.test1',
53
- configurations_address: 'http://test2.test2'})
54
- end
55
- end
56
-
57
- context 'with an inexistent YAML' do
58
- before :each do
59
- @logger = Logger.new(File::NULL)
60
- KalibroClient.expects(:logger).returns(@logger)
61
- end
62
-
63
- it 'should keep the defaults' do
64
- KalibroClient.configure_with('spec/savon/fixtures/inexistent_file.yml')
65
- expect(KalibroClient.config).to eq(config)
66
- end
67
-
68
- it 'should log an warning' do
69
- @logger.expects(:warn).with("YAML configuration file couldn't be found. Using defaults.")
70
-
71
- KalibroClient.configure_with('spec/savon/fixtures/inexistent_file.yml')
72
- end
73
- end
74
-
75
- context 'with an invalid YAML' do
76
- before :each do
77
- @logger = Logger.new(File::NULL)
78
- KalibroClient.expects(:logger).returns(@logger)
79
- end
80
-
81
- it 'should keep the defaults' do
82
- KalibroClient.configure_with('spec/savon/fixtures/invalid_config.yml')
83
- expect(KalibroClient.config).to eq(config)
84
- end
85
-
86
- it 'should log an warning' do
87
- @logger.expects(:warn).with("YAML configuration file contains invalid syntax. Using defaults.")
88
-
89
- KalibroClient.configure_with('spec/savon/fixtures/invalid_config.yml')
90
- end
91
- end
92
- end
93
- end
94
-
95
- context 'Logger' do
96
- describe 'logger' do
97
- it 'should return the default logger' do
98
- expect(KalibroClient.logger).to be_a(Logger)
99
- end
100
- end
101
-
102
- describe 'logger=' do
103
- it 'should set the logger' do
104
- logger = Logger.new(STDOUT)
105
-
106
- KalibroClient.logger = logger
107
-
108
- expect(KalibroClient.logger).to eq(logger)
109
- end
110
- end
111
- end
112
- end
@@ -1 +0,0 @@
1
- <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:projectExistsResponse xmlns:ns2="http://service.kalibro.org/"><exists>false</exists></ns2:projectExistsResponse></S:Body></S:Envelope>
@@ -1,14 +0,0 @@
1
- module SavonTestHelper
2
- HttpMock = Struct.new(:code, :headers, :body) do
3
- def error?
4
- false
5
- end
6
- end
7
-
8
- def mock_savon_response(xml_response, code = 200, headers = {})
9
- http = HttpMock.new(code, headers, xml_response)
10
- savon_local_options = Savon::LocalOptions.new
11
- savon_global_options = Savon::GlobalOptions.new
12
- savon_response = Savon::Response.new(http, savon_global_options, savon_local_options)
13
- end
14
- end