def test_process_success_waiting_for_package_different_package_id(self): build_output = _setup_build_output("create.json") with database.session_scope() as session: ecosystem = util.create_ecosystem(dict()) waiting_build_id = _create_waiting_build( session, ecosystem, missing_packages=[ util.create_package({ "ecosystem": ecosystem, "package.package_id": "d057732059ea44a47760900cb5e4855d2bea8714" }) ]) build_id = _create_build(session, ecosystem) result = manager.process_success(build_id, build_output) self.assertFalse("new_builds" in result.keys()) with database.session_scope() as session: waiting_build = session.query( database.Build).filter_by(id=waiting_build_id).first() self.assertEqual(database.BuildStatus.error, waiting_build.status)
def test_process_success_waiting_for_package_different_revision(self): build_output = _setup_build_output("create.json") with database.session_scope() as session: ecosystem = util.create_ecosystem(dict()) waiting_build_id = _create_waiting_build( session, ecosystem, missing_packages=[ util.create_package({ "ecosystem": ecosystem, "recipe_revision.revision": "f5c1ba6f1af634f500f7e0255619fecf4777965f" }) ]) build_id = _create_build(session, ecosystem) result = manager.process_success(build_id, build_output) self.assertTrue(result["new_builds"]) with database.session_scope() as session: waiting_build = session.query( database.Build).filter_by(id=waiting_build_id).first() self.assertEqual(database.BuildStatus.new, waiting_build.status)
def test_create_build_with_missing_package(self): with database.session_scope() as session: build = util.create_build(dict()) package = util.create_package(dict()) build.missing_packages = [package] session.add(build) with database.session_scope() as session: num_packages = session.query(database.Package).count() self.assertEqual(1, num_packages) package = session.query(database.Package).first() self.assertEqual(1, len(package.waiting_builds))
def test_process_success_remove_missing_items(self): build_output = _setup_build_output("create.json") with database.session_scope() as session: build = util.create_build(dict()) build.missing_recipes = [util.create_recipe(dict())] build.missing_packages = [util.create_package(dict())] session.add(build) session.commit() build_id = build.id manager.process_success(build_id, build_output) with database.session_scope() as session: build = session.query( database.Build).filter_by(id=build_id).first() self.assertEqual(0, len(build.missing_recipes)) self.assertEqual(0, len(build.missing_packages))
def test_process_success_waiting_for_package(self): build_output = _setup_build_output("create.json") with database.session_scope() as session: ecosystem = util.create_ecosystem(dict()) waiting_build_id = _create_waiting_build( session, ecosystem, missing_packages=[ util.create_package({"ecosystem": ecosystem}) ]) build_id = _create_build(session, ecosystem) result = manager.process_success(build_id, build_output) self.assertTrue(result["new_builds"]) with database.session_scope() as session: waiting_build = session.query( database.Build).filter_by(id=waiting_build_id).first() self.assertEqual(database.BuildStatus.new, waiting_build.status)
def test_process_success_existing_package(self): build_output = _setup_build_output() with database.session_scope() as session: parameters = dict() package = util.create_package(parameters) session.add(package) build = util.create_build(parameters) session.add(build) session.commit() build_id = build.id manager.process_success(build_id, build_output) with database.session_scope() as session: build = session.query( database.Build).filter_by(id=build_id).first() packages = session.query(database.Package).all() self.assertEqual(1, len(packages)) self.assertEqual(1, build.package.id)
def setUp(self): super().setUp() self.login() with database.session_scope() as session: ecosystem = util.create_package(dict()) session.add(ecosystem)