def test_register_fail(): with fsr.handler_context({'syn-mod': SynHandlerMod}): # shouldn't raise, it is a no-op as it is regiristering # the same class with the same name fsr.register_handler('syn-mod', SynHandlerMod) # should raise as it is trying to change the registered class assert_raises(RuntimeError, fsr.register_handler, 'syn-mod', SynHandlerEcho)
def test_overwrite_global(): mock_base = dict(spec='syn-mod', resource_path='', resource_kwargs={'shape': (5, 7)}) res = fsc.insert_resource(**mock_base) cache_key = (str(res.id), SynHandlerMod.__name__) with fsr.handler_context({'syn-mod': SynHandlerMod}): fsr.get_spec_handler(res.id) assert_in(cache_key, fsr._HANDLER_CACHE) fsr.register_handler('syn-mod', SynHandlerEcho, overwrite=True) assert_not_in(cache_key, fsr._HANDLER_CACHE)
def test_deregister(): test_spec_name = str(uuid.uuid4()) fsr.register_handler(test_spec_name, SynHandlerMod) assert_true(fsr._h_registry[test_spec_name] is SynHandlerMod) fsr.deregister_handler(test_spec_name) assert_false(test_spec_name in fsr._h_registry)