Beispiel #1
0
    def test_schema_validation_warns_invalid_value(
        self, m_write_files_deferred
    ):
        """If 'defer' is defined, it must be of type 'bool'."""

        valid_config = {
            "write_files": [
                {**VALID_SCHEMA.get("write_files")[0], "defer": True}
            ]
        }

        invalid_config = {
            "write_files": [
                {**VALID_SCHEMA.get("write_files")[0], "defer": str("no")}
            ]
        }

        cc = self.tmp_cloud("ubuntu")
        handle("cc_write_files_deferred", valid_config, cc, LOG, [])
        self.assertNotIn(
            "Invalid cloud-config provided:", self.logs.getvalue()
        )
        handle("cc_write_files_deferred", invalid_config, cc, LOG, [])
        self.assertIn("Invalid cloud-config provided:", self.logs.getvalue())
        self.assertIn(
            "defer: 'no' is not of type 'boolean'", self.logs.getvalue()
        )
Beispiel #2
0
 def test_filtering_deferred_files(self):
     self.patchUtils(self.tmp)
     expected = "hello world\n"
     config = {
         "write_files": [
             {
                 "path": "/tmp/deferred.file",
                 "defer": True,
                 "content": expected,
             },
             {"path": "/tmp/not_deferred.file"},
         ]
     }
     cc = self.tmp_cloud("ubuntu")
     handle("cc_write_files_deferred", config, cc, LOG, [])
     self.assertEqual(util.load_file("/tmp/deferred.file"), expected)
     with self.assertRaises(FileNotFoundError):
         util.load_file("/tmp/not_deferred.file")
 def test_filtering_deferred_files(self):
     self.patchUtils(self.tmp)
     expected = "hello world\n"
     config = {
         'write_files': [
             {
                 'path': '/tmp/deferred.file',
                 'defer': True,
                 'content': expected
             },
             {'path': '/tmp/not_deferred.file'}
         ]
     }
     cc = self.tmp_cloud('ubuntu')
     handle('cc_write_files_deferred', config, cc, LOG, [])
     self.assertEqual(util.load_file('/tmp/deferred.file'), expected)
     with self.assertRaises(FileNotFoundError):
         util.load_file('/tmp/not_deferred.file')
    def test_schema_validation_warns_invalid_value(self,
                                                   m_write_files_deferred):
        """If 'defer' is defined, it must be of type 'bool'."""

        valid_config = {
            'write_files': [
                {**VALID_SCHEMA.get('write_files')[0], 'defer': True}
            ]
        }

        invalid_config = {
            'write_files': [
                {**VALID_SCHEMA.get('write_files')[0], 'defer': str('no')}
            ]
        }

        cc = self.tmp_cloud('ubuntu')
        handle('cc_write_files_deferred', valid_config, cc, LOG, [])
        self.assertNotIn('Invalid config:', self.logs.getvalue())
        handle('cc_write_files_deferred', invalid_config, cc, LOG, [])
        self.assertIn('Invalid config:', self.logs.getvalue())
        self.assertIn("defer: 'no' is not of type 'boolean'",
                      self.logs.getvalue())