def test_project_delete_fail_unfinished_project_action( self, f_users, f_mock_chroots, f_coprs, f_users_api, f_db): ActionsLogic.send_delete_copr(self.c1) self.db.session.commit() href = "/api_2/projects/{}".format(self.c1.id) r0 = self.request_rest_api_with_auth(href, method="delete") assert r0.status_code == 400
def delete_unsafe(cls, user, copr): """ Deletes copr without termination of ongoing builds. """ cls.raise_if_cant_delete(user, copr) # TODO: do we want to dump the information somewhere, so that we can # search it in future? cls.raise_if_unfinished_blocking_action( copr, "Can't delete this project," " another operation is in progress: {action}") ActionsLogic.send_delete_copr(copr) CoprDirsLogic.delete_all_by_copr(copr) copr.deleted = True return copr
def test_build_post_json_on_project_during_action(self, f_users, f_coprs, f_db, f_mock_chroots, f_mock_chroots_many, f_build_many_chroots, f_users_api): ActionsLogic.send_delete_copr(self.c1) chroot_name_list = [c.name for c in self.c1.active_chroots] metadata = { "project_id": 1, "srpm_url": "http://example.com/mypkg.src.rpm", "chroots": chroot_name_list } self.db.session.commit() r0 = self.request_rest_api_with_auth( "/api_2/builds", method="post", content=metadata, ) assert r0.status_code == 400
def test_build_post_multipart_on_project_during_action( self, f_users, f_coprs, f_builds, f_db, f_mock_chroots, f_mock_chroots_many, f_build_many_chroots, f_users_api): ActionsLogic.send_delete_copr(self.c1) chroot_name_list = [c.name for c in self.c1.active_chroots] metadata = { "project_id": 1, "enable_net": True, "chroots": chroot_name_list } data = { "metadata": json.dumps(metadata), "srpm": (BytesIO(b'my file contents'), 'hello world.src.rpm') } self.db.session.commit() r0 = self.request_rest_api_with_auth( "/api_2/builds", method="post", content_type="multipart/form-data", data=data) assert r0.status_code == 400