def test_load_protocols_fails_on_repeated_protocol(self): register_protocols('mock')(MockCabinet) protocols = {} cabinets.plugins.load_to_cache(MockCabinet, protocols, cabinets.Cabinet) with self.assertRaises(cabinets.plugins.CabinetsPluginError): cabinets.plugins.load_to_cache(MockCabinet, protocols, cabinets.Cabinet)
def test_load_protocols(self): register_protocols('mock')(MockCabinet) protocols = {} cabinets.plugins.load_to_cache(MockCabinet, protocols, cabinets.Cabinet) self.assertDictEqual(protocols, {'mock': MockCabinet})
def test_register_protocols_fails_on_attempt_to_register_instance(self): with self.assertRaises(CabinetError) as err: register_protocols('mock')(42) self.assertIn('must be a class', str(err.exception))
def test_register_protocols_fails_on_parser_subclass_check(self): with self.assertRaises(CabinetError) as err: register_protocols('mock')(MockParser) self.assertIn('not a subclass', str(err.exception))
def test_register_protocols_fails_on_double_register(self): with self.assertRaises(CabinetError): _ = register_protocols('mock')(MockCabinet) _ = register_protocols('mock')(MockCabinet)
def test_register_protocols_succeeds(self): cls = register_protocols('mock')(MockCabinet) self.assertIs(cls, MockCabinet) self.assertIn('mock', MockCabinet._protocols)