Project

General

Profile

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

hammer-cli-csv / test / content_hosts_test.rb @ b50ceaa2

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
      # Create content host
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
      # Update system
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
      # Verify host
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
      # Clean up
51
      api.resource(:hosts).call(:destroy, {
52
                                            'id' => host[0]['id']
53
                                          })
54
    end
55

    
56
  end
57
end