Coverage for test/unit/assets/test_json_assets.py: 95%
22 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
1"""Testing all json assets for integrity
2"""
4import os
5import tempfile
6import unittest
7from pathlib import Path
9import bim2sim
10from bim2sim.utilities.common_functions import validateJSON
13class TestJSONAssets(unittest.TestCase):
15 @classmethod
16 def setUpClass(cls):
17 cls.root = tempfile.TemporaryDirectory(prefix='bim2sim_')
18 os.mkdir(os.path.join(cls.root.name, 'templates'))
20 @classmethod
21 def tearDownClass(cls):
22 # Decision.reset_decisions()
23 cls.root.cleanup()
25 def test_json_assets(self):
26 assets_path = Path(bim2sim.__file__).parent / 'assets/'
27 json_gen = assets_path.rglob('*.json')
28 invalids = []
29 for json_file_path in json_gen:
30 if not validateJSON(json_file_path):
31 invalids.append(json_file_path)
32 self.assertEqual(
33 len(invalids), 0, 'Invalid JSON files found: {}'.format(
34 invalids))