Class: Taf::TestSteps::Handlers::GenerateToken

Inherits:
Base
  • Object
show all
Defined in:
lib/taf/test_steps/handlers/base/generate_token.rb

Overview

Generate an RSA token for use with 2FA login.

Instance Method Summary collapse

Methods inherited from Base

#initialize, #login_check, #login_process, perform, register, #url_check

Constructor Details

This class inherits a constructor from Taf::TestSteps::Handlers::Base

Instance Method Details

#performObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/taf/test_steps/handlers/base/generate_token.rb', line 10

def perform
  raise 'TOKEN_SEED env var not set' unless ENV['TOKEN_SEED']

  # Generate token using the seed from the environment.
  _, stdout, stderr, wait_thr = Open3.popen3(
    'stoken', '--file', ENV['TOKEN_SEED']
  )

  raise stderr.gets unless wait_thr.value.success?

  Taf::Browser.b.find_element("#{@locate}": @value)
              .send_keys stdout.gets

  stdout.close
  stderr.close

  true
rescue StandardError => e
  Taf::MyLog.log.warn("Error generating token: #{e}")

  false
end