def test_import_export_with_childs(self): from pyinstruments import CurveDB c = CurveDB() s = pandas.Series([1,2,1]) c.set_data(s) c.name = 'to_be_exported' c.save() c2 = CurveDB() s2 = pandas.Series([1,3,1]) c2.set_data(s2) c2.name = 'to_be_exported_child' c2.move(c) queryset = CurveDB.objects.filter(id__in=[c.id, c2.id]) from pyinstruments.curvestore.export import export_zip, import_zip export_zip(queryset, osp.dirname(__file__) + '/tests/temp_files/' +\ 'test_export1.zip') c.delete() import_zip(osp.dirname(__file__) + '/tests/temp_files/' + \ 'test_export1.zip') q = CurveDB.objects.filter_param('name', value='to_be_exported_child') self.assertEqual(q.count(), 1) self.assertLess((q[0].data - s2).abs().max(), 0.001)
class TestImportExport(TestCurvestore): def test_import_export(self): from pyinstruments import CurveDB c = CurveDB() s = pandas.Series([1,2,1]) c.set_data(s) c.name = 'to_be_exported' c.save() queryset = CurveDB.objects.filter(id=c.id) from pyinstruments.curvestore.export import export_zip, import_zip export_zip(queryset, osp.dirname(__file__) + '/tests/temp_files/' + \ 'test_export1.zip') c.delete() import_zip(osp.dirname(__file__) + '/tests/temp_files/' +\ 'test_export1.zip') q = CurveDB.objects.filter_param('name',value='to_be_exported') self.assertEqual(q.count(), 1) self.assertLess((q[0].data - s).abs().max(), 0.001) def test_import_export_with_childs(self): from pyinstruments import CurveDB c = CurveDB() s = pandas.Series([1,2,1]) c.set_data(s) c.name = 'to_be_exported' c.save() c2 = CurveDB() s2 = pandas.Series([1,3,1]) c2.set_data(s2) c2.name = 'to_be_exported_child' c2.move(c) queryset = CurveDB.objects.filter(id__in=[c.id, c2.id]) from pyinstruments.curvestore.export import export_zip, import_zip export_zip(queryset, osp.dirname(__file__) + '/tests/temp_files/' +\ 'test_export1.zip') c.delete() import_zip(osp.dirname(__file__) + '/tests/temp_files/' + \ 'test_export1.zip') q = CurveDB.objects.filter_param('name', value='to_be_exported_child') self.assertEqual(q.count(), 1) self.assertLess((q[0].data - s2).abs().max(), 0.001) def test_backupreload(self): self.curve = CurveDB() self.curve.params['comment'] = 'bla bla bla' self.curve.params['Q'] = 1e6 self.curve.params['nice_curve'] = True self.curve.tags.append('new_tag') self.curve.set_data(pandas.Series([1,4,6])) self.curve.save() self.curve.tags.append('other_tag') self.curve.save() self.curve2 = CurveDB() self.curve2.set_data(pandas.Series([1,4,6])) self.curve2.tags.append('new_tag') self.curve2.params['Q'] = 5e6 self.curve2.save() self.curve2.move(self.curve) self.curve2 = CurveDB() self.curve2.set_data(pandas.Series([1,4,6])) self.curve2.tags.append('new_tag') self.curve2.params['Q'] = 5e6 self.curve2.save() self.curve2.move(self.curve) tags = self.curve.tags curveid = self.curve.id from pyinstruments.curvestore import export export.backup_database(osp.dirname(__file__) + '/tests/temp_files/' +\ 'test_backup_database.txt') CurveDB.objects.all().delete() Tag.objects.all().delete() print "Number of curves before reimport: ", CurveDB.objects.all().count() print "Number of tags: ", Tag.objects.all().count() export.reload_database(osp.dirname(__file__) + '/tests/temp_files/' + \ 'test_backup_database.txt') print "Number of curves after reimport: ", CurveDB.objects.all().count() print "Number of tags: ", Tag.objects.all().count() curve = CurveDB.objects.get(pk=curveid) self.assertEqual(curve.params["Q"], 1e6) self.assertEqual(curve.tags, tags)