Commit d493cc56203adef61e3532ca3e013f31a5298616

Authored by Carlos Morais + Eduardo Morais
Committed by Carlos Morais
1 parent f83c66b0

Update KalibroClient with new service operations

plugins/mezuro/lib/kalibro/client/kalibro_client.rb
1 class Kalibro::Client::KalibroClient 1 class Kalibro::Client::KalibroClient
  2 +
  3 + def self.process_project(project_name)
  4 + new.process_project(project_name)
  5 + end
2 6
3 def initialize 7 def initialize
4 @port = Kalibro::Client::Port.new('Kalibro') 8 @port = Kalibro::Client::Port.new('Kalibro')
@@ -12,8 +16,16 @@ class Kalibro::Client::KalibroClient @@ -12,8 +16,16 @@ class Kalibro::Client::KalibroClient
12 @port.request(:process_project, {:project_name => project_name}) 16 @port.request(:process_project, {:project_name => project_name})
13 end 17 end
14 18
15 - def self.process_project(project_name)  
16 - new.process_project(project_name) 19 + def process_periodically(project_name, period_in_days)
  20 + @port.request(:process_periodically, {:project_name => project_name, :period_in_days => period_in_days})
  21 + end
  22 +
  23 + def process_period(project_name)
  24 + @port.request(:get_process_period, {:project_name => project_name})[:period]
  25 + end
  26 +
  27 + def cancel_periodic_process(project_name)
  28 + @port.request(:cancel_periodic_process, {:project_name => project_name})
17 end 29 end
18 30
19 end 31 end
plugins/mezuro/test/unit/kalibro/client/project_result_client_test.rb
@@ -13,59 +13,46 @@ class ProjectResultClientTest < ActiveSupport::TestCase @@ -13,59 +13,46 @@ class ProjectResultClientTest < ActiveSupport::TestCase
13 @project_name = @result.project.name 13 @project_name = @result.project.name
14 @date = @result.date 14 @date = @result.date
15 @flag = DateTime.now.sec % 2 == 0 15 @flag = DateTime.now.sec % 2 == 0
  16 +
  17 + @request = {:project_name => @project_name}
  18 + @request_with_date = {:project_name => @project_name, :date => @date}
  19 + @flag_response = {:has_results => @flag}
  20 + @result_response = {:project_result => @result.to_hash}
16 end 21 end
17 22
18 should 'retrieve if project has results' do 23 should 'retrieve if project has results' do
19 - @port.expects(:request).with(:has_results_for, request).returns(flag_response) 24 + @port.expects(:request).with(:has_results_for, @request).returns(@flag_response)
20 assert_equal @flag, @client.has_results_for(@project_name) 25 assert_equal @flag, @client.has_results_for(@project_name)
21 end 26 end
22 27
23 should 'retrieve if project has results before date' do 28 should 'retrieve if project has results before date' do
24 - @port.expects(:request).with(:has_results_before, request_with_date).returns(flag_response) 29 + @port.expects(:request).with(:has_results_before, @request_with_date).returns(@flag_response)
25 assert_equal @flag, @client.has_results_before(@project_name, @date) 30 assert_equal @flag, @client.has_results_before(@project_name, @date)
26 end 31 end
27 32
28 should 'retrieve if project has results after date' do 33 should 'retrieve if project has results after date' do
29 - @port.expects(:request).with(:has_results_after, request_with_date).returns(flag_response) 34 + @port.expects(:request).with(:has_results_after, @request_with_date).returns(@flag_response)
30 assert_equal @flag, @client.has_results_after(@project_name, @date) 35 assert_equal @flag, @client.has_results_after(@project_name, @date)
31 end 36 end
32 37
33 should 'get first result of project' do 38 should 'get first result of project' do
34 - @port.expects(:request).with(:get_first_result_of, request).returns(result_response) 39 + @port.expects(:request).with(:get_first_result_of, @request).returns(@result_response)
35 assert_equal @result, @client.first_result(@project_name) 40 assert_equal @result, @client.first_result(@project_name)
36 end 41 end
37 42
38 should 'get last result of project' do 43 should 'get last result of project' do
39 - @port.expects(:request).with(:get_last_result_of, request).returns(result_response) 44 + @port.expects(:request).with(:get_last_result_of, @request).returns(@result_response)
40 assert_equal @result, @client.last_result(@project_name) 45 assert_equal @result, @client.last_result(@project_name)
41 end 46 end
42 47
43 should 'get first result of project after date' do 48 should 'get first result of project after date' do
44 - @port.expects(:request).with(:get_first_result_after, request_with_date).returns(result_response) 49 + @port.expects(:request).with(:get_first_result_after, @request_with_date).returns(@result_response)
45 assert_equal @result, @client.first_result_after(@project_name, @date) 50 assert_equal @result, @client.first_result_after(@project_name, @date)
46 end 51 end
47 52
48 should 'get last result of project before date' do 53 should 'get last result of project before date' do
49 - @port.expects(:request).with(:get_last_result_before, request_with_date).returns(result_response) 54 + @port.expects(:request).with(:get_last_result_before, @request_with_date).returns(@result_response)
50 assert_equal @result, @client.last_result_before(@project_name, @date) 55 assert_equal @result, @client.last_result_before(@project_name, @date)
51 end 56 end
52 57
53 - private  
54 -  
55 - def request  
56 - {:project_name => @project_name}  
57 - end  
58 -  
59 - def request_with_date  
60 - {:project_name => @project_name, :date => @date}  
61 - end  
62 -  
63 - def flag_response  
64 - {:has_results => @flag}  
65 - end  
66 -  
67 - def result_response  
68 - {:project_result => @result.to_hash}  
69 - end  
70 -  
71 end 58 end
72 \ No newline at end of file 59 \ No newline at end of file