summaryrefslogtreecommitdiffstats
path: root/features/step_definitions/torified_misc.rb
blob: 7112776a0907304bb8128c3767f32a08686b59a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
When /^I query the whois directory service for "([^"]+)"$/ do |domain|
  retry_tor do
    @vm_execute_res = $vm.execute("whois '#{domain}'", :user => LIVE_USER)
    if @vm_execute_res.failure? || @vm_execute_res.stdout['LIMIT EXCEEDED']
      raise "Looking up whois info for #{domain} failed with:\n" +
            "#{@vm_execute_res.stdout}\n" +
            "#{@vm_execute_res.stderr}"
    end
  end
end

When /^I wget "([^"]+)" to stdout(?:| with the '([^']+)' options)$/ do |url, options|
  arguments = "-O - '#{url}'"
  arguments = "#{options} #{arguments}" if options
  retry_tor do
    @vm_execute_res = $vm.execute("wget #{arguments}", :user => LIVE_USER)
    if @vm_execute_res.failure?
      raise "wget:ing #{url} with options #{options} failed with:\n" +
            "#{@vm_execute_res.stdout}\n" +
            "#{@vm_execute_res.stderr}"
    end
  end
end

Then /^the (wget|whois) command is successful$/ do |command|
  assert(
    @vm_execute_res.success?,
    "#{command} failed:\n" +
    "#{@vm_execute_res.stdout}\n" +
    "#{@vm_execute_res.stderr}"
  )
end

Then /^the (wget|whois) standard output contains "([^"]+)"$/ do |command, text|
  assert(
    @vm_execute_res.stdout[text],
    "The #{command} standard output does not contain #{text}:\n" +
    "#{@vm_execute_res.stdout}\n" +
    "#{@vm_execute_res.stderr}"
  )
end