Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    def test_str(self):
        class Eggs(object):
            pass

        x = pyamf.ClassAlias(Eggs, 'org.example.eggs.Eggs')

        self.assertEquals(str(x), 'org.example.eggs.Eggs')
Beispiel #4
0
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
Beispiel #5
0
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')
Beispiel #7
0
    def setUp(self):
        ClassCacheClearingTestCase.setUp(self)

        self.alias = pyamf.ClassAlias(Spam, defer=True)
Beispiel #8
0
    def test_createInstance(self):
        x = pyamf.ClassAlias(Spam, 'org.example.spam.Spam')

        y = x.createInstance()

        self.assertTrue(isinstance(y, Spam))