import test
+from buildservice import builds
+
class BuildTestCase(test.TestCase):
"""
Tests everything around builds
"""
+ async def test_create_from_source(self):
+ """
+ Tests whether we can create a build from a source package
+ """
+ path = self.source_path("tests/data/beep-1.3-2.ip3.src.pfm")
+
+ # Create the build
+ with self.db.transaction():
+ build = await self._create_build(path)
+
+ # Check if any jobs have been created
+ self.assertTrue(build.jobs)
+
+ # Check if a job for each architecture has been generated
+ self.assertEqual([j.arch for j in build.jobs], self.distro.arches)
+
async def test_create_from_binary(self):
"""
Tests whether we can create a build from a binary package
from pakfire._pakfire import Archive
from buildservice import Backend
+from buildservice import builds
from buildservice import database
from buildservice import misc
from buildservice import packages
self.assertIsInstance(package, packages.Package)
return package
+
+ async def _create_build(self, path, repo=None, owner=None):
+ """
+ Helper function to import a build from path
+ """
+ # Use the default repository if none set
+ if repo is None:
+ repo = self.repo
+
+ # Import the package first
+ package = await self._create_package(path)
+
+ # Create the build
+ build = self.backend.builds.create(repo, package, owner=owner)
+
+ # Check if we received the correct type
+ self.assertIsInstance(build, builds.Build)
+
+ return build