sealights-rspec-agent 2.0.4 → 2.0.5

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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/agent/config.rb +6 -6
  3. data/agent/dependencies/faraday-0.17.0/LICENSE.md +20 -0
  4. data/agent/dependencies/faraday-0.17.0/README.md +384 -0
  5. data/agent/dependencies/faraday-0.17.0/lib/faraday.rb +248 -0
  6. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter.rb +55 -0
  7. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_http.rb +243 -0
  8. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_synchrony.rb +106 -0
  9. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_synchrony/parallel_manager.rb +66 -0
  10. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/excon.rb +82 -0
  11. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/httpclient.rb +128 -0
  12. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/net_http.rb +152 -0
  13. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/net_http_persistent.rb +68 -0
  14. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/patron.rb +95 -0
  15. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/rack.rb +58 -0
  16. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/sl_em_http_ssl_patch.rb +56 -0
  17. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/test.rb +213 -0
  18. data/agent/dependencies/faraday-0.17.0/lib/faraday/adapter/typhoeus.rb +12 -0
  19. data/agent/dependencies/faraday-0.17.0/lib/faraday/autoload.rb +84 -0
  20. data/agent/dependencies/faraday-0.17.0/lib/faraday/connection.rb +484 -0
  21. data/agent/dependencies/faraday-0.17.0/lib/faraday/error.rb +66 -0
  22. data/agent/dependencies/faraday-0.17.0/lib/faraday/middleware.rb +37 -0
  23. data/agent/dependencies/faraday-0.17.0/lib/faraday/options.rb +373 -0
  24. data/agent/dependencies/faraday-0.17.0/lib/faraday/parameters.rb +198 -0
  25. data/agent/dependencies/faraday-0.17.0/lib/faraday/rack_builder.rb +237 -0
  26. data/agent/dependencies/faraday-0.17.0/lib/faraday/request.rb +114 -0
  27. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/authorization.rb +41 -0
  28. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/basic_authentication.rb +13 -0
  29. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/instrumentation.rb +36 -0
  30. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/multipart.rb +68 -0
  31. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/retry.rb +212 -0
  32. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/token_authentication.rb +15 -0
  33. data/agent/dependencies/faraday-0.17.0/lib/faraday/request/url_encoded.rb +36 -0
  34. data/agent/dependencies/faraday-0.17.0/lib/faraday/response.rb +97 -0
  35. data/agent/dependencies/faraday-0.17.0/lib/faraday/response/logger.rb +80 -0
  36. data/agent/dependencies/faraday-0.17.0/lib/faraday/response/raise_error.rb +21 -0
  37. data/agent/dependencies/faraday-0.17.0/lib/faraday/upload_io.rb +67 -0
  38. data/agent/dependencies/faraday-0.17.0/lib/faraday/utils.rb +326 -0
  39. data/agent/dependencies/jwt-2.2.1/AUTHORS +84 -0
  40. data/agent/dependencies/jwt-2.2.1/Appraisals +14 -0
  41. data/agent/dependencies/jwt-2.2.1/CHANGELOG.md +570 -0
  42. data/agent/dependencies/jwt-2.2.1/Gemfile +3 -0
  43. data/agent/dependencies/jwt-2.2.1/LICENSE +7 -0
  44. data/agent/dependencies/jwt-2.2.1/README.md +489 -0
  45. data/agent/dependencies/jwt-2.2.1/Rakefile +11 -0
  46. data/agent/dependencies/jwt-2.2.1/lib/jwt.rb +30 -0
  47. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/ecdsa.rb +35 -0
  48. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/eddsa.rb +23 -0
  49. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/hmac.rb +33 -0
  50. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/ps.rb +43 -0
  51. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/rsa.rb +19 -0
  52. data/agent/dependencies/jwt-2.2.1/lib/jwt/algos/unsupported.rb +16 -0
  53. data/agent/dependencies/jwt-2.2.1/lib/jwt/base64.rb +19 -0
  54. data/agent/dependencies/jwt-2.2.1/lib/jwt/claims_validator.rb +33 -0
  55. data/agent/dependencies/jwt-2.2.1/lib/jwt/decode.rb +100 -0
  56. data/agent/dependencies/jwt-2.2.1/lib/jwt/default_options.rb +15 -0
  57. data/agent/dependencies/jwt-2.2.1/lib/jwt/encode.rb +68 -0
  58. data/agent/dependencies/jwt-2.2.1/lib/jwt/error.rb +20 -0
  59. data/agent/dependencies/jwt-2.2.1/lib/jwt/json.rb +18 -0
  60. data/agent/dependencies/jwt-2.2.1/lib/jwt/jwk.rb +31 -0
  61. data/agent/dependencies/jwt-2.2.1/lib/jwt/jwk/key_finder.rb +57 -0
  62. data/agent/dependencies/jwt-2.2.1/lib/jwt/jwk/rsa.rb +47 -0
  63. data/agent/dependencies/jwt-2.2.1/lib/jwt/security_utils.rb +57 -0
  64. data/agent/dependencies/jwt-2.2.1/lib/jwt/signature.rb +52 -0
  65. data/agent/dependencies/jwt-2.2.1/lib/jwt/verify.rb +98 -0
  66. data/agent/dependencies/jwt-2.2.1/lib/jwt/version.rb +24 -0
  67. data/agent/dependencies/jwt-2.2.1/ruby-jwt.gemspec +34 -0
  68. data/agent/dependencies/multipart-post-2.1.1/Gemfile +6 -0
  69. data/agent/dependencies/multipart-post-2.1.1/History.txt +64 -0
  70. data/agent/dependencies/multipart-post-2.1.1/LICENSE +21 -0
  71. data/agent/dependencies/multipart-post-2.1.1/Manifest.txt +9 -0
  72. data/agent/dependencies/multipart-post-2.1.1/README.md +127 -0
  73. data/agent/dependencies/multipart-post-2.1.1/Rakefile +6 -0
  74. data/agent/dependencies/multipart-post-2.1.1/lib/composite_io.rb +108 -0
  75. data/agent/dependencies/multipart-post-2.1.1/lib/multipart_post.rb +9 -0
  76. data/agent/dependencies/multipart-post-2.1.1/lib/multipartable.rb +48 -0
  77. data/agent/dependencies/multipart-post-2.1.1/lib/net/http/post/multipart.rb +28 -0
  78. data/agent/dependencies/multipart-post-2.1.1/lib/parts.rb +126 -0
  79. data/agent/dependencies/multipart-post-2.1.1/multipart-post.gemspec +23 -0
  80. data/agent/http_client.rb +46 -0
  81. data/agent/listener.rb +1 -1
  82. data/agent/sealights-rspec-agent.rb +2 -2
  83. data/agent/tia.rb +5 -1
  84. metadata +80 -3
  85. data/agent/rest-client-wrapper.rb +0 -27
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "multipart_post"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "multipart-post"
7
+ spec.version = SLMultipartPost::VERSION
8
+ spec.authors = ["Nick Sieger", "Samuel Williams"]
9
+ spec.email = ["nick@nicksieger.com", "samuel.williams@oriontransfer.co.nz"]
10
+ spec.homepage = "https://github.com/nicksieger/multipart-post"
11
+ spec.summary = %q{A multipart form post accessory for Net::HTTP.}
12
+ spec.license = "MIT"
13
+ spec.description = %q{Use with Net::HTTP to do multipart form postspec. IO values that have #content_type, #original_filename, and #local_path will be posted as a binary file.}
14
+
15
+ spec.files = `git ls-files`.split("\n")
16
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency 'bundler', ['>= 1.3', '< 3']
21
+ spec.add_development_dependency 'rspec', '~> 3.4'
22
+ spec.add_development_dependency 'rake'
23
+ end
@@ -0,0 +1,46 @@
1
+ require_relative './utils'
2
+
3
+ require_relative 'dependencies/faraday-0.17.0/lib/faraday'
4
+
5
+ #
6
+ # This simple HttpClient facade automatically adds the necessary headers to HTTP requests. It is required to
7
+ # initialize the JWT token by calling :set_token for this client to work.
8
+ #
9
+ class HttpClient
10
+ def initialize()
11
+ @conn = SLFaraday.new
12
+ end
13
+
14
+ def set_token(token)
15
+ @conn.headers['Authorization'] = auth_header_value(token)
16
+ end
17
+
18
+ def get(url)
19
+ response = @conn.get URI::encode(url)
20
+ body = response.body
21
+
22
+ # Add the response HTTP status code to the returned payload.
23
+ body.define_singleton_method(:code) do
24
+ response.status
25
+ end
26
+
27
+ body
28
+ end
29
+
30
+ def post(url, msg_json)
31
+ info "Sending request: POST #{url} #{msg_json}"
32
+ @conn.post do |req|
33
+ req.url URI::encode(url)
34
+ req.headers['Content-Type'] = 'application/json'
35
+ req.headers['Accept'] = 'json'
36
+ req.body = msg_json
37
+ end
38
+ end
39
+
40
+ private
41
+
42
+ def auth_header_value(jwt)
43
+ "Bearer #{jwt}"
44
+ end
45
+
46
+ end
data/agent/listener.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # This script contains code for listening for test events and in turn sending notifications to the back-end.
3
3
  #
4
4
 
5
- require_relative './rest-client-wrapper'
5
+ require_relative './http_client'
6
6
  require_relative './utils'
7
7
 
8
8
  require 'json'
@@ -8,7 +8,7 @@
8
8
 
9
9
  require_relative './config'
10
10
  require_relative './listener'
11
- require_relative './rest-client-wrapper'
11
+ require_relative './http_client'
12
12
  require_relative './tia'
13
13
  require_relative './utils'
14
14
 
@@ -16,7 +16,7 @@ require 'rspec'
16
16
 
17
17
  RSpec.configure do |rspec_config|
18
18
  begin
19
- http_client = RestClientWrapper.new
19
+ http_client = HttpClient.new
20
20
 
21
21
  cfg = AgentConfiguration.new(http_client, EnvironmentVariablesReader.new)
22
22
 
data/agent/tia.rb CHANGED
@@ -54,7 +54,11 @@ class TiaApplier
54
54
  excluded_tests = get_excluded_tests
55
55
  @rspec_modifier.add_test_exclusion(excluded_tests)
56
56
 
57
- info "Applied TIA with excluded tests: #{excluded_tests}"
57
+ if excluded_tests.empty?
58
+ info "No excluded tests in TIA recommendations."
59
+ else
60
+ info "Applied TIA with excluded tests: #{excluded_tests}"
61
+ end
58
62
  rescue Exception => e
59
63
  error "An error occurred while applying TIA configuration. Test selection will be skipped.", e
60
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sealights-rspec-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - SeaLights
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2019-11-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -17,8 +17,85 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - agent/config.rb
20
+ - agent/dependencies/faraday-0.17.0/LICENSE.md
21
+ - agent/dependencies/faraday-0.17.0/README.md
22
+ - agent/dependencies/faraday-0.17.0/lib/faraday.rb
23
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter.rb
24
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_http.rb
25
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_synchrony.rb
26
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/em_synchrony/parallel_manager.rb
27
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/excon.rb
28
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/httpclient.rb
29
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/net_http.rb
30
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/net_http_persistent.rb
31
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/patron.rb
32
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/rack.rb
33
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/sl_em_http_ssl_patch.rb
34
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/test.rb
35
+ - agent/dependencies/faraday-0.17.0/lib/faraday/adapter/typhoeus.rb
36
+ - agent/dependencies/faraday-0.17.0/lib/faraday/autoload.rb
37
+ - agent/dependencies/faraday-0.17.0/lib/faraday/connection.rb
38
+ - agent/dependencies/faraday-0.17.0/lib/faraday/error.rb
39
+ - agent/dependencies/faraday-0.17.0/lib/faraday/middleware.rb
40
+ - agent/dependencies/faraday-0.17.0/lib/faraday/options.rb
41
+ - agent/dependencies/faraday-0.17.0/lib/faraday/parameters.rb
42
+ - agent/dependencies/faraday-0.17.0/lib/faraday/rack_builder.rb
43
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request.rb
44
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/authorization.rb
45
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/basic_authentication.rb
46
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/instrumentation.rb
47
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/multipart.rb
48
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/retry.rb
49
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/token_authentication.rb
50
+ - agent/dependencies/faraday-0.17.0/lib/faraday/request/url_encoded.rb
51
+ - agent/dependencies/faraday-0.17.0/lib/faraday/response.rb
52
+ - agent/dependencies/faraday-0.17.0/lib/faraday/response/logger.rb
53
+ - agent/dependencies/faraday-0.17.0/lib/faraday/response/raise_error.rb
54
+ - agent/dependencies/faraday-0.17.0/lib/faraday/upload_io.rb
55
+ - agent/dependencies/faraday-0.17.0/lib/faraday/utils.rb
56
+ - agent/dependencies/jwt-2.2.1/AUTHORS
57
+ - agent/dependencies/jwt-2.2.1/Appraisals
58
+ - agent/dependencies/jwt-2.2.1/CHANGELOG.md
59
+ - agent/dependencies/jwt-2.2.1/Gemfile
60
+ - agent/dependencies/jwt-2.2.1/LICENSE
61
+ - agent/dependencies/jwt-2.2.1/README.md
62
+ - agent/dependencies/jwt-2.2.1/Rakefile
63
+ - agent/dependencies/jwt-2.2.1/lib/jwt.rb
64
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/ecdsa.rb
65
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/eddsa.rb
66
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/hmac.rb
67
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/ps.rb
68
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/rsa.rb
69
+ - agent/dependencies/jwt-2.2.1/lib/jwt/algos/unsupported.rb
70
+ - agent/dependencies/jwt-2.2.1/lib/jwt/base64.rb
71
+ - agent/dependencies/jwt-2.2.1/lib/jwt/claims_validator.rb
72
+ - agent/dependencies/jwt-2.2.1/lib/jwt/decode.rb
73
+ - agent/dependencies/jwt-2.2.1/lib/jwt/default_options.rb
74
+ - agent/dependencies/jwt-2.2.1/lib/jwt/encode.rb
75
+ - agent/dependencies/jwt-2.2.1/lib/jwt/error.rb
76
+ - agent/dependencies/jwt-2.2.1/lib/jwt/json.rb
77
+ - agent/dependencies/jwt-2.2.1/lib/jwt/jwk.rb
78
+ - agent/dependencies/jwt-2.2.1/lib/jwt/jwk/key_finder.rb
79
+ - agent/dependencies/jwt-2.2.1/lib/jwt/jwk/rsa.rb
80
+ - agent/dependencies/jwt-2.2.1/lib/jwt/security_utils.rb
81
+ - agent/dependencies/jwt-2.2.1/lib/jwt/signature.rb
82
+ - agent/dependencies/jwt-2.2.1/lib/jwt/verify.rb
83
+ - agent/dependencies/jwt-2.2.1/lib/jwt/version.rb
84
+ - agent/dependencies/jwt-2.2.1/ruby-jwt.gemspec
85
+ - agent/dependencies/multipart-post-2.1.1/Gemfile
86
+ - agent/dependencies/multipart-post-2.1.1/History.txt
87
+ - agent/dependencies/multipart-post-2.1.1/LICENSE
88
+ - agent/dependencies/multipart-post-2.1.1/Manifest.txt
89
+ - agent/dependencies/multipart-post-2.1.1/README.md
90
+ - agent/dependencies/multipart-post-2.1.1/Rakefile
91
+ - agent/dependencies/multipart-post-2.1.1/lib/composite_io.rb
92
+ - agent/dependencies/multipart-post-2.1.1/lib/multipart_post.rb
93
+ - agent/dependencies/multipart-post-2.1.1/lib/multipartable.rb
94
+ - agent/dependencies/multipart-post-2.1.1/lib/net/http/post/multipart.rb
95
+ - agent/dependencies/multipart-post-2.1.1/lib/parts.rb
96
+ - agent/dependencies/multipart-post-2.1.1/multipart-post.gemspec
97
+ - agent/http_client.rb
20
98
  - agent/listener.rb
21
- - agent/rest-client-wrapper.rb
22
99
  - agent/sealights-rspec-agent.rb
23
100
  - agent/tia.rb
24
101
  - agent/utils.rb
@@ -1,27 +0,0 @@
1
- require_relative './utils'
2
-
3
- require 'rest-client'
4
-
5
- #
6
- # This simple RestClient wrapper automatically adds the necessary headers to HTTP requests. It is required to
7
- # initialize the :jwt field for RestClientWrapper to work.
8
- #
9
- class RestClientWrapper
10
- attr_writer :jwt
11
-
12
- def get(url)
13
- RestClient.get URI::encode(url), :Authorization => auth_header_value(@jwt)
14
- end
15
-
16
- def post(url, msg_json)
17
- info "Sending request: POST #{url} #{msg_json}"
18
- RestClient.post URI::encode(url), msg_json, :content_type => :json, :accept => :json, :Authorization => auth_header_value(@jwt)
19
- end
20
-
21
- private
22
-
23
- def auth_header_value(jwt)
24
- "Bearer #{jwt}"
25
- end
26
-
27
- end