testrailtagging 0.3.8.4 → 0.3.8.5
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 +5 -5
- data/README.md +5 -0
- data/lib/files/testrail_apiclient_retry.rb +2 -0
- data/lib/files/testrail_operations.rb +19 -0
- data/lib/files/testrail_rspec_integration.rb +6 -0
- data/lib/files/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f37a99cc06d1145c1895ae5f04757f10183a048e64e59dabdc1c8403d0f7212a
|
4
|
+
data.tar.gz: 721856049f244b684633b303985678ab1698740778a79a7e254d7cb1497742bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4abc90728c7a8c8f346e97a7a95d3bdfa3c205d5f943239e90845a51a00a9d0032dcef51886c1b386b7a46727b0f61de45de52d1b3baf3b2c14c159dd36a3555
|
7
|
+
data.tar.gz: f023c5d34851814a633419b8a8a66d3847cf85fa22006d595180ec486939d27f4f8f3e67ae24b5c3933d32d2415911c9a88f0b3b5028d46fee32d53a51318375
|
data/README.md
CHANGED
@@ -32,6 +32,11 @@ Hence to do anything with this gem you will need to set the following environmen
|
|
32
32
|
`TESTRAIL_PASSWORD`
|
33
33
|
|
34
34
|
which this gem will look for and use.
|
35
|
+
|
36
|
+
`TESTRAIL_RUN_DELETE_DAYS`
|
37
|
+
`TESTRAIL_RUN_DELETE_FORCE`
|
38
|
+
With RUN_DELETE_DAYS defined the gem will delete all test runs in the provided plan_id that are older than
|
39
|
+
the days specified. There is a limit of 7 days which can be overridden with RUN_DELETE_FORCE set to true.
|
35
40
|
|
36
41
|
### For Reporting results to testrail
|
37
42
|
|
@@ -34,6 +34,8 @@ module TestRail
|
|
34
34
|
puts "TestRail rate limited. retrying in #{exponential_backoff_seconds}"
|
35
35
|
sleep exponential_backoff_seconds
|
36
36
|
exponential_backoff_seconds *= 3
|
37
|
+
elsif e.message && e.message.match("Net::OpenTimeout")
|
38
|
+
sleep 1
|
37
39
|
else
|
38
40
|
# Don't retry it, let the exception propagate
|
39
41
|
raise
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative "testrail_apiclient_retry"
|
2
2
|
require_relative "TestCase"
|
3
|
+
require "date"
|
3
4
|
|
4
5
|
# =================================================================================
|
5
6
|
#
|
@@ -302,6 +303,24 @@ module TestRailOperations
|
|
302
303
|
trclient.send_post_retry(uri, "results" => data)
|
303
304
|
end
|
304
305
|
|
306
|
+
# For a given test plan deletes all runs equal to or older than the days passed
|
307
|
+
# Note that testrail stores runs as an entry and requires the entry id to remove the run
|
308
|
+
# To delete closer than 7 days, pass in force_delete = true
|
309
|
+
def self.delete_plan_entry(plan_id, days, force_delete = false)
|
310
|
+
if days >= 7 || force_delete == true
|
311
|
+
clean_date = (Date.today - days).to_time.to_i
|
312
|
+
trclient = get_test_rail_client
|
313
|
+
request = "get_plan/#{plan_id}"
|
314
|
+
response = trclient.send_get(request)
|
315
|
+
response["entries"].each do |entry|
|
316
|
+
if entry["runs"][0]["created_on"] <= clean_date
|
317
|
+
uri = "delete_plan_entry/#{plan_id}/#{entry["id"]}"
|
318
|
+
trclient.send_post_retry(uri, "")
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
305
324
|
# When a test run is created, the test cases have new, sort of temporary ID's.
|
306
325
|
# These are completely different from the permanent static ID's of the test cases.
|
307
326
|
# Given a test run ID, this gets the test cases that are assigned to that test run.
|
@@ -80,6 +80,12 @@ module TestRailRSpecIntegration
|
|
80
80
|
@batch_size = 1
|
81
81
|
end
|
82
82
|
|
83
|
+
# Initialize the number of cleanup days for test rail runs based on environment variable.
|
84
|
+
# Unless force_delete = true is passed the minimum is 7 days.
|
85
|
+
if !ENV["TESTRAIL_RUN_DELETE_DAYS"].nil? && !@testrail_plan_id.nil?
|
86
|
+
TestRailOperations.delete_plan_entry(@testrail_plan_id, ENV["TESTRAIL_RUN_DELETE_DAYS"].to_f, ENV["TESTRAIL_RUN_DELETE_FORCE"])
|
87
|
+
end
|
88
|
+
|
83
89
|
# Pull down ALL the test cases from testrail. Granted this is more than what rspec will actually
|
84
90
|
# execute. But there is no safe way to append a test case to a test run in a parallel environment.
|
85
91
|
# The Testrail API is just too limited.
|
data/lib/files/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testrailtagging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.8.
|
4
|
+
version: 0.3.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -125,9 +125,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
125
|
version: '0'
|
126
126
|
requirements: []
|
127
127
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.
|
128
|
+
rubygems_version: 2.7.4
|
129
129
|
signing_key:
|
130
130
|
specification_version: 4
|
131
131
|
summary: Utilities for working with testrail.
|
132
132
|
test_files: []
|
133
|
-
has_rdoc:
|