def test_init(self): x = pyamf.ClassAlias(Spam, 'org.example.spam.Spam') self.assertEquals(x.klass, Spam) self.assertEquals(x.alias, 'org.example.spam.Spam') self.assertEquals(x.attrs, None) self.assertEquals(x.metadata, []) self.assertEquals(x.attr_func, None) x = pyamf.ClassAlias(Spam, 'org.example.spam.Spam', attrs=['spam', 'eggs'], metadata=['static']) self.assertEquals(x.klass, Spam) self.assertEquals(x.alias, 'org.example.spam.Spam') self.assertEquals(x.attrs, ['spam', 'eggs']) self.assertEquals(x.metadata, ['static']) self.assertEquals(x.attr_func, None) x = pyamf.ClassAlias(Spam, 'org.example.foo.Spam', attrs=['spam', 'eggs'], attr_func=ord, metadata=['dynamic']) self.assertEquals(x.klass, Spam) self.assertEquals(x.alias, 'org.example.foo.Spam') self.assertEquals(x.attrs, ['spam', 'eggs']) self.assertEquals(x.metadata, ['dynamic']) self.assertEquals(x.attr_func, ord)
def test_eq(self): class A(object): pass class B(object): pass x = pyamf.ClassAlias(A, 'org.example.A') y = pyamf.ClassAlias(A, 'org.example.A') z = pyamf.ClassAlias(B, 'org.example.B') self.assertEquals(x, A) self.assertEquals(x, y) self.assertNotEquals(x, z)
def test_str(self): class Eggs(object): pass x = pyamf.ClassAlias(Eggs, 'org.example.eggs.Eggs') self.assertEquals(str(x), 'org.example.eggs.Eggs')
def writeObjectAMF0(self, obj, *args, **kwargs): alias = self.context.getClassAlias(obj.__class__) remove = False if alias is None: remove = True self.context.class_aliases[obj.__class__] = pyamf.ClassAlias(obj.__class__, None) self.writeObject(obj, *args, **kwargs) if remove: self.context.class_aliases[obj.__class__] = None
def writeObjectAMF3(self, obj, *args, **kwargs): try: self.context.getClassDefinitionReference(obj) except pyamf.ReferenceError: alias = self.context.getClassAlias(obj.__class__) class_def = None remove = False if alias is None: remove = True alias = pyamf.ClassAlias(obj.__class__, None) self.context.class_aliases[obj.__class__] = alias self.writeObject(obj, *args, **kwargs) if remove: self.context.class_aliases[obj.__class__] = None
def class_loader(x): self.assertEqual(x, 'spam.eggs') return pyamf.ClassAlias(Spam, 'spam.eggs')
def setUp(self): ClassCacheClearingTestCase.setUp(self) self.alias = pyamf.ClassAlias(Spam, defer=True)
def test_createInstance(self): x = pyamf.ClassAlias(Spam, 'org.example.spam.Spam') y = x.createInstance() self.assertTrue(isinstance(y, Spam))