summaryrefslogtreecommitdiffstats
path: root/features/step_definitions/torified_misc.rb
diff options
context:
space:
mode:
Diffstat (limited to 'features/step_definitions/torified_misc.rb')
-rw-r--r--features/step_definitions/torified_misc.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/features/step_definitions/torified_misc.rb b/features/step_definitions/torified_misc.rb
new file mode 100644
index 00000000..7112776a
--- /dev/null
+++ b/features/step_definitions/torified_misc.rb
@@ -0,0 +1,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