def test_detach_2_repack(self): tiles = self.test_place_multiple() detach_tile(tiles[0]) repack(tiles[0].owner_id, tiles[0].dashboard_id) detach_tile(tiles[1]) repack(tiles[0].owner_id, tiles[0].dashboard_id) del tiles[0] del tiles[0] layout = Layout.select(tiles[0].owner_id, tiles[0].dashboard_id) self.assertDictEqual( self.ld_from_vos( tiles, { u'width': 4, u'height': 4, u'x': 0, u'y': 0 }, { u'width': 5, u'height': 1, u'x': 0, u'y': 4 }, { u'width': 4, u'height': 4, u'x': 4, u'y': 0 }, ), layout.layout_dict)
def test_repack_performance(self): rd = ReportData('r') tile_config = { 'tags': ['p1:1'], 'series_spec_list': [ dataseries.SeriesSpec(0, -1, dict(op='eq', args=['0'])), ], 'tile_options': { 'tpcreator_uispec': [{ 'tag': 'p1:1', 'prefix': 'p1:' }], } } tile = Tile.insert(rd.owner_id, rd.report_id, rd.dashboard_id, tile_config) place_tile(tile) start = time() for i in range(1, 201): rd.report.process_input('1', tags=['p1:%s' % i]) print 'Tiles created in %.1f' % ((time() - start) * 1000) start = time() layouts.repack(rd.owner_id, rd.dashboard_id) print 'Single repack in %.1f' % ((time() - start) * 1000)