Sha256: e72ea3c2d397ba297523117e2fee26feae050b2d0a956fe6c6a2242fd4ee73a9

Contents?: true

Size: 1.6 KB

Versions: 14

Compression:

Stored size: 1.6 KB

Contents

require 'spec_helper'

describe Vx::Worker::RunScript do
  let(:exit_code)     { 0 }
  let(:app)           { ->(_) { exit_code } }
  let(:script)        { "echo script" }
  let(:before_script) { "echo before_script" }
  let(:after_script)  { "echo after_script" }
  let(:job)           { create :job,
                          script: script,
                          before_script: before_script,
                          after_script: after_script }
  let(:env)           { OpenStruct.new job: job }
  let(:mid)           { described_class.new app }
  let(:connector_mid) { Vx::Worker::StartConnector.new(mid) }

  subject { connector_mid.call env }

  shared_examples "run script" do

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

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

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

  context "local connector" do
    before do
      Vx::Worker.config.run = "local"
    end

    it_should_behave_like "run script"
  end

  context "local connector", docker: true do
    before do
      Vx::Worker.config.run = "docker"
    end

    it_should_behave_like "run script"
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vx-worker-0.3.0.pre1 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.3.0.pre0 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.1 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre38 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre37 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre36 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre35 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre34 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre33 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre32 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre31 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre30 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre29 spec/lib/worker/middlewares/run_script_spec.rb
vx-worker-0.2.0.pre28 spec/lib/worker/middlewares/run_script_spec.rb