testrail-cucumber 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d907c311d0f9fa65fce84b2732810fe3f4a3e8b05f5dda4b13751a13e048491b
4
- data.tar.gz: e84848a9018ca24f8e85bdc97d2f3934f895b48cc92f048ab57bc95887b4d114
3
+ metadata.gz: c364f8ec7e6d8546b686fce3bcb6363e2102616c74dba9445c5168541631af7a
4
+ data.tar.gz: 329e4e2692a1c9430b5a2bb68733514eae307b9efe8bfba75160a3e5103b8d45
5
5
  SHA512:
6
- metadata.gz: 713d16f3410216944ddba29e3d78227ec3888f56cc747fa151a348402d52aa3e0f1dd84d5e230873f237709dd0cca8fc6558a54a1854ef0842c2a628b15ee657
7
- data.tar.gz: e9315fff6966f8ec9bb41399527995910849cac1cbaecea7cc3b22a9017f8ffee1fe733457a65900045720ff49dcf6d2534382752d1815e9e14b44a953ffe291
6
+ metadata.gz: f452928d684e5c677d54263403bd93de7556d1e9d8a61896fb106e45584fad1339ec3b5403161adfe6480395a86af28b7df985358bd34646221964e37120546f
7
+ data.tar.gz: 0e09fef2a92beaf30fede7defcb68d406fe23742e27fc67a45ff86c43d1179002bdc2fa302e0b08751d066f7b910b3c8fcd6a9ed9eac46c9dbea6708f8595d13
@@ -15,6 +15,7 @@ module TestrailCucumber
15
15
  end
16
16
 
17
17
  setup_testrail_client
18
+ config_validator if $config_validator.nil?
18
19
  end
19
20
 
20
21
  def upload_result
@@ -36,6 +37,7 @@ module TestrailCucumber
36
37
  @run_id = @@run_id = client.create_test_run("add_run/#{@config['project_id']}", { "suite_id": @config['suite_id']}) if @run_id.nil?
37
38
 
38
39
  case_list.map do |case_id|
40
+ check_avail(:case_id, case_id)
39
41
  response = client.send_post(
40
42
  "add_result_for_case/#{@run_id}/#{case_id}",
41
43
  { status_id: status_id }
@@ -56,6 +58,17 @@ module TestrailCucumber
56
58
  @client.user = @config['user']
57
59
  @client.password = @config['password']
58
60
  end
61
+
62
+ def config_validator
63
+ config_hash = {:project_id => @config['project_id'], :suite_id => @config['suite_id'], :run_id => @config['run_id']}
64
+ config_hash.map do |key, value|
65
+ next if value.nil?
66
+ check_avail(key, value)
67
+ end
68
+
69
+ cleaner if [@config['project_id'], @config['clean_testrun'], @config['run_id'].nil?].all?
70
+ $config_validator = true
71
+ end
59
72
 
60
73
  def get_status_id(status)
61
74
  case status
@@ -75,5 +88,28 @@ module TestrailCucumber
75
88
  raise 'unexpected scenario status passed'
76
89
  end
77
90
  end
91
+
92
+ def cleaner
93
+ test_run_list = client.send_get("get_runs/#{@config['project_id']}")
94
+ test_run_list.map do |list|
95
+ client.send_post("delete_run/#{list['id']}", {"suite_id": @config['suite_id']})
96
+ end
97
+ end
98
+
99
+ def check_avail(label, id)
100
+ case label
101
+ when :project_id
102
+ warn("\n###################### \ninvalid #project_id: #{id} \n######################") if client.send_get("get_project/#{id}").nil? || client.send_get("get_project/#{id}")['error'] != nil
103
+ when :suite_id
104
+ warn("\n###################### \ninvalid #suite_id: #{id} \n######################") if client.send_get("get_suite/#{id}").nil? || client.send_get("get_suite/#{id}")['error'] != nil
105
+ when :run_id
106
+ warn("\n###################### \ninvalid #run_id: #{id} \n######################") if client.send_get("get_run/#{id}").nil? || client.send_get("get_run/#{id}")['error'] != nil
107
+ when :case_id
108
+ return if client.send_get("get_case/#{id}").class == Integer
109
+ warn("\n###################### \ninvalid #case_id: #{id} \n######################") if client.send_get("get_case/#{id}").nil? || client.send_get("get_case/#{id}")['error'] != nil
110
+ else
111
+ p "no config available"
112
+ end
113
+ end
78
114
  end
79
115
  end
@@ -1,3 +1,3 @@
1
1
  module TestrailCucumber
2
- VERSION = '0.1.8'.freeze
2
+ VERSION = '0.1.9'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testrail-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prashanth Sams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-19 00:00:00.000000000 Z
11
+ date: 2020-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -130,5 +130,6 @@ requirements: []
130
130
  rubygems_version: 3.0.4
131
131
  signing_key:
132
132
  specification_version: 4
133
- summary: Sync cucumber automation test results with your testrail suite
133
+ summary: Sync cucumber automation test results with your testrail suite. Discover
134
+ an example with Cucumber in this gem source.
134
135
  test_files: []