def test_save_basic_export_to_blobdb(self): export = ExportInstance(daily_saved_export=True, domain="test") export.save() export.set_payload("content") self.assertTrue(export.has_file()) self.assertIn(DAILY_SAVED_EXPORT_ATTACHMENT_NAME, export.external_blobs) self.assertEqual(export.file_size, 7) with export.get_payload(stream=True) as fh: self.assertEqual(fh.read(), b"content")
def test_column_label_containing_at_sign(self): export_with_column_containing_at_sign = ExportInstance( is_odata_config=True, tables=[ TableConfiguration(columns=[ ExportColumn( label='@label', item=ExportItem(path=[PathNode(name='val')]), selected=True, ) ]) ]) export_with_column_containing_at_sign.save() self.addCleanup(export_with_column_containing_at_sign.delete) cleaned_export = ExportInstance.get( export_with_column_containing_at_sign.get_id) self.assertEqual(cleaned_export.tables[0].columns[0].label, 'label')
def test_row_number_column_is_removed(self): export_with_row_number_column = ExportInstance( is_odata_config=True, tables=[ TableConfiguration(columns=[ RowNumberColumn(label='row-number', ), ExportColumn( label='label', item=ExportItem(path=[PathNode(name='val')]), selected=True, ) ]) ]) export_with_row_number_column.save() self.addCleanup(export_with_row_number_column.delete) cleaned_export = ExportInstance.get( export_with_row_number_column.get_id) tables = cleaned_export.tables self.assertEqual(len(tables), 1) columns = tables[0].columns self.assertEqual(len(columns), 1) self.assertFalse(isinstance(columns[0], RowNumberColumn)) self.assertEqual(columns[0].label, 'label')
def test_file_save_and_load(self): payload = 'something small and simple' export = ExportInstance(daily_saved_export=True, domain="test") export.save() export.set_payload(payload) self.assertEqual(payload, export.get_payload())