diff options
| author | Lucendio <github+dev@lucendio.com> | 2021-10-25 21:31:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-25 14:31:07 -0500 |
| commit | a4236c375ddf78258a8f9252c1d79c665aa4f88b (patch) | |
| tree | a092882639d27965c2fe6fd7d3faa232c37f5d22 /tests/unittests/test_handler/test_handler_write_files.py | |
| parent | 81f6aa1653936e324bba69e51439aa8894aaf170 (diff) | |
| download | vyos-cloud-init-a4236c375ddf78258a8f9252c1d79c665aa4f88b.tar.gz vyos-cloud-init-a4236c375ddf78258a8f9252c1d79c665aa4f88b.zip | |
Add module 'write-files-deferred' executed in stage 'final' (#916)
The main idea is to introduce a second module that takes care of
writing files, but in the 'final' stage.
While the introduction of a second module would allow for choosing
the appropriate place withing the order of modules (and stages),
there is no addition top-level directive being added to the cloud
configuration schema. Instead, 'write-files' schema is being extended
to include a 'defer' attribute used only by the 'write-deffered-files'
modules.
The new module 'write-deferred-files' reuses as much as
possible of the 'write-files' functionality.
Diffstat (limited to 'tests/unittests/test_handler/test_handler_write_files.py')
| -rw-r--r-- | tests/unittests/test_handler/test_handler_write_files.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/unittests/test_handler/test_handler_write_files.py b/tests/unittests/test_handler/test_handler_write_files.py index 727681d3..0af92805 100644 --- a/tests/unittests/test_handler/test_handler_write_files.py +++ b/tests/unittests/test_handler/test_handler_write_files.py @@ -189,6 +189,19 @@ class TestWriteFiles(FilesystemMockingTestCase): len(gz_aliases + gz_b64_aliases + b64_aliases) * len(datum)) self.assertEqual(len(expected), flen_expected) + def test_deferred(self): + self.patchUtils(self.tmp) + file_path = '/tmp/deferred.file' + config = { + 'write_files': [ + {'path': file_path, 'defer': True} + ] + } + cc = self.tmp_cloud('ubuntu') + handle('cc_write_file', config, cc, LOG, []) + with self.assertRaises(FileNotFoundError): + util.load_file(file_path) + class TestDecodePerms(CiTestCase): |
