Sha256: 9e5177656c5b32842143b70670c9d9db8fc3273532e3a72195186a9e80091ad1

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

require_relative '../../spec_helper'

include Baleen::Task

describe Baleen::Task do

  describe Generic do
    it "executes command" do
      string = "OK"
      task = Baleen::Task::Generic.new(
        image: base_image,
        command: "echo #{string}",
      )
      runner = Baleen::Runner.new(task)
      result = runner.run
      expect(result[:stdout].join("\n")).to include string
    end
  end

  describe Cucumber do
    it "runs cucumber test" do
      task = Baleen::Task::Cucumber.new(
        image: base_image,
        work_dir: "/poc",
        files: "features/t0.feature",
        before_command: "source /etc/profile",
        concurrency: 1,
      )
      runner = Baleen::Runner.new(task)
      result = runner.run
      expect(result[:stdout].join("\n")).to include "Scenario"
    end
  end

  describe ImageUpdate do
    before :each do
      Docker::Image.all.each do |i|
        if i.json["container_config"]["Image"] == test_image
          i.remove
        end
      end
      @image = Docker::Image.build("from #{base_image}")
      @image.tag('repo' => test_image, 'force' => true)
    end

    it "commit changes" do
      before_id = @image.json["id"]
      task = Baleen::Task::ImageUpdate.new(
        image: test_image,
        command: "touch ./new_file.txt",
      )

      runner = Baleen::Runner.new(task)
      runner.run
      @image = Docker::Image.build("from #{test_image}")
      after_id = @image.json["id"]

      expect(after_id).not_to eq(before_id)
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
baleen-0.2.5 spec/lib/baleen/spec_task.rb
baleen-0.2.4 spec/lib/baleen/spec_task.rb