itriagetestrail 0.6.9 → 0.7.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 49cf8ce0564d01cb1a724ba3174fd29545bbbe55
4
- data.tar.gz: f3c2c0bdc05151cdb08955e769fe932812b393d4
3
+ metadata.gz: 319c8585bc659cab5bb1b178a4c0f96503e19a04
4
+ data.tar.gz: 9deb949e0b4819aa3b76ea1d106a5cbc92ad8a86
5
5
  SHA512:
6
- metadata.gz: b2bb245f51a3df3fe1ec560b8191c38f9c1a77933073e24410903e7883d438a48a49d5c407952fb193adab1562bdd0349e7c6d7bd5957eebc5594fdafc6f8aed
7
- data.tar.gz: fde7b4725726ad48485bcdb7acf625c06659c4bc02e50647000ce9b9f700a67e052899e5b5777f5ee8f96cf4c3efedd1f7a4661c3a3b61b622cd0e180617ac26
6
+ metadata.gz: 900862dd717e7a3dc0dc0c9e4e57ec58878987c07f1a0bb9edc42bfedf9923b60ef82a1f32442eca753089fa5ed32acf520d649828c266e033c592b24fb29164
7
+ data.tar.gz: faa223b36ca36b811ba492cb4868360169d42458b4dd25a09cd488f1912a256e82d0be5f20284d3052cba051f7cccef5619e017efb41b379a99538a5fb219687
@@ -24,7 +24,6 @@ module Itriagetestrail
24
24
  store_result(@scenario_title, @external_id, @scenario_steps,
25
25
  "#{ENV['RERUN'] ? 5 : 4}".to_i, "#{scenario.exception.class}\n#{scenario.exception}\n#{scenario.exception.backtrace}")
26
26
  end
27
- update_test_run
28
27
  send_results_to_testrail
29
28
  rescue => exception
30
29
  puts "TESTRAIL ENCOUNTERED AN ERROR: #{exception}\n #{@external_id} \n\n"
@@ -23,7 +23,6 @@ module Itriagetestrail
23
23
  store_result(@scenario_title, @external_id, @scenario_steps,
24
24
  "#{ENV['RERUN'] ? 5 : 4}".to_i, "#{scenario.exception.class}\n#{scenario.exception}\n#{scenario.exception.backtrace}")
25
25
  end
26
- update_test_run
27
26
  send_results_to_testrail
28
27
  rescue => exception
29
28
  puts "TESTRAIL ENCOUNTERED AN ERROR: #{exception}\n #{@external_id} \n\n"
@@ -1,3 +1,3 @@
1
1
  module Itriagetestrail
2
- VERSION = '0.6.9'
2
+ VERSION = '0.7.0'
3
3
  end
@@ -419,13 +419,28 @@ module Itriagetestrail
419
419
  @client.send_post("update_run/#{@run_id}", body)
420
420
  end
421
421
 
422
- def existing_cases
422
+ def existing_cases_from_description
423
423
  # Grabs from testrail run description
424
424
  run = @client.send_get("get_run/#{@run_id}")
425
425
  @description = run["description"]
426
426
  @description.nil? ? [] : @description.split(",")
427
427
  end
428
428
 
429
+ def existing_cases_from_run
430
+
431
+ tests = @client.send_get("get_tests/#{@run_id}") || []
432
+
433
+ cases = []
434
+
435
+ tests.each do |test|
436
+
437
+ record = @client.send_get("get_test/#{test["id"]}") || []
438
+
439
+ cases << record["case_id"]
440
+ end
441
+ cases
442
+ end
443
+
429
444
  # open a test run to submit test results
430
445
  def add_testrail_run
431
446
  body = {
@@ -495,31 +510,6 @@ module Itriagetestrail
495
510
  }
496
511
  end
497
512
 
498
- # this is the hack at very end to exclude tests which frameworks like MiniTest and Cucumber did not touch
499
- # including all tests at beginning is necessary so that at least some progress can be seen when
500
- # real time updating is enabled.
501
- def update_test_run(runtime = true)
502
- if runtime
503
- # collect all all the test cases executed during this thread and append them to the description
504
- executed_ids = []
505
- @results[:results].each {|id| executed_ids << id[:case_id]}
506
-
507
- # Append case ids to description
508
- existing_cases.each { |case_id| executed_ids << case_id } if @shared_run == true
509
-
510
- send = {include_all: true, description: executed_ids.uniq.join(",")}
511
- else
512
-
513
- # attempt wait to ensure all threads published before changing scope
514
- sleep 10
515
- # tests from all threads have been pushed, eliminate non executed test cases from the run
516
- send = {include_all: false, case_ids: existing_cases}
517
-
518
- end
519
-
520
- @client.send_post("update_run/#{@run_id}", send)
521
- end
522
-
523
513
  def close_run?()
524
514
  # do not close a run if a run id was supplied. other test suites related to the job will need it.
525
515
  close_run = false
@@ -543,9 +533,9 @@ module Itriagetestrail
543
533
  end
544
534
 
545
535
  def close_run(message='')
546
- update_test_run(false)
547
536
  @client.send_post("update_run/#{@run_id}",
548
- {description: 'Timestamp: ' + @time_zone.now.strftime('%m/%d/%Y %I:%M %p') + ("\nBranch: #{@testrail_config[:origin]}") + "\n#{message}"})
537
+ {include_all: false, case_ids: existing_cases_from_run, description: 'Timestamp: ' + @time_zone.now.strftime('%m/%d/%Y %I:%M %p') + ("\nBranch: #{@testrail_config[:origin]}") + "\n#{message}"})
538
+
549
539
  @client.send_post("close_run/#{@run_id}", {})
550
540
  end
551
541
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itriagetestrail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - a801069