test/api: add build root integration check
Add a new test that checks the integration of API end points with the `BuildRoot`.
This commit is contained in:
parent
c236039e0d
commit
6f8b850ef2
1 changed files with 28 additions and 0 deletions
|
|
@ -2,11 +2,15 @@
|
|||
# Test for API infrastructure
|
||||
#
|
||||
|
||||
import pathlib
|
||||
import os
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
import osbuild
|
||||
from osbuild.buildroot import BuildRoot
|
||||
from osbuild.monitor import NullMonitor
|
||||
from osbuild.util import jsoncomm
|
||||
|
||||
|
||||
|
|
@ -65,3 +69,27 @@ class TestAPI(unittest.TestCase):
|
|||
with self.assertRaises(AssertionError):
|
||||
with api:
|
||||
pass
|
||||
|
||||
def test_buildroot(self):
|
||||
# Check API and BuildRoot integration: the runner will call
|
||||
# api.setup_stdio and thus check that connecting to the api
|
||||
# works correctly
|
||||
runner = "org.osbuild.linux"
|
||||
libdir = os.path.abspath(os.curdir)
|
||||
var = pathlib.Path(self.tmp.name, "var")
|
||||
var.mkdir()
|
||||
|
||||
monitor = NullMonitor(sys.stderr.fileno())
|
||||
with BuildRoot("/", runner, libdir=libdir, var=var) as root:
|
||||
api = osbuild.api.API({}, monitor)
|
||||
root.register_api(api)
|
||||
|
||||
r = root.run(["/usr/bin/true"])
|
||||
self.assertEqual(r.returncode, 0)
|
||||
|
||||
# Test we can use `.run` multiple times
|
||||
r = root.run(["/usr/bin/true"])
|
||||
self.assertEqual(r.returncode, 0)
|
||||
|
||||
r = root.run(["/usr/bin/false"])
|
||||
self.assertNotEqual(r.returncode, 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue