Project

General

Profile

Download (2.81 KB) Statistics
| Branch: | Tag: | Revision:

hammer-cli-csv / test / csv_test_helper.rb @ 5146ac68

1
require 'simplecov'
2
require 'pathname'
3
require 'stringio'
4
require 'tempfile'
5

    
6
SimpleCov.use_merging true
7
SimpleCov.start do
8
  command_name 'MiniTest'
9
  add_filter 'test'
10
end
11
SimpleCov.root Pathname.new(File.dirname(__FILE__) + "../../../")
12

    
13

    
14
require 'minitest/autorun'
15
require 'minitest/spec'
16
require "minitest-spec-context"
17
require "mocha/setup"
18

    
19
require 'hammer_cli'
20
require 'hammer_cli_foreman/commands'
21

    
22
HammerCLI::Settings.load_from_file 'test/config.yml'
23

    
24
require 'hammer_cli_csv'
25
require 'hammer_cli_foreman'
26
require 'hammer_cli_katello'
27

    
28
module HammerCLIForeman
29
  def self.clear_credentials
30
    @credentials = nil
31
  end
32
end
33

    
34
def hammer(context=nil)
35
  HammerCLI::MainCommand.new("", context || HammerCLI::Settings.dump)
36
end
37

    
38
require 'apipie-bindings'
39
def api
40
  @server = HammerCLI::Settings.settings[:_params][:host] ||
41
    HammerCLI::Settings.get(:csv, :host) ||
42
    HammerCLI::Settings.get(:katello, :host) ||
43
    HammerCLI::Settings.get(:foreman, :host)
44
  @username = HammerCLI::Settings.settings[:_params][:username] ||
45
    HammerCLI::Settings.get(:csv, :username) ||
46
    HammerCLI::Settings.get(:katello, :username) ||
47
    HammerCLI::Settings.get(:foreman, :username)
48
  @password = HammerCLI::Settings.settings[:_params][:password] ||
49
    HammerCLI::Settings.get(:csv, :password) ||
50
    HammerCLI::Settings.get(:katello, :password) ||
51
    HammerCLI::Settings.get(:foreman, :password)
52
  @api = ApipieBindings::API.new({
53
                                   :uri => @server,
54
                                   :username => @username,
55
                                   :password => @password,
56
                                   :api_version => 2
57
                                 })
58
end
59

    
60
def capture
61
  old_stdout = $stdout
62
  old_stderr = $stderr
63
  $stdout = stdout = StringIO.new
64
  $stderr = stderr = StringIO.new
65
  yield
66
  [stdout.string, stderr.string]
67
ensure
68
  $stdout = old_stdout
69
  $stderr = old_stderr
70
end
71

    
72
def set_user(username, password='changeme')
73
  HammerCLI::Connection.drop_all
74
  HammerCLIForeman.clear_credentials
75
  HammerCLI::Settings.load({
76
                               :_params => {
77
                                   :username => username,
78
                                   :password => password
79
                               },
80
                               :foreman => {
81
                                   :username => username,
82
                                   :password => password
83
                               },
84
                               :csv => {
85
                                   :username => username,
86
                                   :password => password
87
                               }
88
                           })
89
end
90

    
91
require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
92
require File.join(File.dirname(__FILE__), 'helpers/command')
93
require File.join(File.dirname(__FILE__), 'helpers/resource_disabled')