annotate modules/translate/spec/acceptance/spec_helper_acceptance.rb @ 245:b0f8b88fea5c

Add "translate" module used by MySQL module
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Dec 2019 14:12:10 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
245
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 # frozen_string_literal: true
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 require 'serverspec'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4 require 'puppet_litmus'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb'))
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 include PuppetLitmus
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 if ENV['TARGET_HOST'].nil? || ENV['TARGET_HOST'] == 'localhost'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 puts 'Running tests against this machine !'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 if Gem.win_platform?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 set :backend, :cmd
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 else
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 set :backend, :exec
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 end
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 else
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 # load inventory
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 inventory_hash = inventory_hash_from_inventory_file
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18 node_config = config_from_node(inventory_hash, ENV['TARGET_HOST'])
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 if target_in_group(inventory_hash, ENV['TARGET_HOST'], 'docker_nodes')
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 host = ENV['TARGET_HOST']
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 set :backend, :docker
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 set :docker_container, host
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 elsif target_in_group(inventory_hash, ENV['TARGET_HOST'], 'ssh_nodes')
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 set :backend, :ssh
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 options = Net::SSH::Config.for(host)
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 options[:user] = node_config.dig('ssh', 'user') unless node_config.dig('ssh', 'user').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 options[:port] = node_config.dig('ssh', 'port') unless node_config.dig('ssh', 'port').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 options[:keys] = node_config.dig('ssh', 'private-key') unless node_config.dig('ssh', 'private-key').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 options[:password] = node_config.dig('ssh', 'password') unless node_config.dig('ssh', 'password').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 options[:verify_host_key] = Net::SSH::Verifiers::Null.new unless node_config.dig('ssh', 'host-key-check').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 host = if ENV['TARGET_HOST'].include?(':')
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 ENV['TARGET_HOST'].split(':').first
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 else
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 ENV['TARGET_HOST']
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 end
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 set :host, options[:host_name] || host
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 set :ssh_options, options
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 set :request_pty, true
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40 elsif target_in_group(inventory_hash, ENV['TARGET_HOST'], 'winrm_nodes')
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 require 'winrm'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 set :backend, :winrm
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 set :os, family: 'windows'
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 user = node_config.dig('winrm', 'user') unless node_config.dig('winrm', 'user').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 pass = node_config.dig('winrm', 'password') unless node_config.dig('winrm', 'password').nil?
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47 endpoint = "http://#{ENV['TARGET_HOST']}:5985/wsman"
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 opts = {
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
50 user: user,
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
51 password: pass,
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 endpoint: endpoint,
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
53 operation_timeout: 300,
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
54 }
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
55
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
56 winrm = WinRM::Connection.new opts
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
57 Specinfra.configuration.winrm = winrm
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
58 end
b0f8b88fea5c Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
59 end