Class: Resttestrail::Client
- Inherits:
-
Object
- Object
- Resttestrail::Client
- Defined in:
- lib/resttestrail/client.rb
Instance Attribute Summary collapse
-
#net_http ⇒ Object
readonly
Returns the value of attribute net_http.
Class Method Summary collapse
Instance Method Summary collapse
- #add_case(section_id, title, type_id, priority_id, estimate = nil, milestone_id = nil, refs = nil) ⇒ Object
- #add_result_for_case(run_id, test_case_id, status, elapsed_time_secs, comment = nil, defects = nil) ⇒ Object
- #add_run(run_name, suite_id) ⇒ Object
- #delete_case(case_id) ⇒ Object
- #delete_run(run_id) ⇒ Object
- #get_case(case_id) ⇒ Object
- #get_cases(suite_id = nil, section_id = nil, filters = nil) ⇒ Object
- #get_run(run_id) ⇒ Object
-
#initialize ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize ⇒ Client
Returns a new instance of Client.
16 17 18 |
# File 'lib/resttestrail/client.rb', line 16 def initialize @net_http = Net::HTTP.new(Resttestrail.config.host, Resttestrail.config.port) end |
Instance Attribute Details
#net_http ⇒ Object (readonly)
Returns the value of attribute net_http.
8 9 10 |
# File 'lib/resttestrail/client.rb', line 8 def net_http @net_http end |
Class Method Details
.close_run(run_id) ⇒ Object
64 65 66 67 68 |
# File 'lib/resttestrail/client.rb', line 64 def self.close_run(run_id) request = Resttestrail::Requests.close_run(run_id) http_response = Resttestrail::Client.response(@net_http.request(request)) http_response[:body]["id"] end |
.instance ⇒ Object
12 13 14 |
# File 'lib/resttestrail/client.rb', line 12 def self.instance @instance ||= new end |
.response(http_response) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/resttestrail/client.rb', line 70 def self.response(http_response) response_hash = {:success => false, :code => nil, :body => nil, :message => nil} if http_response.nil? raise Resttestrail::TestrailError.new(response_hash), "Received nil response" end response_hash[:success] = (http_response.code == "200" && http_response. == "OK") response_hash[:code] = http_response.code response_hash[:body] = http_response.body response_hash[:message] = http_response. raise Resttestrail::TestrailError.new(response_hash), "Unsuccessful response" unless response_hash[:success] begin response_hash[:body] = (http_response.body == "") ? "" : JSON.parse(http_response.body) response_hash[:success] = true rescue StandardError => e response_hash[:success] = false raise Resttestrail::TestrailError.new(response_hash), "Error while parsing response" end response_hash end |
Instance Method Details
#add_case(section_id, title, type_id, priority_id, estimate = nil, milestone_id = nil, refs = nil) ⇒ Object
20 21 22 23 24 |
# File 'lib/resttestrail/client.rb', line 20 def add_case(section_id, title, type_id, priority_id, estimate=nil, milestone_id=nil, refs=nil) request = Resttestrail::Requests.add_case(section_id, title, type_id, priority_id, estimate, milestone_id, refs) http_response = Resttestrail::Client.response(@net_http.request(request)) http_response[:body]["id"] end |
#add_result_for_case(run_id, test_case_id, status, elapsed_time_secs, comment = nil, defects = nil) ⇒ Object
58 59 60 61 62 |
# File 'lib/resttestrail/client.rb', line 58 def add_result_for_case(run_id, test_case_id, status, elapsed_time_secs, comment=nil, defects=nil) request = Resttestrail::Requests.add_result_for_case(run_id, test_case_id, status, elapsed_time_secs, comment, defects) http_response = Resttestrail::Client.response(@net_http.request(request)) http_response[:body]["id"] end |
#add_run(run_name, suite_id) ⇒ Object
42 43 44 45 46 |
# File 'lib/resttestrail/client.rb', line 42 def add_run(run_name, suite_id) request = Resttestrail::Requests.add_run(run_name, suite_id) http_response = Resttestrail::Client.response(@net_http.request(request)) http_response[:body]["id"] end |
#delete_case(case_id) ⇒ Object
37 38 39 40 |
# File 'lib/resttestrail/client.rb', line 37 def delete_case(case_id) request = Resttestrail::Requests.delete_case(case_id) Resttestrail::Client.response(@net_http.request(request)) end |
#delete_run(run_id) ⇒ Object
53 54 55 56 |
# File 'lib/resttestrail/client.rb', line 53 def delete_run(run_id) request = Resttestrail::Requests.delete_run(run_id) Resttestrail::Client.response(@net_http.request(request)) end |
#get_case(case_id) ⇒ Object
26 27 28 29 |
# File 'lib/resttestrail/client.rb', line 26 def get_case(case_id) request = Resttestrail::Requests.get_case(case_id) Resttestrail::Client.response(@net_http.request(request)) end |
#get_cases(suite_id = nil, section_id = nil, filters = nil) ⇒ Object
31 32 33 34 35 |
# File 'lib/resttestrail/client.rb', line 31 def get_cases(suite_id=nil, section_id=nil, filters=nil) # filters are available since TestRail 4.0 request = Resttestrail::Requests.get_cases(suite_id, section_id, filters) Resttestrail::Client.response(@net_http.request(request)) end |
#get_run(run_id) ⇒ Object
48 49 50 51 |
# File 'lib/resttestrail/client.rb', line 48 def get_run(run_id) request = Resttestrail::Requests.get_run(run_id) Resttestrail::Client.response(@net_http.request(request)) end |