Commit 2c5e4955c020eb8d5a28a48d6adc375c327523ac
1 parent
9c252a60
Exists in
master
and in
4 other branches
specs for Gitlab::Popen
Showing
2 changed files
with
35 additions
and
2 deletions
Show diff stats
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | +require 'spec_helper' | |
| 2 | + | |
| 3 | +describe 'Gitlab::Popen', no_db: true do | |
| 4 | + let (:path) { Rails.root.join('tmp').to_s } | |
| 5 | + | |
| 6 | + before do | |
| 7 | + @klass = Class.new(Object) | |
| 8 | + @klass.send(:include, Gitlab::Popen) | |
| 9 | + end | |
| 10 | + | |
| 11 | + context 'zero status' do | |
| 12 | + before do | |
| 13 | + @output, @status = @klass.new.popen('ls', path) | |
| 14 | + end | |
| 15 | + | |
| 16 | + it { @status.should be_zero } | |
| 17 | + it { @output.should include('pids') } | |
| 18 | + end | |
| 19 | + | |
| 20 | + context 'non-zero status' do | |
| 21 | + before do | |
| 22 | + @output, @status = @klass.new.popen('cat NOTHING', path) | |
| 23 | + end | |
| 24 | + | |
| 25 | + it { @status.should == 1 } | |
| 26 | + it { @output.should include('No such file or directory') } | |
| 27 | + end | |
| 28 | +end | |
| 29 | + | ... | ... |
spec/support/db_cleaner.rb
| ... | ... | @@ -9,10 +9,14 @@ RSpec.configure do |config| |
| 9 | 9 | DatabaseCleaner.strategy = :transaction |
| 10 | 10 | end |
| 11 | 11 | |
| 12 | - DatabaseCleaner.start | |
| 12 | + unless example.metadata[:no_db] | |
| 13 | + DatabaseCleaner.start | |
| 14 | + end | |
| 13 | 15 | end |
| 14 | 16 | |
| 15 | 17 | config.after do |
| 16 | - DatabaseCleaner.clean | |
| 18 | + unless example.metadata[:no_db] | |
| 19 | + DatabaseCleaner.clean | |
| 20 | + end | |
| 17 | 21 | end |
| 18 | 22 | end | ... | ... |