From 114742f3f8ca9ae6cda90dc1e802892e69aac7c9 Mon Sep 17 00:00:00 2001 From: sophia Date: Mon, 23 Mar 2020 15:39:30 -0500 Subject: [PATCH] Test rmi functionality for docker provider --- .../plugins/providers/docker/driver_test.rb | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/test/unit/plugins/providers/docker/driver_test.rb b/test/unit/plugins/providers/docker/driver_test.rb index 7ae6524ef..a1dce7201 100644 --- a/test/unit/plugins/providers/docker/driver_test.rb +++ b/test/unit/plugins/providers/docker/driver_test.rb @@ -379,6 +379,44 @@ describe VagrantPlugins::DockerProvider::Driver do end end + describe '#rmi' do + let(:id) { 'asdg21ew' } + + context 'image exists' do + it "removes the image" do + expect(subject).to receive(:execute).with('docker', 'rmi', id) + subject.rmi(id) + end + end + + context 'image is being used' do + before { allow(subject).to receive(:execute).and_raise("image is being used by running container") } + + it 'does not remove the image' do + expect(subject.rmi(id)).to eq(false) + subject.rmi(id) + end + end + + context 'container is using it' do + before { allow(subject).to receive(:execute).and_raise("container is using it") } + + it 'does not remove the image' do + expect(subject.rmi(id)).to eq(false) + subject.rmi(id) + end + end + + context 'image does not exist' do + before { allow(subject).to receive(:execute).and_raise("No such image") } + + it 'raises an error' do + expect(subject.rmi(id)).to eq(nil) + subject.rmi(id) + end + end + end + describe '#inspect_container' do let(:data) { '[{"json": "value"}]' }