conjur-api 5.3.8.pre.319 → 5.3.8.pre.321

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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +10 -0
  3. data/.dockerignore +1 -0
  4. data/.github/CODEOWNERS +10 -0
  5. data/.gitignore +32 -0
  6. data/.gitleaks.toml +219 -0
  7. data/.overcommit.yml +16 -0
  8. data/.project +18 -0
  9. data/.rubocop.yml +3 -0
  10. data/.rubocop_settings.yml +86 -0
  11. data/.rubocop_todo.yml +709 -0
  12. data/.yardopts +1 -0
  13. data/CHANGELOG.md +448 -0
  14. data/CONTRIBUTING.md +138 -0
  15. data/Dockerfile +16 -0
  16. data/Gemfile +7 -0
  17. data/Jenkinsfile +136 -0
  18. data/LICENSE +202 -0
  19. data/README.md +162 -0
  20. data/Rakefile +47 -0
  21. data/SECURITY.md +42 -0
  22. data/VERSION +1 -1
  23. data/bin/parse-changelog.sh +12 -0
  24. data/ci/configure_v4.sh +12 -0
  25. data/ci/configure_v5.sh +19 -0
  26. data/ci/oauth/keycloak/create_client +18 -0
  27. data/ci/oauth/keycloak/create_user +21 -0
  28. data/ci/oauth/keycloak/fetch_certificate +18 -0
  29. data/ci/oauth/keycloak/keycloak_functions.sh +71 -0
  30. data/ci/oauth/keycloak/standalone.xml +578 -0
  31. data/ci/oauth/keycloak/wait_for_server +56 -0
  32. data/ci/submit-coverage +36 -0
  33. data/conjur-api.gemspec +41 -0
  34. data/dev/Dockerfile.dev +12 -0
  35. data/dev/docker-compose.yml +56 -0
  36. data/dev/start +22 -0
  37. data/dev/stop +5 -0
  38. data/docker-compose.yml +98 -0
  39. data/example/demo_v4.rb +49 -0
  40. data/example/demo_v5.rb +57 -0
  41. data/features/authenticators.feature +41 -0
  42. data/features/authn.feature +14 -0
  43. data/features/authn_local.feature +32 -0
  44. data/features/exists.feature +37 -0
  45. data/features/group.feature +11 -0
  46. data/features/host.feature +50 -0
  47. data/features/host_factory_create_host.feature +28 -0
  48. data/features/host_factory_token.feature +63 -0
  49. data/features/load_policy.feature +61 -0
  50. data/features/members.feature +51 -0
  51. data/features/new_api.feature +36 -0
  52. data/features/permitted.feature +70 -0
  53. data/features/permitted_roles.feature +30 -0
  54. data/features/public_keys.feature +11 -0
  55. data/features/resource_fields.feature +53 -0
  56. data/features/role_fields.feature +15 -0
  57. data/features/rotate_api_key.feature +13 -0
  58. data/features/step_definitions/api_steps.rb +52 -0
  59. data/features/step_definitions/policy_steps.rb +134 -0
  60. data/features/step_definitions/result_steps.rb +11 -0
  61. data/features/support/env.rb +19 -0
  62. data/features/support/hooks.rb +3 -0
  63. data/features/support/world.rb +12 -0
  64. data/features/update_password.feature +14 -0
  65. data/features/user.feature +58 -0
  66. data/features/variable_fields.feature +20 -0
  67. data/features/variable_value.feature +60 -0
  68. data/features_v4/authn_local.feature +27 -0
  69. data/features_v4/exists.feature +29 -0
  70. data/features_v4/host.feature +18 -0
  71. data/features_v4/host_factory_token.feature +49 -0
  72. data/features_v4/members.feature +39 -0
  73. data/features_v4/permitted.feature +15 -0
  74. data/features_v4/permitted_roles.feature +8 -0
  75. data/features_v4/resource_fields.feature +47 -0
  76. data/features_v4/rotate_api_key.feature +13 -0
  77. data/features_v4/step_definitions/api_steps.rb +17 -0
  78. data/features_v4/step_definitions/result_steps.rb +3 -0
  79. data/features_v4/support/env.rb +23 -0
  80. data/features_v4/support/policy.yml +34 -0
  81. data/features_v4/support/world.rb +12 -0
  82. data/features_v4/variable_fields.feature +11 -0
  83. data/features_v4/variable_value.feature +54 -0
  84. data/lib/conjur/acts_as_resource.rb +123 -0
  85. data/lib/conjur/acts_as_role.rb +142 -0
  86. data/lib/conjur/acts_as_rolsource.rb +32 -0
  87. data/lib/conjur/acts_as_user.rb +68 -0
  88. data/lib/conjur/api/authenticators.rb +43 -0
  89. data/lib/conjur/api/authn.rb +144 -0
  90. data/lib/conjur/api/host_factories.rb +71 -0
  91. data/lib/conjur/api/ldap_sync.rb +38 -0
  92. data/lib/conjur/api/policies.rb +56 -0
  93. data/lib/conjur/api/pubkeys.rb +53 -0
  94. data/lib/conjur/api/resources.rb +109 -0
  95. data/lib/conjur/api/roles.rb +98 -0
  96. data/lib/conjur/api/router/v4.rb +206 -0
  97. data/lib/conjur/api/router/v5.rb +269 -0
  98. data/lib/conjur/api/variables.rb +59 -0
  99. data/lib/conjur/api.rb +105 -0
  100. data/lib/conjur/base.rb +355 -0
  101. data/lib/conjur/base_object.rb +57 -0
  102. data/lib/conjur/build_object.rb +47 -0
  103. data/lib/conjur/cache.rb +26 -0
  104. data/lib/conjur/cert_utils.rb +63 -0
  105. data/lib/conjur/cidr.rb +71 -0
  106. data/lib/conjur/configuration.rb +460 -0
  107. data/lib/conjur/escape.rb +129 -0
  108. data/lib/conjur/exceptions.rb +4 -0
  109. data/lib/conjur/group.rb +41 -0
  110. data/lib/conjur/has_attributes.rb +98 -0
  111. data/lib/conjur/host.rb +27 -0
  112. data/lib/conjur/host_factory.rb +75 -0
  113. data/lib/conjur/host_factory_token.rb +78 -0
  114. data/lib/conjur/id.rb +71 -0
  115. data/lib/conjur/layer.rb +9 -0
  116. data/lib/conjur/log.rb +72 -0
  117. data/lib/conjur/log_source.rb +60 -0
  118. data/lib/conjur/policy.rb +34 -0
  119. data/lib/conjur/policy_load_result.rb +61 -0
  120. data/lib/conjur/query_string.rb +12 -0
  121. data/lib/conjur/resource.rb +29 -0
  122. data/lib/conjur/role.rb +29 -0
  123. data/lib/conjur/role_grant.rb +85 -0
  124. data/lib/conjur/routing.rb +29 -0
  125. data/lib/conjur/user.rb +40 -0
  126. data/lib/conjur/variable.rb +208 -0
  127. data/lib/conjur/webservice.rb +30 -0
  128. data/lib/conjur-api/version.rb +24 -0
  129. data/lib/conjur-api.rb +2 -0
  130. data/publish.sh +5 -0
  131. data/spec/api/host_factories_spec.rb +34 -0
  132. data/spec/api_spec.rb +254 -0
  133. data/spec/base_object_spec.rb +13 -0
  134. data/spec/cert_utils_spec.rb +173 -0
  135. data/spec/cidr_spec.rb +34 -0
  136. data/spec/configuration_spec.rb +330 -0
  137. data/spec/has_attributes_spec.rb +63 -0
  138. data/spec/helpers/errors_matcher.rb +34 -0
  139. data/spec/helpers/request_helpers.rb +10 -0
  140. data/spec/id_spec.rb +29 -0
  141. data/spec/ldap_sync_spec.rb +21 -0
  142. data/spec/log_source_spec.rb +13 -0
  143. data/spec/log_spec.rb +42 -0
  144. data/spec/roles_spec.rb +24 -0
  145. data/spec/spec_helper.rb +113 -0
  146. data/spec/ssl_spec.rb +109 -0
  147. data/spec/uri_escape_spec.rb +21 -0
  148. data/test.sh +76 -0
  149. data/tmp/.keep +0 -0
  150. metadata +194 -3
