testrailtagging 0.3.6.8 → 0.3.6.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -0
- data/lib/files/testcase_modifications.rb +8 -3
- data/lib/files/testrail_operations.rb +13 -2
- data/lib/files/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c596a8ef0a36d045387d5a10853115248e0306e2
|
4
|
+
data.tar.gz: 596ef2e5d8d25972a0713a8ebdf80a8dcf53bd9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e29fae6a5d5a75551baa141c5240f7a940341ce84c9150a0477889ea723c4bf417474207a10d95d20cc04146ebd98de5c27fe6bf05d6e853eb3ab49809374ad1
|
7
|
+
data.tar.gz: 610dc1ba7b4bd10ae77b3869dfdbb8b5beaab65c5c157490f06fa0d0df8f78daa4df30f4c822965986a2cbeb65a887842ec3c8d65e21cfb1cae588971bf49e8a
|
data/README.md
CHANGED
@@ -64,6 +64,12 @@ After checking out the repo, run `bin/setup` to install dependencies. You can al
|
|
64
64
|
|
65
65
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
66
66
|
|
67
|
+
To publish gem to rubygems.org
|
68
|
+
a) Once the code change is complete, increase the version number
|
69
|
+
b) After the code is merged, run `gem build testrailtagging.gemspec`
|
70
|
+
d) Create a profile at rubygems.org, run `gem push testrailtagging-0.3.6.x.gem`
|
71
|
+
see http://guides.rubygems.org/publishing/
|
72
|
+
|
67
73
|
## Contributing
|
68
74
|
|
69
75
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/testrailtagging. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
@@ -227,12 +227,13 @@ module TestCaseModifications
|
|
227
227
|
# For example, if an rspec test example has a testrail_id of 123123 in file foo_spec.rb, it will update the test
|
228
228
|
# case on test rail and update the spec location field with foo_spec.rb.
|
229
229
|
# This will iterate over all the files in the regression_spec folder.
|
230
|
-
def self.update_automated_status(dryrun:false)
|
231
|
-
test_cases = TestRailOperations.
|
230
|
+
def self.update_automated_status(suite_ids, dryrun:false)
|
231
|
+
test_cases = TestRailOperations.get_test_rail_cases_for_all_suites(suite_ids)
|
232
232
|
regression_files = Dir["regression_spec/**/*_spec.rb"]
|
233
233
|
spec_files = regression_files + Dir["spec/**/*_spec.rb"]
|
234
234
|
# For keeping test cases that actually changed
|
235
235
|
changed_cases = {}
|
236
|
+
orphaned_ids_count = 0
|
236
237
|
# parse all the files looking for examples
|
237
238
|
spec_files.each do |file|
|
238
239
|
# puts "Rspec file: #{file}"
|
@@ -257,13 +258,16 @@ module TestCaseModifications
|
|
257
258
|
tc.automated = true
|
258
259
|
changed_cases[id] = tc
|
259
260
|
end
|
261
|
+
else
|
262
|
+
puts "Test CaseID: #{id} not found in any testrail suite for project: #{TestRailOperations.project_id}"
|
263
|
+
orphaned_ids_count += 1
|
260
264
|
end
|
261
265
|
end
|
262
266
|
end
|
263
267
|
end
|
264
268
|
end
|
265
269
|
|
266
|
-
puts "\nTest Cases that will get modified"
|
270
|
+
puts "\nTest Cases that will get modified" if changed_cases.count > 0
|
267
271
|
trclient = TestRailOperations.get_test_rail_client
|
268
272
|
changed_cases.each do |id_key, tc_val|
|
269
273
|
puts "Test Case: id: #{id_key}, #{tc_val.file}" if tc_val.file
|
@@ -273,6 +277,7 @@ module TestCaseModifications
|
|
273
277
|
trclient.send_post_retry(url, data)
|
274
278
|
end
|
275
279
|
end
|
280
|
+
puts "Number of orphaned testcase IDs: #{orphaned_ids_count}"
|
276
281
|
end
|
277
282
|
|
278
283
|
# checks for duplicate test case ID's in the rspec tests
|
@@ -105,14 +105,15 @@ module TestRailOperations
|
|
105
105
|
# The Values are the instance of TestCase.
|
106
106
|
# Each TestCase instance corresponds to a test case in test rail.
|
107
107
|
# return - A hash of TestCase instances
|
108
|
-
def self.get_test_rail_cases
|
108
|
+
def self.get_test_rail_cases(suite_id = nil)
|
109
109
|
trclient = get_test_rail_client
|
110
110
|
screen_sizes = get_test_rail_screen_size_codes
|
111
111
|
priorities = get_test_rail_priority_codes
|
112
112
|
test_cases = {}
|
113
113
|
|
114
114
|
# retrieve test cases
|
115
|
-
|
115
|
+
id_suite = suite_id ? suite_id : self.suite_id
|
116
|
+
testcases_url = "get_cases/#{self.project_id}&suite_id=#{id_suite}"
|
116
117
|
response = trclient.send_get(testcases_url)
|
117
118
|
response.each do |test_case|
|
118
119
|
id = test_case["id"]
|
@@ -138,6 +139,16 @@ module TestRailOperations
|
|
138
139
|
test_cases
|
139
140
|
end
|
140
141
|
|
142
|
+
# Gets all the test cases for all the suites that we have for Bridge in Testrail
|
143
|
+
# suite_ids - An array of integers for each test suite under a testrail project
|
144
|
+
def self.get_test_rail_cases_for_all_suites(suite_ids)
|
145
|
+
result = {}
|
146
|
+
suite_ids.each do |id|
|
147
|
+
result.merge!(get_test_rail_cases(id))
|
148
|
+
end
|
149
|
+
result
|
150
|
+
end
|
151
|
+
|
141
152
|
# Updates a testcase that corresponds to the provided
|
142
153
|
# testrail_id. The testcase's reference field will be
|
143
154
|
# linked to the provided Jira ticket, given in the format
|
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.6.
|
4
|
+
version: 0.3.6.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|