diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake new file mode 100644 index 000000000..23a3d55a5 --- /dev/null +++ b/lib/tasks/test.rake @@ -0,0 +1,30 @@ +require 'rspec/core/rake_task' +require 'open3' + +desc 'Run all specs against server' +task 'test' do + test_against_server { Rake::Task['spec'].invoke } +end + +desc 'Run EPP specs against server' +task 'test:epp' do + test_against_server { Rake::Task['spec:epp'].invoke } +end + +desc 'Run all but EPP specs' +RSpec::Core::RakeTask.new('test:other') do |t| + t.rspec_opts = "--tag ~epp" +end + +Rake::Task[:default].prerequisites.clear +task default: :test + +def test_against_server + stdin, stdout, stderr, wait_thr = Open3.popen3('unicorn -E test -p 8989') + pid = wait_thr.pid + begin + yield + ensure + `kill #{pid}` + end +end diff --git a/spec/epp/session_spec.rb b/spec/epp/session_spec.rb index 70a0ac885..feb15dc34 100644 --- a/spec/epp/session_spec.rb +++ b/spec/epp/session_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -describe 'EPP Session', type: :epp do +describe 'EPP Session', epp: true do let(:server) { server = Epp::Server.new({server: 'localhost', tag: 'test', password: 'test'}) } context 'when not connected' do diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 94f086758..05223eb07 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -35,7 +35,7 @@ RSpec.configure do |config| DatabaseCleaner.strategy = :transaction end - config.before(:each, type: :epp) do + config.before(:each, epp: true) do DatabaseCleaner.strategy = :truncation end diff --git a/spec/support/epp.rb b/spec/support/epp.rb index 1e30a9deb..16bd1c9d2 100644 --- a/spec/support/epp.rb +++ b/spec/support/epp.rb @@ -5,5 +5,5 @@ module Epp end RSpec.configure do |c| - c.include Epp, type: :epp + c.include Epp, epp: true end