data/spec/ssl_spec.rb ADDED
@@ -0,0 +1,109 @@
1
+ require 'active_support'
2
+ require 'spec_helper'
3
+
4
+ require 'helpers/errors_matcher'
5
+
6
+ require 'webrick'
7
+ require 'webrick/https'
8
+
9
+ describe 'SSL connection' do
10
+ context 'with an untrusted certificate' do
11
+ it 'fails' do
12
+ expect { Conjur::API.login 'foo', 'bar', account: "the-account" }.to \
13
+ raise_one_of(RestClient::SSLCertificateNotVerified, OpenSSL::SSL::SSLError)
14
+ end
15
+ end
16
+
17
+ context 'with certificate added to the default OpenSSL cert store' do
18
+ before do
19
+ cert_store.add_cert(cert)
20
+ end
21
+
22
+ it 'works' do
23
+ expect { Conjur::API.login 'foo', 'bar', account: "the-account" }.to raise_error RestClient::ResourceNotFound
24
+ end
25
+ end
26
+
27
+ let(:server) do
28
+ server = WEBrick::HTTPServer.new \
29
+ Port: 0, SSLEnable: true,
30
+ AccessLog: [], Logger: Logger.new('/dev/null'), # shut up, WEBrick
31
+ SSLCertificate: cert, SSLPrivateKey: key
32
+ end
33
+ let(:port) { server.config[:Port] }
34
+ let(:cert_store) { OpenSSL::X509::Store.new }
35
+
36
+ before do
37
+ # Reset configuration to allow each test to use its own stub
38
+ # of OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE.
39
+ Conjur.configuration = nil
40
+ stub_const 'OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE', cert_store
41
+
42
+ allow(Conjur.configuration).to receive(:authn_url).and_return "https://localhost:#{port}"
43
+ end
44
+
45
+ around do |example|
46
+ server_thread = Thread.new do
47
+ server.start
48
+ end
49
+ example.run
50
+ server.shutdown
51
+ server_thread.join
52
+ end
53
+
54
+ let(:cert) do
55
+ OpenSSL::X509::Certificate.new """
56
+ -----BEGIN CERTIFICATE-----
57
+ MIIDCzCCAfOgAwIBAgIUaApjB95cJZlMTwDg4EBk4Mf1y4swDQYJKoZIhvcNAQEL
58
+ BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTIxMDQyODIxNTA1OFoYDzQ3NTkw
59
+ MzI1MjE1MDU4WjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEB
60
+ AQUAA4IBDwAwggEKAoIBAQC+MIx1LCzBeAl7kHfI21wYmA6W8luyq14+DecaQPMd
61
+ bW7fMlHSMJC/nlFDQyqmfYfKlVCiJRV/QTdUtA9hCytPlEKjlVmm4WIYLKfjj8Sp
62
+ A+X9VURk75Fz+Z7UsF8u2J3pF9wFfhBzznwePlFdcWYyQMIRtghoHk/WSsbJVXVQ
63
+ so7+0BLFyMYB3otfCyK+H/iyoXWLZll2irYZJedVm/lyTlnc9dT1XDAWWI8kSeUV
64
+ lCkEulqOf8qZyU7wNUafRkzBuYkR7ddp1Qdkq+QYw7blmfZXyJbAYSt4gEMyDMk8
65
+ ArScP8j+Efz5D54wS7fZFwmQp41+iP5WTxGsSU3dh44fAgMBAAGjUzBRMB0GA1Ud
66
+ DgQWBBS4ZJDxXOs8rK3+SyfLopDFqK0IWDAfBgNVHSMEGDAWgBS4ZJDxXOs8rK3+
67
+ SyfLopDFqK0IWDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAE
68
+ WuzjqQ/gyho/pluX31hq7EMAFgqqz7ECN6DqmvpqabMD6s1kQ662KTo7gCBEcNtA
69
+ nC7QycFp4v/Cr8+aUEa1W3+q2MqbmshORonUrLE/vxejK+NUvhSCWnmrM8v60zhR
70
+ pn9lSSgQCBKWDgaU0VQVn0I9MuexeAj64Qv2uUHnZK3QUx+Gk3uurTmhKEN5FI+D
71
+ sC7xO0qquTZ1Vv1EkLEso4dnFVW84EjdfmfeiW6JmHO7z1p1ebGsRwoQead/qTKw
72
+ ze+Y1A1w3GzuhDo55aHlWE/Wvnou0aM3O9gUd++a2j+XJ2P7qaTB/L7SJk4qZ9RA
73
+ t2PbKVP+tyZjXKtXmgzp
74
+ -----END CERTIFICATE-----
75
+ """.lines.map(&:strip).join("\n")
76
+ end
77
+
78
+ let(:key) do
79
+ OpenSSL::PKey.read """
80
+ -----BEGIN RSA PRIVATE KEY-----
81
+ MIIEowIBAAKCAQEAvjCMdSwswXgJe5B3yNtcGJgOlvJbsqtePg3nGkDzHW1u3zJR
82
+ 0jCQv55RQ0Mqpn2HypVQoiUVf0E3VLQPYQsrT5RCo5VZpuFiGCyn44/EqQPl/VVE
83
+ ZO+Rc/me1LBfLtid6RfcBX4Qc858Hj5RXXFmMkDCEbYIaB5P1krGyVV1ULKO/tAS
84
+ xcjGAd6LXwsivh/4sqF1i2ZZdoq2GSXnVZv5ck5Z3PXU9VwwFliPJEnlFZQpBLpa
85
+ jn/KmclO8DVGn0ZMwbmJEe3XadUHZKvkGMO25Zn2V8iWwGEreIBDMgzJPAK0nD/I
86
+ /hH8+Q+eMEu32RcJkKeNfoj+Vk8RrElN3YeOHwIDAQABAoIBAQCnW0ctkDqt3/fQ
87
+ MHcHWue2iI9GCmvgU+WxC0DSHFcSDQrkAn53S98DjseJPaBZMtr7y9pRY/p/qR6M
88
+ PYnO5iotc5QUKEbkjy1nglwV5Zuy8kg+XPq7Kwg+GmjGVZDcQybpRuKIPr8xeIBF
89
+ iKbGaBP6ontjZGAPZqTwN4qm/bkm0QRQkMEVQLpBaOlXjl0BCknhCMgyNA1F0jGc
90
+ HLqJpFO46qvWDkDaKriMY/ezrkGYxlvV8xGJ2lzoaNWBsQeMXtcDJXuFMJO3lZl4
91
+ VUjeNbyPprUzL6/kLZGMVFdRWhzKAluJEy3B6zybY4xxmgmifqn8/OxIaT172IXN
92
+ KACuEorpAoGBAOYZEfuON+73dcstpjq3062+XUOxAAc77aFcGFQ2pqDTUtvoR05R
93
+ o0uXrSuQqt0/FJVdZqdDx1and6idI7j/LfkOwvmPPg2dJIwKV73T2HdR7BpJaYlI
94
+ KS6Bgl0AiW2ibjZJbBFJMiINb2tRGeYcOPfWlis309D2DXxl1f1TJTKTAoGBANOZ
95
+ aDH1VJXh7rdAHrwNonTjoCeYKG7oAh0WTfqmCqcBjAkXsVc7dBd/98XKGS5LPRtl
96
+ dIaJdYngeYyH5Ey5O2l/63tk0d4sqE8l+GVy+OHFn2AZMuaVXS0JXIQspn4s/U7F
97
+ CuawmFszE8fv41WgVNhF00ijheoRz/X19yu0ULHFAoGAYmJZ1AutUtowXZ25M+Yh
98
+ 9motCqKF9pHjO1lbdbagbKevCCQ7SPuTLOE/xB7pUAyGyo7TM7XBaAXXHhuCiLlj
99
+ eNic+YQL7lpApDhP5/TK28oFf//fxjk6ko4Bpa5zFJOdOE0QjhuT+gdwmpxkzIVI
100
+ vn/cWcJXKUPr5ELOyrBgeU0CgYBWqIUbsLWrjJQPSJtNuOfHp1F35cDpausyrmfR
101
+ Nx81tlR7hNCEQT0SQr5eqp4Vb4rfJXXLg5A3n08oVp8RLOtAEbuHFYs9ylxDzfEk
102
+ 2ylCjYTv/mHyPUmjoCnbl8237wTutZP5VmmPMCPxxjT8ZGVbDX2ySgYWDqV0vf80
103
+ TuydYQKBgG24Wpes1CJmKiuWGnPi5I/+iIKZRfpEGidpjnsktkr3O+VZSZNQtDfC
104
+ uWp/NgMxzxXxYdmmaQTwektB5axrsPUnxxiHmb8KkVU1IcMpYvUulFYiKVvFx+JJ
105
+ bx/fkItCZ4AP3CG2Onz8xZdosg+c+MEdIlCrg94dA1EmHewCt2Hv
106
+ -----END RSA PRIVATE KEY-----
107
+ """.lines.map(&:strip).join("\n")
108
+ end
109
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+ require 'conjur/id'
3
+ require 'conjur/api/router/v5'
4
+
5
+ describe 'url escaping' do
6
+ it 'Id to path is escaped' do
7
+ id = Conjur::Id.new('cucumber:variable:one two/three')
8
+ expect(id.to_url_path).to eq('cucumber/variable/one%20two%2Fthree')
9
+ end
10
+
11
+ it 'Resources path is escaped' do
12
+ request = Conjur::API::Router::V5.resources(nil, 'cucumber/two', 'extended variable', {})
13
+ expect(request.url).to eq('http://localhost:5000/resources/cucumber%2Ftwo/extended%20variable/')
14
+ end
15
+
16
+ it 'Resource path is escaped' do
17
+ resource = Conjur::Id.new('cucumber:variable:one two/three')
18
+ request = Conjur::API::Router::V5.resources_resource(nil, resource)
19
+ expect(request.url).to eq('http://localhost:5000/resources/cucumber/variable/one%20two%2Fthree')
20
+ end
21
+ end
data/test.sh ADDED
@@ -0,0 +1,76 @@
1
+ #!/bin/bash -e
2
+
3
+ : "${RUBY_VERSION=3.0}"
4
+ # My local RUBY_VERSION is set to ruby-#.#.# so this allows running locally.
5
+ RUBY_VERSION="$(cut -d '-' -f 2 <<< "$RUBY_VERSION")"
6
+
7
+ source ./ci/oauth/keycloak/keycloak_functions.sh
8
+
9
+ function finish {
10
+ echo 'Removing test environment'
11
+ echo '---'
12
+ docker-compose down --rmi 'local' --volumes
13
+ }
14
+
15
+ trap finish EXIT
16
+
17
+ # Set up VERSION file for local development
18
+ if [ ! -f "../VERSION" ]; then
19
+ echo -n "0.0.dev" > ../VERSION
20
+ fi
21
+
22
+ function main() {
23
+ if ! docker info >/dev/null 2>&1; then
24
+ echo "Docker does not seem to be running, run it first and retry"
25
+ exit 1
26
+ fi
27
+ # Generate reports folders locally
28
+ mkdir -p spec/reports features/reports features_v4/reports
29
+
30
+ startConjur
31
+ runTests_5
32
+ runTests_4
33
+ }
34
+
35
+ function startConjur() {
36
+ echo 'Starting Conjur environment'
37
+ echo '-----'
38
+
39
+ # We want to pull to make sure we're testing against the newest release;
40
+ # failing to ensure that has caused many mysterious failures in CI.
41
+ # However, unconditionally pulling prevents working offline even
42
+ # with a warm cache. So try to pull, but ignore failures.
43
+ docker-compose pull --ignore-pull-failures
44
+ docker-compose build --build-arg RUBY_VERSION="$RUBY_VERSION"
45
+ docker-compose up -d pg conjur_4 conjur_5
46
+ }
47
+
48
+ function runTests_5() {
49
+ echo 'Waiting for Conjur v5 to come up, and configuring it...'
50
+ ./ci/configure_v5.sh
51
+
52
+ local api_key=$(docker-compose exec -T conjur_5 rake 'role:retrieve-key[cucumber:user:admin]')
53
+
54
+ echo 'Running tests'
55
+ echo '-----'
56
+ docker-compose run --rm \
57
+ -e CONJUR_AUTHN_API_KEY="$api_key" \
58
+ -e SSL_CERT_FILE=/etc/ssl/certs/keycloak.pem \
59
+ tester_5 \
60
+ "/scripts/fetch_certificate && rake jenkins_init jenkins_spec jenkins_cucumber_v5"
61
+ }
62
+
63
+ function runTests_4() {
64
+ echo 'Waiting for Conjur v4 to come up, and configuring it...'
65
+ ./ci/configure_v4.sh
66
+
67
+ local api_key=$(docker-compose exec -T conjur_4 su conjur -c "conjur-plugin-service authn env RAILS_ENV=appliance rails r \"puts User['admin'].api_key\" 2>/dev/null")
68
+
69
+ echo 'Running tests'
70
+ echo '-----'
71
+ docker-compose run --rm \
72
+ -e CONJUR_AUTHN_API_KEY="$api_key" \
73
+ tester_4 rake jenkins_cucumber_v4
74
+ }
75
+
76
+ main
data/tmp/.keep ADDED
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conjur-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.3.8.pre.319
4
+ version: 5.3.8.pre.321
5
5
  platform: ruby
