acceptance-features/support/hooks.rb in conjur-cli-5.2.5 vs acceptance-features/support/hooks.rb in conjur-cli-5.3.0
- old
+ new
@@ -19,35 +19,38 @@
end
Before do
step %Q(I set the environment variable "CONJUR_AUTHN_LOGIN" to "#{username}")
step %Q(I set the environment variable "CONJUR_AUTHN_API_KEY" to "#{password}")
-
- @admin_api = conjur_api = Conjur::Authn.connect
-
- @namespace = conjur_api.create_variable("text/plain", "id").id
- user = conjur_api.create_user "admin@#{@namespace}", ownerid: "#{Conjur.configuration.account}:user:#{username}"
- conjur_api = Conjur::Authn.connect
- @security_admin = conjur_api.create_group [ @namespace, "security_admin" ].join('/')
- @security_admin.add_member user, admin_option: true
+ @admin_api = Conjur::Authn.connect
+ @test_user = admin_api.create_user "admin@#{namespace}", ownerid: "#{Conjur.configuration.account}:user:#{username}"
+
+ @security_admin = admin_api.create_group [ namespace, "security_admin" ].join('/')
+ @security_admin.add_member test_user, admin_option: true
- JsonSpec.memorize "MY_ROLEID", %Q("#{user.roleid}")
- JsonSpec.memorize "NAMESPACE", @namespace
+ JsonSpec.memorize "MY_ROLEID", %Q("#{test_user.roleid}")
+ JsonSpec.memorize "NAMESPACE", namespace
- @admin_api.group("pubkeys-1.0/key-managers").add_member @security_admin
- @admin_api.resource('!:!:conjur').permit 'elevate', user, grant_option: true
- @admin_api.resource('!:!:conjur').permit 'reveal', user, grant_option: true
+ admin_api.group("pubkeys-1.0/key-managers").add_member @security_admin
+ admin_api.resource('!:!:conjur').permit 'elevate', test_user, grant_option: true
+ admin_api.resource('!:!:conjur').permit 'reveal', test_user, grant_option: true
- conjur_api.create_user "attic@#{@namespace}"
+ admin_api.create_user "attic@#{namespace}"
- step %Q(I set the environment variable "CONJUR_AUTHN_LOGIN" to "#{user.login}")
- step %Q(I set the environment variable "CONJUR_AUTHN_API_KEY" to "#{user.api_key}")
+ # Set up the environment so the CLI will authenticate
+ # correctly. Note that the API caches credentials, so these
+ # variables won't have any effect on future calls to
+ # Conjur::Authn.connect
+ step %Q(I set the environment variable "CONJUR_AUTHN_LOGIN" to "#{test_user.login}")
+ step %Q(I set the environment variable "CONJUR_AUTHN_API_KEY" to "#{test_user.api_key}")
end
After do
- if @admin_api
- @admin_api.group("pubkeys-1.0/key-managers").remove_member @security_admin
+ if admin_api
+ admin_api.group("pubkeys-1.0/key-managers").remove_member @security_admin
+ admin_api = nil
+ namespace = nil
end
tempfiles.each { |tempfile| File.unlink(tempfile) unless tempfile.nil? }
end
require 'ostruct'