def test_save(self): s = sol.SOL('hello') s.update({'name': 'value', 'spam': 'eggs'}) x = StringIO() s.save(x) self.assertTrue(check_buffer(x.getvalue(), HelperTestCase.contents)) x = tempfile.mkstemp()[1] try: fp = open(x, 'wb+') self.assertEqual(fp.closed, False) s.save(fp) self.assertNotEquals(fp.tell(), 0) fp.seek(0) self.assertTrue(check_buffer(fp.read(), HelperTestCase.contents)) self.assertEqual(fp.closed, False) self.assertTrue( check_buffer(open(x, 'rb').read(), HelperTestCase.contents) ) except: if os.path.isfile(x): os.unlink(x) raise
def test_save(self): s = sol.SOL("hello") s.update({"name": "value", "spam": "eggs"}) x = StringIO() s.save(x) self.assertTrue(check_buffer(x.getvalue(), HelperTestCase.contents)) x = tempfile.mkstemp()[1] try: fp = open(x, "wb+") self.assertEqual(fp.closed, False) s.save(fp) self.assertNotEquals(fp.tell(), 0) fp.seek(0) self.assertTrue(check_buffer(fp.read(), HelperTestCase.contents)) self.assertEqual(fp.closed, False) self.assertTrue(check_buffer(open(x, "rb").read(), HelperTestCase.contents)) except: if os.path.isfile(x): os.unlink(x) raise
def test_deep(self): class A(object): class __amf__: static = ('a') class B(A): class __amf__: static = ('b') class C(B): class __amf__: static = ('c') pyamf.register_class(A, 'A') pyamf.register_class(B, 'B') pyamf.register_class(C, 'C') x = C() x.a = 'spam' x.b = 'eggs' x.c = 'foo' stream = util.BufferedByteStream() encoder = pyamf._get_encoder_class(pyamf.AMF0)(stream) encoder.writeElement(x) self.assertTrue(check_buffer(stream.getvalue(), ('\x10\x00\x01C', ( '\x00\x01a\x02\x00\x04spam', '\x00\x01c\x02\x00\x03foo', '\x00\x01b\x02\x00\x04eggs' ), '\x00\x00\t')))
def test_amf3_encode(self): x = sets.ImmutableSet(["1", "2", "3"]) self.assertTrue( check_buffer( pyamf.encode(x, encoding=pyamf.AMF3).getvalue(), ("\t\x07\x01", ("\x06\x031", "\x06\x033", "\x06\x032")) ) )
def test_amf0_encode(self): x = sets.ImmutableSet(["1", "2", "3"]) self.assertTrue( check_buffer( pyamf.encode(x, encoding=pyamf.AMF0).getvalue(), ("\n\x00\x00\x00\x03", ("\x02\x00\x011", "\x02\x00\x013", "\x02\x00\x012")), ) )
def test_use_amf3(self): self.encoder.use_amf3 = True x = {'foo': 'bar', 'baz': 'gak'} self.encoder.writeElement(x) self.assertTrue(check_buffer(self.buf.getvalue(), ('\x11\n\x0b', ( '\x01\x07foo\x06\x07bar', '\x07baz\x06\x07gak\x01' ))))
def test_amf3_encode(self): x = sets.ImmutableSet(['1', '2', '3']) self.assertTrue(check_buffer( pyamf.encode(x, encoding=pyamf.AMF3).getvalue(), ( '\t\x07\x01', ( '\x06\x031', '\x06\x033', '\x06\x032' )) ))
def test_amf0_encode(self): x = sets.ImmutableSet(['1', '2', '3']) self.assertTrue(check_buffer( pyamf.encode(x, encoding=pyamf.AMF0).getvalue(), ( '\n\x00\x00\x00\x03', ( '\x02\x00\x011', '\x02\x00\x013', '\x02\x00\x012' )) ))
def test_encode(self): stream = util.BufferedByteStream() encoder = amf3.Encoder(stream) x = flex.ObjectProxy(pyamf.MixedArray(a='spam', b=5)) encoder.writeElement(x) self.assertTrue(check_buffer(stream.getvalue(), ( '\n\x07;flex.messaging.io.ObjectProxy\t\x01', ('\x03a\x06\x09spam', '\x03b\x04\x05'), '\x01')))
def test_save_file(self): fp = open(self.file_name, 'wb+') s = sol.SOL('hello') s.update({'name': 'value', 'spam': 'eggs'}) sol.save(s, fp) fp.seek(0) self.assertFalse(fp.closed) self.assertTrue(check_buffer(fp.read(), self.contents)) fp.close()
def test_save_name(self): s = sol.SOL('hello') s.update({'name': 'value', 'spam': 'eggs'}) sol.save(s, self.file_name) fp = open(self.file_name, 'rb') try: self.assertTrue(check_buffer(fp.read(), self.contents)) finally: fp.close()
def test_amf3(self): bytes = ('\x00\xbf\x00\x00\x00aTCSO\x00\x04\x00\x00\x00\x00\x00\x08' + \ 'EchoTest\x00\x00\x00\x03', ( '\x0fhttpUri\x06=http://localhost:8000/gateway/\x00', '\x0frtmpUri\x06+rtmp://localhost/echo\x00' ) ) stream = sol.encode(u'EchoTest', {u'httpUri': u'http://localhost:8000/gateway/', u'rtmpUri': u'rtmp://localhost/echo'}, encoding=pyamf.AMF3) self.assertTrue(check_buffer(stream.getvalue(), bytes))
def test_save_file(self): fp = open(self.file_name, "wb+") s = sol.SOL("hello") s.update({"name": "value", "spam": "eggs"}) sol.save(s, fp) fp.seek(0) self.assertFalse(fp.closed) self.assertTrue(check_buffer(fp.read(), self.contents)) fp.close()
def test_save_name(self): s = sol.SOL("hello") s.update({"name": "value", "spam": "eggs"}) sol.save(s, self.file_name) fp = open(self.file_name, "rb") try: self.assertTrue(check_buffer(fp.read(), self.contents)) finally: fp.close()
def test_save(self): s = sol.SOL('hello') s.update({'name': 'value', 'spam': 'eggs'}) x = tempfile.mkstemp()[1] try: s.save(x) self.assertTrue( check_buffer(open(x, 'rb').read(), HelperTestCase.contents)) except: if os.path.isfile(x): os.unlink(x) raise x = tempfile.mkstemp()[1] try: fp = open(x, 'wb+') self.assertEquals(fp.closed, False) s.save(fp) self.assertNotEquals(fp.tell(), 0) fp.seek(0) self.assertTrue(check_buffer(fp.read(), HelperTestCase.contents)) self.assertEquals(fp.closed, False) self.assertTrue( check_buffer(open(x, 'rb').read(), HelperTestCase.contents)) except: if os.path.isfile(x): os.unlink(x) raise
def test_amf3(self): bytes = ( "\x00\xbf\x00\x00\x00aTCSO\x00\x04\x00\x00\x00\x00\x00\x08" + "EchoTest\x00\x00\x00\x03", ("\x0fhttpUri\x06=http://localhost:8000/gateway/\x00", "\x0frtmpUri\x06+rtmp://localhost/echo\x00"), ) stream = sol.encode( u"EchoTest", {u"httpUri": u"http://localhost:8000/gateway/", u"rtmpUri": u"rtmp://localhost/echo"}, encoding=pyamf.AMF3, ) self.assertTrue(check_buffer(stream.getvalue(), bytes))
def test_amf3(self): bytes = ('\x00\xbf\x00\x00\x00aTCSO\x00\x04\x00\x00\x00\x00\x00\x08' 'EchoTest\x00\x00\x00\x03', ('\x0fhttpUri\x06=http://localhost:8000/gateway/\x00', '\x0frtmpUri\x06+rtmp://localhost/echo\x00')) stream = sol.encode(u'EchoTest', { u'httpUri': u'http://localhost:8000/gateway/', u'rtmpUri': u'rtmp://localhost/echo' }, encoding=pyamf.AMF3) self.assertTrue(check_buffer(stream.getvalue(), bytes))
def test_old_style_classes(self): class Person: pass pyamf.register_class(Person, 'spam.eggs.Person') u = Person() u.family_name = 'Doe' u.given_name = 'Jane' self.encoder.writeElement(u) self.assertTrue( check_buffer(self.buf.getvalue(), ('\x10\x00\x10spam.eggs.Person', ('\x00\x0bfamily_name\x02\x00\x03Doe', '\x00\ngiven_name\x02\x00\x04Jane'), '\x00\x00\t')))
def test_elementtree_tag(self): class NotAnElement(object): items = lambda self: [] def __iter__(self): return iter([]) foo = NotAnElement() foo.tag = 'foo' foo.text = 'bar' foo.tail = None self.encoder.writeElement(foo) self.assertTrue(check_buffer(self.buf.getvalue(), ('\x03', ( '\x00\x04text\x02\x00\x03bar', '\x00\x04tail\x05', '\x00\x03tag\x02\x00\x03foo', ), '\x00\x00\t')))
def test_old_style_classes(self): class Person: pass pyamf.register_class(Person, 'spam.eggs.Person') u = Person() u.family_name = 'Doe' u.given_name = 'Jane' self.encoder.writeElement(u) self.assertTrue(check_buffer( self.buf.getvalue(), ( '\x10\x00\x10spam.eggs.Person', ( '\x00\x0bfamily_name\x02\x00\x03Doe', '\x00\ngiven_name\x02\x00\x04Jane' ), '\x00\x00\t' ) ))
def test_simple(self): class A(object): pass pyamf.register_class(A, 'A', attrs=['a']) class B(A): pass pyamf.register_class(B, 'B', attrs=['b']) x = B() x.a = 'spam' x.b = 'eggs' stream = util.BufferedByteStream() encoder = pyamf._get_encoder_class(pyamf.AMF0)(stream) encoder.writeElement(x) self.assertTrue(check_buffer(stream.getvalue(), ('\x10\x00\x01B', ( '\x00\x01a\x02\x00\x04spam', '\x00\x01b\x02\x00\x04eggs' ), '\x00\x00\t')))
def test_multiple_values(self): stream = sol.encode("hello", {"name": "value", "spam": "eggs"}) self.assertTrue(check_buffer(stream.getvalue(), HelperTestCase.contents))
def test_multiple_values(self): stream = sol.encode('hello', {'name': 'value', 'spam': 'eggs'}) self.assertTrue(check_buffer(stream.getvalue(), HelperTestCase.contents))
def test_multiple_values(self): stream = sol.encode('hello', {'name': 'value', 'spam': 'eggs'}) self.assertTrue( check_buffer(stream.getvalue(), HelperTestCase.contents) )