def test_packager_image_without_matches(self, PackagerContext): context = PackagerContext.return_value packager = Packager(context, {}) packager.client = MagicMock() packager.client.images.return_value = [] with self.assertRaises(PackagerException): packager.image
def test_packager_build_package(self, PackagerContext): context = PackagerContext.return_value packager = Packager(context, {}) packager.client = MagicMock() packager.client.images.return_value = [{'Id': 0}] result_container, result_logs = packager.build_package() container = packager.client.create_container.return_value packager.client.create_container.assert_called_with(0) packager.client.logs.assert_called_with(container, stream=True) packager.client.start.assert_called_with(container) self.assertEqual(result_container, container)
def test_packager_export_package(self, PackagerContext): context = PackagerContext.return_value packager = Packager(context, {}) packager.container = {'Id': 0} packager.client = MagicMock() packager.client.copy.return_value = self.docker_file packager.client.diff.return_value = [ {'Path': '/foo'}, {'Path': '/rpmbuild/SOURCES/foo.tar.gz'}, {'Path': '/rpmbuild/SPECS/foo.spec'}, {'Path': '/rpmbuild/foo.rpm'}, {'Path': '/rpmbuild/foo.src.rpm'}, ] with patch('rpmbuild.open', self.open, create=True): packager.export_package('/tmp') packager.client.copy.assert_any_call(0, '/rpmbuild/foo.rpm') packager.client.copy.assert_any_call(0, '/rpmbuild/foo.src.rpm') self.open.assert_any_call('/tmp/foo.rpm', 'wb') self.open.assert_any_call('/tmp/foo.src.rpm', 'wb') exported = self.open() exported.write.assert_called_with(self.docker_file_content)
def test_packager_image_without_matches(self, PackagerContext): context = PackagerContext.return_value packager = Packager(context, {}) packager.client = MagicMock() packager.client.images.return_value = [] self.assertRaises(PackagerException, lambda: packager.image)
def test_packager_image_with_matches(self, PackagerContext): context = PackagerContext.return_value packager = Packager(context, {}) packager.client = MagicMock() packager.client.images.return_value = ['foo', 'bar'] self.assertEqual(packager.image, 'foo')