ruby-client/Rakefile
Paul Daigle c95945e710 Remove bitpay client.
Bitpay client removed, bitpay bin for client removed.
Features modified to run with local token/key saved or not.
Rake task to clean up local files if created.
Rake task to run all tests, cucumbers, and clean up.

Move local file constants to the cucumber helper
2014-12-29 17:06:28 -05:00

74 lines
2.2 KiB
Ruby

require "bundler/gem_tasks"
require 'rspec/core/rake_task'
require 'capybara'
require 'capybara/poltergeist'
require 'mongo'
require 'cucumber'
require 'cucumber/rake/task'
require_relative 'config/constants.rb'
require_relative 'config/capybara.rb'
RSpec::Core::RakeTask.new(:spec)
task :default => :spec
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "features --format pretty"
end
desc "Bitpay Tasks"
namespace :bitpay do
desc "Clear all claim codes from the test server."
task :clear_claim_codes do
puts "clearing claim codes"
client = Mongo::MongoClient.new
db = client['bitpay-dev']
coll = db['tokenaccesses']
coll.remove()
puts "claim codes cleared"
end
desc "Clear rate limiters from local mongo host"
task :clear_rate_limiters do
puts "clearing rate limiters"
client = Mongo::MongoClient.new
db = client['bitpay-dev']
coll = db['ratelimiters']
coll.remove()
puts "rate limiters cleared"
end
desc "Clear local pem and token file"
task :clear_local_files do
puts "clearing local files"
HOME_DIR = File.join(Dir.home, '.bitpay')
KEY_FILE = File.join(HOME_DIR, 'bitpay.pem')
TOKEN_FILE = File.join(HOME_DIR, 'tokens.json')
File.delete(KEY_FILE) if File.file?(KEY_FILE)
File.delete(TOKEN_FILE) if File.file?(TOKEN_FILE)
puts "local files cleared"
end
desc "Clear tokens, rate limiters, and local files."
task :clear do
["bitpay:clear_local_files", "bitpay:clear_rate_limiters", "bitpay:clear_claim_codes"].each{|task| Rake::Task[task].reenable}
["bitpay:clear_local_files", "bitpay:clear_rate_limiters", "bitpay:clear_claim_codes"].each{|task| Rake::Task[task].invoke}
end
desc "Run specs and clear claim codes and rate_limiters."
task :spec_clear => ['spec', 'clear_claim_codes', 'clear_rate_limiters']
desc "Run specs, clear data, run cukes, clear data"
task :tests_clear do
Rake::Task["bitpay:clear"].invoke
Rake::Task["spec"].invoke
Rake::Task["bitpay:clear"].reenable
Rake::Task["bitpay:clear"].invoke
Rake::Task["features"].invoke
Rake::Task["bitpay:clear"].reenable
Rake::Task["bitpay:clear"].invoke
end
end