def test_encode(self): self.buf = self.encoder.stream x = amf0.RecordSet(columns=['a', 'b', 'c'], items=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]) self.assertEncoded(x, self.blob)
def test_repr(self): x = amf0.RecordSet(columns=['spam'], items=[['eggs']], service={'name': 'baz'}, id='asdfasdf') self.assertEqual( repr(x), "<pyamf.amf0.RecordSet id=asdfasdf " "service={'name': 'baz'} at 0x%x>" % (id(x), ))
def test_create(self): x = amf0.RecordSet() self.assertEqual(x.columns, []) self.assertEqual(x.items, []) self.assertEqual(x.service, None) self.assertEqual(x.id, None) x = amf0.RecordSet(columns=['spam', 'eggs'], items=[[1, 2]]) self.assertEqual(x.columns, ['spam', 'eggs']) self.assertEqual(x.items, [[1, 2]]) self.assertEqual(x.service, None) self.assertEqual(x.id, None) x = amf0.RecordSet(service={}, id=54) self.assertEqual(x.columns, []) self.assertEqual(x.items, []) self.assertEqual(x.service, {}) self.assertEqual(x.id, 54)
def as_recordset(result): keys = None if hasattr(result, 'keys'): keys = result.keys() elif hasattr(result, '_ResultProxy__keys'): keys = result._ResultProxy__keys if keys is None: raise AttributeError('Unknown keys for result') return amf0.RecordSet(keys, [list(x) for x in result])
def test_encode(self): stream = util.BufferedByteStream() encoder = pyamf._get_encoder_class(pyamf.AMF0)(stream) x = amf0.RecordSet(columns=['a', 'b', 'c'], items=[ [1, 2, 3], [4, 5, 6], [7, 8, 9]]) encoder.writeElement(x) stream.write('\x10\x00\tRecordSet\x00\nserverInfo\x03\x00\x06cursor' '\x00?\xf0\x00\x00\x00\x00\x00\x00\x00\x0bcolumnNames\n\x00\x00' '\x00\x03\x02\x00\x01a\x02\x00\x01b\x02\x00\x01c\x00\x0binitial' 'Data\n\x00\x00\x00\x03\n\x00\x00\x00\x03\x00?\xf0\x00\x00\x00' '\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00@\x08\x00\x00' '\x00\x00\x00\x00\n\x00\x00\x00\x03\x00@\x10\x00\x00\x00\x00\x00' '\x00\x00@\x14\x00\x00\x00\x00\x00\x00\x00@\x18\x00\x00\x00\x00' '\x00\x00\n\x00\x00\x00\x03\x00@\x1c\x00\x00\x00\x00\x00\x00\x00' '@ \x00\x00\x00\x00\x00\x00\x00@"\x00\x00\x00\x00\x00\x00\x00\x07' 'version\x00?\xf0\x00\x00\x00\x00\x00\x00\x00\ntotalCount\x00@' '\x08\x00\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\t')
def test_server_info(self): # empty recordset x = amf0.RecordSet() si = x.serverInfo self.assertTrue(isinstance(si, dict)) self.assertEqual(si.cursor, 1) self.assertEqual(si.version, 1) self.assertEqual(si.columnNames, []) self.assertEqual(si.initialData, []) self.assertEqual(si.totalCount, 0) try: si.serviceName except AttributeError: pass try: si.id except AttributeError: pass # basic create x = amf0.RecordSet(columns=['a', 'b', 'c'], items=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]) si = x.serverInfo self.assertTrue(isinstance(si, dict)) self.assertEqual(si.cursor, 1) self.assertEqual(si.version, 1) self.assertEqual(si.columnNames, ['a', 'b', 'c']) self.assertEqual(si.initialData, [[1, 2, 3], [4, 5, 6], [7, 8, 9]]) self.assertEqual(si.totalCount, 3) try: si.serviceName except AttributeError: pass try: si.id except AttributeError: pass # with service & id service = {'name': 'baz'} x = amf0.RecordSet(columns=['spam'], items=[['eggs']], service=service, id='asdfasdf') si = x.serverInfo self.assertTrue(isinstance(si, dict)) self.assertEqual(si.cursor, 1) self.assertEqual(si.version, 1) self.assertEqual(si.columnNames, ['spam']) self.assertEqual(si.initialData, [['eggs']]) self.assertEqual(si.totalCount, 1) self.assertEqual(si.serviceName, 'baz') self.assertEqual(si.id, 'asdfasdf')