github.com/Venafi/vcert/v5@v5.10.2/aruba/features/support/aruba.rb (about) 1 require 'aruba/cucumber' 2 require "json_spec/cucumber" 3 4 Aruba.configure do |config| 5 config.allow_absolute_paths = true 6 end 7 8 PREFIX_CN = "vcert" 9 10 PLATFORM_TPP = "TPP" 11 PLATFORM_VAAS = "VaaS" # places already use it as is 12 PLATFORM_VCP = "VCP" 13 PLATFORM_FIREFLY = "Firefly" 14 15 PATH_SEPARATOR = "/" 16 TEMP_PATH = "tmp/aruba" 17 18 KEYSTORE_TYPE_AWS = "AWS" 19 KEYSTORE_TYPE_AZURE = "AZURE" 20 KEYSTORE_TYPE_GCP = "GOOGLE" 21 22 GCP_KEYSTORE_ID = ENV["GCP_KEYSTORE_ID"] 23 GCP_KEYSTORE_NAME = ENV["GCP_KEYSTORE_NAME"] 24 GCP_PROVIDER_NAME = ENV["GCP_PROVIDER_NAME"] 25 26 AWS_KEYSTORE_ID = ENV["AWS_KEYSTORE_ID"] 27 AWS_KEYSTORE_NAME = ENV["AWS_KEYSTORE_NAME"] 28 AWS_PROVIDER_NAME = ENV["AWS_PROVIDER_NAME"] 29 30 AZURE_KEYSTORE_ID = ENV["AZURE_KEYSTORE_ID"] 31 AZURE_KEYSTORE_NAME = ENV["AZURE_KEYSTORE_NAME"] 32 AZURE_PROVIDER_NAME = ENV["AZURE_PROVIDER_NAME"] 33 34 DUMMY_PASSWORD = "CyberArkT3stP4ZZC0de%jQX^J=4H" 35 36 def last_json 37 last_command_started.stdout.to_s 38 end 39 40 def random_cn 41 Time.now.to_i.to_s + "-" + (0..4).to_a.map{|a| rand(36).to_s(36)}.join + ".venafi.example.com" 42 end 43 44 def random_string 45 Time.now.to_i.to_s + "-" + (0..4).to_a.map{|a| rand(36).to_s(36)}.join 46 end 47 48 def random_filename 49 Time.now.to_i.to_s + "-" + (0..6).to_a.map{|a| rand(36).to_s(36)}.join + ".txt" 50 end 51 52 class Stack 53 def initialize 54 @data = [] 55 end 56 57 def push(item) 58 @data.push(item) 59 end 60 61 def pop 62 @data.pop 63 end 64 65 def peek 66 @data.last 67 end 68 69 def empty? 70 @data.empty? 71 end 72 73 def size 74 @data.size 75 end 76 end 77 78 def extract_json_from_output(input_string) 79 stack = Stack.new 80 81 start_index = 0 82 end_index = 0 83 popped_item = 0 84 input_string.each_char.with_index do |char, index| 85 if char == "{" 86 stack.push(index) 87 end 88 if char == "}" 89 popped_item = stack.pop 90 end 91 if stack.empty? 92 start_index = popped_item 93 end_index = index 94 break 95 end 96 end 97 98 if start_index && end_index && start_index < end_index 99 extracted_substring = input_string[start_index-1 + 1...end_index+1] 100 return extracted_substring 101 else 102 fail(ArgumentError.new("Unabel to get JSON from string: #{input_string}")) 103 end 104 end