Sha256: ab658983533ab60f095eced5b6e1361c9d3c625df57d84d286b326c0da1f9647

Contents?: true

Size: 995 Bytes

Versions: 3

Compression:

Stored size: 995 Bytes

Contents

require 'spec_helper'

describe Evrone::CI::Worker::DockerScript, run_docker: true do
  let(:exit_code)     { 0 }
  let(:app)           { ->(_) { exit_code } }
  let(:script)        { "echo script" }
  let(:before_script) { "echo before_script" }
  let(:job)           { create :job, script: script, before_script: before_script }
  let(:env)           { OpenStruct.new job: job }
  let(:mid)           { described_class.new app }
  let(:docker_mid)    { Evrone::CI::Worker::DockerStartContainer.new(mid) }

  subject { docker_mid.call env }

  before do
    stub(env).docker_repo_dir { Pathname.new '/tmp' }
  end

  it "should be" do
    expect(subject).to eq 0
    expect(job.output).to match("script")
  end

  context "when script failed" do
    let(:script) { "false" }
    it "should be" do
      expect(subject).to eq(1)
    end
  end

  context "when  before_script failed" do
    let(:before_script) { "false" }
    it "should be" do
      expect(subject).to eq(-1)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
evrone-ci-worker-0.2.0.pre4 spec/lib/worker/middlewares/docker_script_spec.rb
evrone-ci-worker-0.2.0.pre3 spec/lib/worker/middlewares/docker_script_spec.rb
evrone-ci-worker-0.2.0.pre1 spec/lib/worker/middlewares/docker_script_spec.rb