zephyr_ruby 0.4.0 → 0.5.1

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
  SHA256:
3
- metadata.gz: 55a66aab079225aab9ce400e88f67007c5f2eacdceaff6cecfbb3456c4f2f678
4
- data.tar.gz: 4fb99ddb69c4c3225a5300dbf27e0d28331d1597c9b52d4ef05507f4db2747b9
3
+ metadata.gz: 9a3b3bab61cc2f4029d887a6b628e0efba253fa675fed3bee61d4fbdb8b68911
4
+ data.tar.gz: 6718dd0d341673673b00ac9c0089eef7f2eecdd13202250b21d52d4115827b3a
5
5
  SHA512:
6
- metadata.gz: 4a958eb629c36f117c3ad6b9fba8103a96719a6280242ae29ecc1fcc761e9c0d9379de2793920bfb2d56ffa91c3776b4d8b3773a61c48cfd36822186b51bbe3b
7
- data.tar.gz: 5cba67d702ef5829fecc9a4a3ebb5adcc8eb7086dba2bddcc20b77690f961e646e0e62b67b359cb97452cd8752c71df870ce4cca04520a21a043e79de0e0ba22
6
+ metadata.gz: 0a0a806a2d95fa89f4cb074dbbc1bdfd12e0c7f04eb83f0f5a36734d084f62f427000e6513da7775653be66c395872aa5a689371062040d17a0b3e67892da83d
7
+ data.tar.gz: e6335fd4cb30b53b0be7fea62c08211392b7d9c6a8afec71fbba80106a987861faad286a2f6510df72e0d0d9ad3e07c8f2601179ed8e2618c943fb37f5e4dd69
data/.rubocop.yml ADDED
@@ -0,0 +1,6 @@
1
+ Metrics/MethodLength:
2
+ Max: 13
3
+
4
+ AllCops:
5
+ NewCops: disable
6
+ TargetRubyVersion: 3.0
data/README.md CHANGED
@@ -1,7 +1,5 @@
1
1
  # ZephyrRuby
2
2
 
