zephyr_ruby 0.4.0 → 0.5.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
  SHA256:
3
- metadata.gz: 55a66aab079225aab9ce400e88f67007c5f2eacdceaff6cecfbb3456c4f2f678
4
- data.tar.gz: 4fb99ddb69c4c3225a5300dbf27e0d28331d1597c9b52d4ef05507f4db2747b9
3
+ metadata.gz: 549801e2026e853cf735c9d2cef973e9ca2059fe3b4733851854ef8cb9424862
4
+ data.tar.gz: 2afe0ae17007648df1b3d1005476b02dd102fd6456d5b39e5f80941f4891e782
5
5
  SHA512:
6
- metadata.gz: 4a958eb629c36f117c3ad6b9fba8103a96719a6280242ae29ecc1fcc761e9c0d9379de2793920bfb2d56ffa91c3776b4d8b3773a61c48cfd36822186b51bbe3b
7
- data.tar.gz: 5cba67d702ef5829fecc9a4a3ebb5adcc8eb7086dba2bddcc20b77690f961e646e0e62b67b359cb97452cd8752c71df870ce4cca04520a21a043e79de0e0ba22
6
+ metadata.gz: f79bee54080bdba9bcd91a99cdc822e41f0298ab4fccc4ba4c5e0256ad37de42a44487366f053a5b6262b0d19dca4af5f5b871c3e9628621c1bfe08c80f830a5
7
+ data.tar.gz: 0ce25005380c567adaa173be75f637262275b00a3eeb65f0226eb6f4c08fe315ffca0794af69d7a5dcd159dea86f3eaf442f955b4656a17b043cdf31dae49c0d
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
 
@@ -28,6 +28,26 @@ 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 get_test_execution_links(test_execution_id)
45
+ get "/testexecutions/#{test_execution_id}/links"
46
+ end
47
+
48
+ def create_test_execution_issue_link(test_execution_id, body)
49
+ post "/testexecutions/#{test_execution_id}/links/issues", body
50
+ end
31
51
  end
32
52
  end
33
53
  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.0'
5
5
  end
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.0
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,8 @@ 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
+ homepage: https://github.com/cdavis-personal/zephyr_ruby
104
105
  licenses:
105
106
  - MIT
106
107
  metadata: {}
@@ -112,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
113
  requirements:
113
114
  - - ">="
114
115
  - !ruby/object:Gem::Version
115
- version: 2.6.0
116
+ version: '3.0'
116
117
  required_rubygems_version: !ruby/object:Gem::Requirement
117
118
  requirements:
118
119
  - - ">="
Binary file