# # Runtime Tests for No-op Pipelines # import json import unittest import tempfile from .. import test NOOP_V2 = { "version": "2", "pipelines": [ { "name": "noop", "stages": [ { "type": "org.osbuild.noop", "options": {"zero": 0}, "inputs": { "tree": { "type": "org.osbuild.noop", "origin": "org.osbuild.pipeline", "references": { "foo": {} } } } } ] } ] } class TestNoop(unittest.TestCase): def setUp(self): self.osbuild = test.OSBuild(self) def test_noop(self): # # Run a noop Pipeline. Run twice to verify the cache does not affect # the operation (we do not have checkpoints, nor any stages that could # be checkpointed). # # Then run the entire thing again, to verify our own `osbuild` executor # tears things down properly and allows to be executed multiple times. # with self.osbuild as osb: osb.compile("{}") osb.compile("{}") with self.osbuild as osb: osb.compile("{}") osb.compile("{}") def test_noop_v2(self): with tempfile.TemporaryDirectory() as tmp: with self.osbuild as osb: osb.compile(json.dumps(NOOP_V2), output_dir=tmp)