def _load_v1_module_def(module_model: ModuleModel) -> 'ModuleDefinitionV1': v1names = { MagneticModuleModel.MAGNETIC_V1: 'magdeck', TemperatureModuleModel.TEMPERATURE_V1: 'tempdeck', ThermocyclerModuleModel.THERMOCYCLER_V1: 'thermocycler' } try: name = v1names[module_model] except KeyError: raise NoSuchModuleError(f'Could not find module {module_model.value}', module_model) return module.load_definition('1', name)
def _load_v2_module_def(module_model: ModuleModel) -> 'ModuleDefinitionV2': try: return module.load_definition('2', module_model.value) except module.ModuleNotFoundError: raise NoSuchModuleError( f'Could not find the module {module_model.value}.', module_model)
def test_bad_module_name_throws(): with pytest.raises(ModuleNotFoundError): load_definition('1', 'alsjdag') with pytest.raises(ModuleNotFoundError): load_definition('2', 'asdasda')
def test_load_v1_defs(defname): assert load_definition('1', defname)\ == json.loads(load_shared_data(f'module/definitions/1.json'))[defname]
def test_load_v2_defs(defname): assert load_definition('2', defname)\ == json.loads(load_shared_data(f'module/definitions/2/{defname}.json'))
def test_v1_definitions_match_types(defname): defdict = module.load_definition('1', defname) typeguard.check_type('defdict', defdict, dev_types.ModuleDefinitionV1)