zephyr_ruby 0.3.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: 8f7a9f6f87f9381df9f8553af5bfa76989f11a314940de8c56d4af18be21a1b1
4
- data.tar.gz: 264147893390f27bea28befb18b3bec1df7300862dd3901791e402adbdaea3f9
3
+ metadata.gz: 9a3b3bab61cc2f4029d887a6b628e0efba253fa675fed3bee61d4fbdb8b68911
4
+ data.tar.gz: 6718dd0d341673673b00ac9c0089eef7f2eecdd13202250b21d52d4115827b3a
5
5
  SHA512:
6
- metadata.gz: 4fb2abff6e2bfd923d256ef714542a14b4e7465c9837b64b58320eefc24ff1325cd811f5d8ce8449111ba5ae92847e76fcc15bbf3823f708f0911c973479e6d4
7
- data.tar.gz: 631e49ef125f097ef38aad283ce862fea5b4d341561d6a5fe62895ee7aa10d35fa2ee5e5ab5333faeaa8076fd6ba373d43e04e9f987a3a098ea08aedd491573e
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
@@ -12,7 +12,9 @@ If bundler is not being used to manage dependencies, install the gem by executin
12
12
 
13
13
  ## Usage
14
14
 
15
- 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).
16
18
 
17
19
  ```ruby
18
20
  require 'zephyr_ruby'
@@ -20,9 +22,6 @@ require 'zephyr_ruby'
20
22
  @client = ZephyrRuby::Client.new('YOUR_API_KEY')
21
23
  ```
22
24
 
23
- ## Zephyr Scale REST API Documentation
24
- - [Overview](https://support.smartbear.com/zephyr-scale-cloud/api-docs/#section/Introduction)
25
-
26
25
  ## Development
27
26
 
28
27
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -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 = {})
@@ -24,6 +24,26 @@ module ZephyrRuby
24
24
  def create_test_execution_link(test_execution_id, body)
25
25
  post "/testexecutions/#{test_execution_id}/links/issues", body
26
26
  end
27
+
28
+ def update_test_execution(test_execution_id, body)
29
+ put "/testexecutions/#{test_execution_id}", body
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
27
47
  end
28
48
  end
29
49
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZephyrRuby
4
- VERSION = '0.3.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.3.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: 2022-12-26 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,7 +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
- 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
103
106
  licenses:
104
107
  - MIT
105
108
  metadata: {}
@@ -111,14 +114,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
114
  requirements:
112
115
  - - ">="
113
116
  - !ruby/object:Gem::Version
114
- version: 2.6.0
117
+ version: '3.0'
115
118
  required_rubygems_version: !ruby/object:Gem::Requirement
116
119
  requirements:
117
120
  - - ">="
118
121
  - !ruby/object:Gem::Version
119
122
  version: '0'
120
123
  requirements: []
121
- rubygems_version: 3.2.33
124
+ rubygems_version: 3.2.3
122
125
  signing_key:
123
126
  specification_version: 4
124
127
  summary: Zephyr REST API Client for Ruby