6
6
  authors:
7
7
  - CyberArk Maintainers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-19 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -247,7 +247,154 @@ executables: []
247
247
  extensions: []
248
248
  extra_rdoc_files: []
249
249
  files:
250
+ - ".codeclimate.yml"
251
+ - ".dockerignore"
252
+ - ".github/CODEOWNERS"
253
+ - ".gitignore"
254
+ - ".gitleaks.toml"
255
+ - ".overcommit.yml"
256
+ - ".project"
257
+ - ".rubocop.yml"
258
+ - ".rubocop_settings.yml"
259
+ - ".rubocop_todo.yml"
260
+ - ".yardopts"
261
+ - CHANGELOG.md
262
+ - CONTRIBUTING.md
263
+ - Dockerfile
264
+ - Gemfile
265
+ - Jenkinsfile
266
+ - LICENSE
267
+ - README.md
268
+ - Rakefile
269
+ - SECURITY.md
250
270
  - VERSION
271
+ - bin/parse-changelog.sh
272
+ - ci/configure_v4.sh
273
+ - ci/configure_v5.sh
274
+ - ci/oauth/keycloak/create_client
275
+ - ci/oauth/keycloak/create_user
276
+ - ci/oauth/keycloak/fetch_certificate
277
+ - ci/oauth/keycloak/keycloak_functions.sh
278
+ - ci/oauth/keycloak/standalone.xml
279
+ - ci/oauth/keycloak/wait_for_server
280
+ - ci/submit-coverage
281
+ - conjur-api.gemspec
282
+ - dev/Dockerfile.dev
283
+ - dev/docker-compose.yml
284
+ - dev/start
285
+ - dev/stop
286
+ - docker-compose.yml
287
+ - example/demo_v4.rb
288
+ - example/demo_v5.rb
289
+ - features/authenticators.feature
290
+ - features/authn.feature
291
+ - features/authn_local.feature
292
+ - features/exists.feature
293
+ - features/group.feature
294
+ - features/host.feature
295
+ - features/host_factory_create_host.feature
296
+ - features/host_factory_token.feature
297
+ - features/load_policy.feature
298
+ - features/members.feature
299
+ - features/new_api.feature
300
+ - features/permitted.feature
301
+ - features/permitted_roles.feature
302
+ - features/public_keys.feature
303
+ - features/resource_fields.feature
304
+ - features/role_fields.feature
305
+ - features/rotate_api_key.feature
306
+ - features/step_definitions/api_steps.rb
307
+ - features/step_definitions/policy_steps.rb
308
+ - features/step_definitions/result_steps.rb
309
+ - features/support/env.rb
310
+ - features/support/hooks.rb
311
+ - features/support/world.rb
312
+ - features/update_password.feature
313
+ - features/user.feature
314
+ - features/variable_fields.feature
315
+ - features/variable_value.feature
316
+ - features_v4/authn_local.feature
317
+ - features_v4/exists.feature
318
+ - features_v4/host.feature
319
+ - features_v4/host_factory_token.feature
320
+ - features_v4/members.feature
321
+ - features_v4/permitted.feature
322
+ - features_v4/permitted_roles.feature
323
+ - features_v4/resource_fields.feature
324
+ - features_v4/rotate_api_key.feature
325
+ - features_v4/step_definitions/api_steps.rb
326
+ - features_v4/step_definitions/result_steps.rb
327
+ - features_v4/support/env.rb
328
+ - features_v4/support/policy.yml
329
+ - features_v4/support/world.rb
330
+ - features_v4/variable_fields.feature
331
+ - features_v4/variable_value.feature
332
+ - lib/conjur-api.rb
333
+ - lib/conjur-api/version.rb
334
+ - lib/conjur/acts_as_resource.rb
335
+ - lib/conjur/acts_as_role.rb
336
+ - lib/conjur/acts_as_rolsource.rb
337
+ - lib/conjur/acts_as_user.rb
338
+ - lib/conjur/api.rb
339
+ - lib/conjur/api/authenticators.rb
340
+ - lib/conjur/api/authn.rb
341
+ - lib/conjur/api/host_factories.rb
342
+ - lib/conjur/api/ldap_sync.rb
343
+ - lib/conjur/api/policies.rb
344
+ - lib/conjur/api/pubkeys.rb
345
+ - lib/conjur/api/resources.rb
346
+ - lib/conjur/api/roles.rb
347
+ - lib/conjur/api/router/v4.rb
348
+ - lib/conjur/api/router/v5.rb
349
+ - lib/conjur/api/variables.rb
350
+ - lib/conjur/base.rb
351
+ - lib/conjur/base_object.rb
352
+ - lib/conjur/build_object.rb
353
+ - lib/conjur/cache.rb
354
+ - lib/conjur/cert_utils.rb
355
+ - lib/conjur/cidr.rb
356
+ - lib/conjur/configuration.rb
357
+ - lib/conjur/escape.rb
358
+ - lib/conjur/exceptions.rb
359
+ - lib/conjur/group.rb
360
+ - lib/conjur/has_attributes.rb
361
+ - lib/conjur/host.rb
362
+ - lib/conjur/host_factory.rb
363
+ - lib/conjur/host_factory_token.rb
364
+ - lib/conjur/id.rb
365
+ - lib/conjur/layer.rb
366
+ - lib/conjur/log.rb
367
+ - lib/conjur/log_source.rb
368
+ - lib/conjur/policy.rb
369
+ - lib/conjur/policy_load_result.rb
370
+ - lib/conjur/query_string.rb
371
+ - lib/conjur/resource.rb
372
+ - lib/conjur/role.rb
373
+ - lib/conjur/role_grant.rb
374
+ - lib/conjur/routing.rb
375
+ - lib/conjur/user.rb
376
+ - lib/conjur/variable.rb
377
+ - lib/conjur/webservice.rb
378
+ - publish.sh
379
+ - spec/api/host_factories_spec.rb
380
+ - spec/api_spec.rb
381
+ - spec/base_object_spec.rb
382
+ - spec/cert_utils_spec.rb
383
+ - spec/cidr_spec.rb
384
+ - spec/configuration_spec.rb
385
+ - spec/has_attributes_spec.rb
386
+ - spec/helpers/errors_matcher.rb
387
+ - spec/helpers/request_helpers.rb
388
+ - spec/id_spec.rb
389
+ - spec/ldap_sync_spec.rb
390
+ - spec/log_source_spec.rb
391
+ - spec/log_spec.rb
392
+ - spec/roles_spec.rb
393
+ - spec/spec_helper.rb
394
+ - spec/ssl_spec.rb
395
+ - spec/uri_escape_spec.rb
396
+ - test.sh
397
+ - tmp/.keep
251
398
  homepage: https://github.com/cyberark/conjur-api-ruby/