3
- [Zephyr REST API Documentation](https://support.smartbear.com/zephyr-scale-cloud/api-docs/#section/Introduction)
4
-
5
3
  ## Installation
6
4
 
7
5
  Install the gem and add to the application's Gemfile by executing:
@@ -14,7 +12,9 @@ If bundler is not being used to manage dependencies, install the gem by executin
14
12
 
15
13
  ## Usage
16
14
 
17
- This gem provides access to the Zephyr Scale REST API.
15
+ To get started all you need to do is set your zephyr API access token and instantiate the client.
16
+
17
+ For API endpoint usage see the official REST API documentation [here](https://support.smartbear.com/zephyr-scale-cloud/api-docs/#section/Introduction).
18
18
 
19
19
  ```ruby
20
20
  require 'zephyr_ruby'
@@ -16,6 +16,7 @@ require_relative 'resource/test_plans'
16
16
  require_relative 'connection'
17
17
 
18
18
  require 'faraday'
19
+ require 'faraday/multipart'
19
20
  require 'json'
20
21
 
21
22
  module ZephyrRuby
@@ -39,7 +40,11 @@ module ZephyrRuby
39
40
  def initialize(api_token)
40
41
  @base_url = 'https://api.zephyrscale.smartbear.com/v2'
41
42
  @api_token = api_token
42
- @client = Faraday.new(@base_url, builder: build_middleware)
43
+ @client = Faraday.new(@base_url) do |f|
44
+ f.request :multipart
45
+ f.request :url_encoded
46
+ f.adapter Faraday.default_adapter
47
+ end
43
48
  @headers = {
44
49
  'Authorization' => "Bearer #{@api_token}",
45
50
  'Content-Type' => 'application/json'
@@ -8,8 +8,21 @@ module ZephyrRuby
8
8
  request :get, path, params
9
9
  end
10
10
 
11
- def post(path, body)
12
- body = body.to_json if body.is_a?(Hash)
11
+ def post(path, body, file_path = nil)
12
+ if file_path
13
+ mime_type = case File.extname(file_path).downcase
14
+ when '.json' then 'application/json'
15
+ when '.xml' then 'application/xml'
16
+ when '.zip' then 'application/zip'
17
+ else 'application/octet-stream'
18
+ end
19
+
20
+ file = Faraday::UploadIO.new(file_path, mime_type)
21
+ body = { file: file }.merge(body) if body.is_a?(Hash)
22
+ elsif body.is_a?(Hash)
23
+ body = body.to_json
24
+ end
25
+
13
26
  request :post, path, body
14
27
  end
15
28
 
@@ -5,16 +5,16 @@ module ZephyrRuby
5
5
  module Resource
6
6
  # Operations related to Automations
7
7
  module Automations
8
- def create_automation_custom(body)
9
- post '/automations/executions/custom', body
8
+ def create_automation_custom(body, file_path = nil)
9
+ post '/automations/executions/custom', body, file_path
10
10
  end
11
11
 
12
- def create_automation_cucumber(body)
13
- post '/automations/executions/cucumber', body
12
+ def create_automation_cucumber(body, file_path = nil)
13
+ post '/automations/executions/cucumber', body, file_path
14
14
  end
15
15
 
16
- def create_automation_junit(body)
17
- post '/automations/executions/junit', body
16
+ def create_automation_junit(body, file_path = nil)
17
+ post '/automations/executions/junit', body, file_path
18
18
  end
19
19
 
20
20
  def get_zip_file(params = {})
@@ -28,6 +28,22 @@ module ZephyrRuby
28
28
  def update_test_execution(test_execution_id, body)
29
29
  put "/testexecutions/#{test_execution_id}", body
30
30
  end
31
+
32
+ def get_test_steps(test_execution_id)
33
+ get "/testexecutions/#{test_execution_id}/teststeps"
34
+ end
35
+
36
+ def update_test_steps(test_execution_id, body)
37
+ put "/testexecutions/#{test_execution_id}/teststeps", body
38
+ end
39
+
40
+ def sync_test_execution(test_execution_id)
41
+ post "/testexecutions/#{test_execution_id}/teststeps/sync"
42
+ end
43
+
44
+ def create_test_execution_issue_link(test_execution_id, body)
45
+ post "/testexecutions/#{test_execution_id}/links/issues", body
46
+ end
31
47
  end
32
48
  end
33
49
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZephyrRuby
4
- VERSION = '0.4.0'
4
+ VERSION = '0.5.1'
5
5
  end
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zephyr_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Davis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-22 00:00:00.000000000 Z
11
+ date: 2024-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -76,6 +76,7 @@ executables: []
76
76
  extensions: []
77
77
  extra_rdoc_files: []
78
78
  files:
79
+ - ".rubocop.yml"
79
80
  - CHANGELOG.md
80
81
  - Gemfile
81
82
  - LICENSE.txt
@@ -99,8 +100,9 @@ files:
99
100
  - lib/zephyr_ruby/resource/test_plans.rb
100
101
  - lib/zephyr_ruby/version.rb
101
102
  - sig/zephyr_ruby.rbs
102
- - zephyr_ruby-0.3.0.gem
103
- homepage: https://github.com/chrisdavis180/zephyr_ruby
103
+ - zephyr_ruby-0.4.0.gem
104
+ - zephyr_ruby-0.5.0.gem
105
+ homepage: https://github.com/cdavis-personal/zephyr_ruby
104
106
  licenses:
105
107
  - MIT
106
108
  metadata: {}
@@ -112,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
114
  requirements:
113
115
  - - ">="
114
116
  - !ruby/object:Gem::Version
115
- version: 2.6.0
117
+ version: '3.0'
116
118
  required_rubygems_version: !ruby/object:Gem::Requirement
117
119
  requirements:
118
120
  - - ">="
Binary file