Sha256: b71b2efe9df7990d82a8267fdca57634aa6a28c19017ad441c823bfeccc9b37f

Contents?: true

Size: 1.16 KB

Versions: 36

Compression:

Stored size: 1.16 KB

Contents

describe Ufo::Ecr::Cleaner do
  let(:docker_image_name) { "123456789.dkr.ecr.us-east-1.amazonaws.com/my-name" }
  let(:repo_domain) { "123456789.dkr.ecr.us-east-1.amazonaws.com" }
  let(:cleaner) do
    Ufo::Ecr::Cleaner.new(docker_image_name,
      ecr_keep: 3, # using 3 to test, default is 30
    )
  end
  before(:each) do
    allow(cleaner).to receive(:update_auth_token).and_return(:whatever)
  end

  context("lots of old images") do
    let(:image_tags) { 10.times.map {|i| "ufo-#{i}" }.reverse }
    before(:each) do
      allow(cleaner).to receive(:fetch_image_tags).and_return(image_tags)
    end

    it "should remove images and keep 3" do
      allow(cleaner).to receive(:ecr).and_return(ecr_stub)
      cleaner.cleanup
      expect(cleaner.ecr).to have_received(:batch_delete_image).with(
          repository_name: "my-name",
          image_ids: [{image_tag: "ufo-6"}, {image_tag: "ufo-5"}, {image_tag: "ufo-4"}, {image_tag: "ufo-3"}, {image_tag: "ufo-2"}, {image_tag: "ufo-1"}, {image_tag: "ufo-0"}]
        )
    end
  end

  def ecr_stub
    ecr = double("Ecr").as_null_object
    allow(ecr).to receive(:batch_delete_image).and_return(:whatever)
    ecr
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
ufo-6.3.13 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.12 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.11 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.10 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.9 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.8 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.7 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.6 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.5 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.4 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.3 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.2 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.1 spec/ufo/ecr_cleaner_spec.rb
ufo-6.3.0 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.5 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.4 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.3 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.2 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.1 spec/ufo/ecr_cleaner_spec.rb
ufo-6.2.0 spec/ufo/ecr_cleaner_spec.rb