def test_push(self, mock_process): args = copy.copy(BUILDAH_CMD_BASE) dest = '127.0.0.1:8787/master/fedora-binary-fedora-base:latest' buildah_cmd_push = ['push', '--tls-verify=False', dest, 'docker://' + dest] args.extend(buildah_cmd_push) bb(WORK_DIR, DEPS).push(dest) mock_process.assert_called_once_with( *args, run_as_root=False, use_standard_locale=True )
def test_build(self, mock_process): args = copy.copy(BUILDAH_CMD_BASE) dest = '127.0.0.1:8787/master/fedora-binary-fedora-base:latest' container_build_path = WORK_DIR + '/' + 'fedora-base' logfile = '/tmp/kolla/fedora-base/fedora-base-build.log' buildah_cmd_build = ['bud', '--tls-verify=False', '--logfile', logfile, '-t', dest, container_build_path] args.extend(buildah_cmd_build) bb(WORK_DIR, DEPS).build('fedora-base', container_build_path) mock_process.assert_called_once_with( *args, run_as_root=False, use_standard_locale=True )
def test_build_all_list_failed(self, mock_build, mock_wait, mock_submit): mock_submit.side_effect = R_FAILED_LIST _b = bb(WORK_DIR, DEPS) self.assertRaises( RuntimeError, _b.build_all, deps=BUILD_ALL_LIST_CONTAINERS )
def test_build_all_list_broken(self, mock_build, mock_wait, mock_submit): mock_submit.side_effect = R_BROKEN_LISTS[0] + R_BROKEN_LISTS[1] _b = bb(WORK_DIR, DEPS) self.assertRaises( SystemError, _b.build_all, deps=BUILD_ALL_LIST_CONTAINERS )
def test_generate_container_with_push(self, mock_push, mock_build): container_name = "fedora-base" destination = "127.0.0.1:8787/master/fedora-binary-{}:latest" builder = bb(WORK_DIR, DEPS, push_containers=True) builder._generate_container(container_name) mock_build.assert_called_once_with(builder, container_name, "") mock_push.assert_called_once_with(builder, destination.format(container_name))
def test_build_with_volumes(self, mock_touch, mock_process): args = copy.copy(BUILDAH_CMD_BASE) dest = '127.0.0.1:8787/master/fedora-binary-fedora-base:latest' container_build_path = WORK_DIR + '/' + 'fedora-base' logfile = '/tmp/kolla/fedora-base/fedora-base-build.log' buildah_cmd_build = ['bud', '--volume', '/etc/pki:/etc/pki', '--volume', '/etc/dir2:/dir2', '--format', 'docker', '--tls-verify=False', '--logfile', logfile, '-t', dest, container_build_path] args.extend(buildah_cmd_build) bb(WORK_DIR, DEPS, volumes=VOLS).build('fedora-base', container_build_path) mock_process.assert_called_once_with( *args, check_exit_code=True, run_as_root=False, use_standard_locale=True )
def test_dep_processing(self): containers = list() self.assertEqual( bb(WORK_DIR, DEPS)._generate_deps( deps=PREPROCESSED_CONTAINER_DEPS, containers=containers ), [ [ 'image0' ], [ 'image1', 'image13', 'image14', 'image2', 'image10' ], [ 'image8', 'image9', 'image3', 'image6' ], [ 'image4', 'image5' ], [ 'image7' ], [ 'image11', 'image12' ] ] )
def test_build_all_str_ok(self, mock_build, mock_wait, mock_submit): bb(WORK_DIR, DEPS).build_all(deps=BUILD_ALL_STR_CONTAINER)
def test_build_all_dict_ok(self, mock_build, mock_wait, mock_submit): bb(WORK_DIR, DEPS).build_all(deps=BUILD_ALL_DICT_CONTAINERS)
def test_build_all_ok_no_deps(self, mock_build, mock_wait, mock_submit): bb(WORK_DIR, DEPS).build_all()
def test_generate_container_without_push(self, mock_push, mock_build): container_name = "fedora-base" builder = bb(WORK_DIR, DEPS, push_containers=False) builder._generate_container(container_name) mock_build.assert_called_once_with(builder, container_name, "") assert not mock_push.called
def test_build_with_excludes(self, mock_process): bb(WORK_DIR, DEPS, excludes=['fedora-base'])._generate_container( 'fedora-base') assert not mock_process.called
def test_build_all_multi_build(self, mock_multi_build): bb(WORK_DIR, DEPS).build_all(deps=BUILD_ALL_LIST_CONTAINERS) self.assertTrue(mock_multi_build.called)