forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # This Source Code Form is subject to the terms of the Mozilla Public
 | |
| # License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | |
| 
 | |
| import os
 | |
| 
 | |
| import pytest
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def base_schema():
 | |
|     def inner():
 | |
|         return {
 | |
|             "namespace": "testAPIName",
 | |
|             "permissions": [],
 | |
|             "types": [],
 | |
|             "functions": [],
 | |
|             "events": [],
 | |
|         }
 | |
| 
 | |
|     return inner
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def write_jsonschema_fixtures(tmpdir):
 | |
|     """Write test schema data into per-testcase (in tmpdir or the given directory)"""
 | |
| 
 | |
|     def inner(jsonschema_fixtures, targetdir=None):
 | |
|         assert jsonschema_fixtures
 | |
|         if targetdir is None:
 | |
|             targetdir = tmpdir
 | |
|         for filename, filecontent in jsonschema_fixtures.items():
 | |
|             assert isinstance(filename, str) and filename
 | |
|             assert isinstance(filecontent, str) and filecontent
 | |
|             with open(os.path.join(targetdir, filename), "w") as jsonfile:
 | |
|                 jsonfile.write(filecontent)
 | |
|         return targetdir
 | |
| 
 | |
|     return inner
 | 