252
399
  licenses:
253
400
  - Apache-2.0
@@ -271,4 +418,48 @@ rubygems_version: 3.2.33
271
418
  signing_key:
272
419
  specification_version: 4
273
420
  summary: Conjur API
274
- test_files: []
421
+ test_files:
422
+ - features/authenticators.feature
423
+ - features/authn.feature
424
+ - features/authn_local.feature
425
+ - features/exists.feature
426
+ - features/group.feature
427
+ - features/host.feature
428
+ - features/host_factory_create_host.feature
429
+ - features/host_factory_token.feature
430
+ - features/load_policy.feature
431
+ - features/members.feature
432
+ - features/new_api.feature
433
+ - features/permitted.feature
434
+ - features/permitted_roles.feature
435
+ - features/public_keys.feature
436
+ - features/resource_fields.feature
437
+ - features/role_fields.feature
438
+ - features/rotate_api_key.feature
439
+ - features/step_definitions/api_steps.rb
440
+ - features/step_definitions/policy_steps.rb
441
+ - features/step_definitions/result_steps.rb
442
+ - features/support/env.rb
443
+ - features/support/hooks.rb
444
+ - features/support/world.rb
445
+ - features/update_password.feature
446
+ - features/user.feature
447
+ - features/variable_fields.feature
448
+ - features/variable_value.feature
449
+ - spec/api/host_factories_spec.rb
450
+ - spec/api_spec.rb
451
+ - spec/base_object_spec.rb
452
+ - spec/cert_utils_spec.rb
453
+ - spec/cidr_spec.rb
454
+ - spec/configuration_spec.rb
455
+ - spec/has_attributes_spec.rb
456
+ - spec/helpers/errors_matcher.rb
457
+ - spec/helpers/request_helpers.rb
458
+ - spec/id_spec.rb
459
+ - spec/ldap_sync_spec.rb
460
+ - spec/log_source_spec.rb
461
+ - spec/log_spec.rb
462
+ - spec/roles_spec.rb
463
+ - spec/spec_helper.rb
464
+ - spec/ssl_spec.rb
465
+ - spec/uri_escape_spec.rb