def test_copy(self): """ Tests the configuration copy """ # Basic configuration config1 = Config() self.compare_config(config1, config1.copy()) # Custom values config1.version = 1.0 config1.content_type = "text/plain" config1.user_agent = "test_agent" config1.serialize_method = "_new_method" config1.ignore_attribute = "_new_method" self.compare_config(config1, config1.copy()) # Handlers def handler(obj, serialize_method, ignore_attribute, ignore, config): pass config1.serialize_handlers[int] = handler self.compare_config(config1, config1.copy()) # Local classes class A: pass class B: pass config1.classes.add(A) config1.classes.add(B, "like_B") self.assertIs(config1.classes["A"], A) self.assertIs(config1.classes["like_B"], B) self.assertNotIn("B", config1.classes) self.compare_config(config1, config1.copy())