def f_builds(self): self.p1 = models.Package(copr=self.c1, name="hello-world", source_type=0) self.p2 = models.Package(copr=self.c2, name="hello-world", source_type=0) self.b1 = models.Build(copr=self.c1, package=self.p1, user=self.u1, submitted_on=50) self.b2 = models.Build(copr=self.c1, package=self.p1, user=self.u2, submitted_on=10) self.b3 = models.Build(copr=self.c2, package=self.p2, user=self.u2, submitted_on=10) self.b4 = models.Build(copr=self.c2, package=self.p2, user=self.u2, submitted_on=100) self.basic_builds = [self.b1, self.b2, self.b3, self.b4] self.b1_bc = [] self.b2_bc = [] self.b3_bc = [] self.b4_bc = [] for build, build_chroots in zip( [self.b1, self.b2, self.b3, self.b4], [self.b1_bc, self.b2_bc, self.b3_bc, self.b4_bc]): status = None if build is self.b1: # this build is going to be deleted status = StatusEnum("succeeded") for chroot in build.copr.active_chroots: buildchroot = models.BuildChroot( build=build, mock_chroot=chroot, status=status, git_hash="12345", ) if build is self.b1 or build is self.b2: buildchroot.started_on = 139086644000 buildchroot.ended_on = 149086644000 build.ended_on = 149086644000 build_chroots.append(buildchroot) self.db.session.add(buildchroot) self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
def f_builds(self): self.p1 = models.Package( copr=self.c1, copr_dir=self.c1_dir, name="hello-world", source_type=0) self.p2 = models.Package( copr=self.c2, copr_dir=self.c2_dir, name="whatsupthere-world", source_type=0) self.p3 = models.Package( copr=self.c2, copr_dir=self.c3_dir, name="goodbye-world", source_type=0) self.b1 = models.Build( copr=self.c1, copr_dir=self.c1_dir, package=self.p1, user=self.u1, submitted_on=50, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='bar') self.b2 = models.Build( copr=self.c1, copr_dir=self.c1_dir, package=self.p1, user=self.u2, submitted_on=10, srpm_url="http://somesrpm", source_status=StatusEnum("importing"), result_dir='bar', source_json='{}') self.b3 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p2, user=self.u2, submitted_on=10, srpm_url="http://somesrpm", source_status=StatusEnum("importing"), result_dir='bar') self.b4 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p2, user=self.u2, submitted_on=100, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='bar') self.basic_builds = [self.b1, self.b2, self.b3, self.b4] self.b1_bc = [] self.b2_bc = [] self.b3_bc = [] self.b4_bc = [] for build, build_chroots in zip( [self.b1, self.b2, self.b3, self.b4], [self.b1_bc, self.b2_bc, self.b3_bc, self.b4_bc]): status = None if build is self.b1: # this build is going to be deleted status = StatusEnum("succeeded") for chroot in build.copr.active_chroots: buildchroot = models.BuildChroot( build=build, mock_chroot=chroot, status=status, git_hash="12345", result_dir='bar', ) if build is self.b1 or build is self.b2: buildchroot.started_on = 1390866440 buildchroot.ended_on = 1490866440 build_chroots.append(buildchroot) self.db.session.add(buildchroot) self.db.session.add_all([self.b1, self.b2, self.b3, self.b4])
def add(cls, user, copr_dir, package_name, source_type=helpers.BuildSourceEnum("unset"), source_json=json.dumps({})): users_logic.UsersLogic.raise_if_cant_build_in_copr( user, copr_dir.copr, "You don't have permissions to build in this copr.") if cls.exists(copr_dir.id, package_name).all(): raise exceptions.DuplicateException( "Project dir {} already has a package '{}'".format( copr_dir.full_name, package_name)) package = models.Package( name=package_name, copr=copr_dir.copr, copr_dir=copr_dir, source_type=source_type, source_json=source_json, ) db.session.add(package) return package
def f_hook_package(self, f_users, f_coprs, f_mock_chroots, f_builds): self.c1.webhook_secret = str(uuid.uuid4()) self.db.session.add(self.c1) self.pHook = models.Package( copr=self.c1, copr_dir=self.c1_dir, name="hook-package", source_type=helpers.BuildSourceEnum('scm'))
def get_or_create(cls, copr_dir, package_name, src_pkg): package = cls.get_by_dir(copr_dir, package_name).first() if package: return package package = models.Package(name=src_pkg.name, copr=src_pkg.copr, source_type=src_pkg.source_type, source_json=src_pkg.source_json, copr_dir=copr_dir) db.session.add(package) return package
def f_pr_dir(self): self.c4_dir = models.CoprDir(name=u"foocopr:PR", copr=self.c1, main=False) self.p4 = models.Package( copr=self.c1, copr_dir=self.c4_dir, name="hello-world", source_type=0)
def f_fork_prepare(self, f_coprs, f_mock_chroots, f_builds): self.p4 = models.Package( copr=self.c2, copr_dir=self.c2_dir, name="hello-world", source_type=0) self.b5 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p4, user=self.u1, submitted_on=50, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='00000005-hello-world') self.b6 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p4, user=self.u1, submitted_on=10, srpm_url="http://somesrpm", source_status=StatusEnum("failed"), result_dir='00000006-hello-world', source_json='{}') self.b7 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p2, user=self.u1, submitted_on=10, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='00000007-whatsupthere-world') self.b8 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p2, user=self.u1, submitted_on=100, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='00000008-whatsupthere-world') self.basic_builds = [self.b5, self.b6, self.b7, self.b8] self.b5_bc = [] self.b6_bc = [] self.b7_bc = [] self.b8_bc = [] self.db.session.flush() for build, build_chroots in zip( [self.b5, self.b6, self.b7, self.b8], [self.b5_bc, self.b6_bc, self.b7_bc, self.b8_bc]): status = StatusEnum("succeeded") for chroot in build.copr.active_chroots: buildchroot = models.BuildChroot( build=build, mock_chroot=chroot, status=status, git_hash="12345", result_dir="{}-{}".format(build.id, build.package.name), ) build_chroots.append(buildchroot) self.db.session.add(buildchroot) self.db.session.add_all([self.b5, self.b6, self.b7, self.b8]) self.p5 = models.Package( copr=self.c2, copr_dir=self.c2_dir, name="new-package", source_type=0) self.b9 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p5, user=self.u1, submitted_on=100, srpm_url="http://somesrpm", source_status=StatusEnum("succeeded"), result_dir='00000009-new-package') self.b10 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p5, user=self.u1, submitted_on=100, srpm_url="http://somesrpm", source_status=StatusEnum("failed"), result_dir='00000010-new-package') self.b11 = models.Build( copr=self.c2, copr_dir=self.c2_dir, package=self.p5, user=self.u1, submitted_on=100, srpm_url="http://somesrpm", source_status=StatusEnum("failed"), result_dir='00000011-new-package') self.b9_bc = [] self.b10_bc = [] self.b11_bc = [] self.db.session.flush() bc_status = {self.b9: {self.mc2: StatusEnum("succeeded"), self.mc3: StatusEnum("succeeded")}, self.b10: {self.mc2: StatusEnum("forked"), self.mc3: StatusEnum("failed")}, self.b11: {self.mc2: StatusEnum("failed"), self.mc3: StatusEnum("succeeded")}} for build, build_chroots in zip( [self.b9, self.b10, self.b11], [self.b9_bc, self.b10_bc, self.b11_bc]): for chroot in build.copr.active_chroots: buildchroot = models.BuildChroot( build=build, mock_chroot=chroot, status=bc_status[build][chroot], git_hash="12345", result_dir="{}-{}".format(build.id, build.package.name), ) build_chroots.append(buildchroot) self.db.session.add(buildchroot) self.db.session.add_all([self.b9, self.b10, self.b11])