try to get usefull output on error
[opensuse:spacewalk-testsuite-base.git] / features / step_definitions / register_client_steps.rb
1 # Copyright (c) 2010-2011 Novell, Inc.
2 # Licensed under the terms of the MIT license.
3
4 Given /^I am root$/ do
5  uid = `id -u`
6  if ! $?.success? || uid.to_i != 0
7    raise "You are not root!"
8  end
9  if $myhostname == "linux"
10    raise "Invalid hostname"
11  end
12 end
13
14 Given /^I am on the Systems overview page of this client$/ do
15   Given "I am on the Systems page"
16   Given "I follow \"Systems\" in element \"sidenav\""
17   When  "I follow this client link"
18 end
19
20 Given /^I update the profile of this client$/ do
21   `rhn-profile-sync`
22   if ! $?.success?
23     raise "Profile sync failed"
24   end
25 end
26
27 When /^I register using "([^"]*)" key$/ do |arg1|
28   # remove systemid file
29   `rm -f /etc/sysconfig/rhn/systemid`
30
31   regurl = "http://#{ENV['TESTHOST']}/XMLRPC"
32
33   command = "rhnreg_ks --serverUrl=#{regurl} --activationkey=#{arg1}"
34   #print "Command: #{command}\n"
35
36   output = `#{command} 2>&1`
37   if ! $?.success?
38     raise "Registration failed '#{command}' #{$!}: #{output}"
39   end
40 end
41
42 When /^I register using an activation key$/ do
43   arch=`uname -m`
44   arch.chomp!
45   if arch != "x86_64"
46     arch = "i586"
47   end
48   When "I register using \"1-SUSE-DEV-#{arch}\" key"
49 end
50
51 Then /^I should see this client in spacewalk$/ do
52   Given "I am on the Systems page"
53   Then "I should see this client as link"
54 end
55
56 Then /^I should see this client as link$/ do
57   Then "I should see a \"#{$myhostname}\" link"
58 end
59
60 When /^I follow this client link$/ do
61   When "I follow \"#{$myhostname}\""
62 end