1
|
require File.join(File.dirname(__FILE__), 'csv_test_helper')
|
2
|
|
3
|
describe 'content-hosts' do
|
4
|
|
5
|
extend CommandTestHelper
|
6
|
|
7
|
context "import" do
|
8
|
it "update content host facts" do
|
9
|
set_user 'admin'
|
10
|
|
11
|
hostname = "host#{rand(10000)}"
|
12
|
|
13
|
|
14
|
file = Tempfile.new('content_hosts_test')
|
15
|
file.write("Name,Count,Organization,Environment,Content View,Host Collections,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions\n")
|
16
|
file.write("#{hostname},1,Mega Corporation,Library,Default Organization View,Mega Corp HQ,No,,RHEL 6.4,x86_64,1,4,1,,,\n")
|
17
|
file.rewind
|
18
|
|
19
|
stdout,stderr = capture {
|
20
|
hammer.run(%W{csv content-hosts --verbose --file #{file.path}})
|
21
|
}
|
22
|
stderr.must_equal ''
|
23
|
stdout[0..-2].must_equal "Creating content host '#{hostname}'...done"
|
24
|
|
25
|
|
26
|
file.rewind
|
27
|
|
28
|
stdout,stderr = capture {
|
29
|
hammer.run(%W{csv content-hosts --verbose --file #{file.path}})
|
30
|
}
|
31
|
stderr.must_equal ''
|
32
|
stdout[0..-2].must_equal "Updating content host '#{hostname}'...done"
|
33
|
file.unlink
|
34
|
|
35
|
stdout,stderr = capture {
|
36
|
hammer.run(%W{organization list --search label=megacorp})
|
37
|
}
|
38
|
stdout.split("\n").length.must_equal 5
|
39
|
organization_id = stdout.split("\n")[3].split('|')[0].to_i
|
40
|
|
41
|
|
42
|
host = api.resource(:hosts).call(:index, {
|
43
|
'organization_id' => organization_id,
|
44
|
'search' => "name=#{hostname}"
|
45
|
})['results']
|
46
|
host.wont_be_nil
|
47
|
host.wont_be_empty
|
48
|
host[0]['name'].must_equal hostname
|
49
|
|
50
|
|
51
|
api.resource(:hosts).call(:destroy, {
|
52
|
'id' => host[0]['id']
|
53
|
})
|
54
|
end
|
55
|
|
56
|
end
|
57
|
end
|