def test_next_drill_down(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = ["date"] query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertNotRegexpMatches(s, r'date\.month') cell = self.full_cube.slice(cubes.PointCut(self.date_dim, [2010])) query = CubeQuery(cell, self.view) query.drilldown = ["date"] query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertRegexpMatches(s, r'date\.month') cell = self.full_cube.slice(cubes.PointCut(self.date_dim, [2010, 4])) query = CubeQuery(cell, self.view) query.drilldown = ["date"] self.assertRaisesRegexp(ValueError, "Unable to drill-down.*last level", query.prepare)
def test_explicit_drill_down_next_default(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = {"date": "year"} query.prepare() stmt = query.drilldown_statement s1 = str(stmt) query = CubeQuery(cell, self.view) query.drilldown = {"date": None} query.prepare() stmt = query.drilldown_statement s2 = str(stmt) self.assertEqual(s1, s2)
def test_explicit_drill_down_next_default(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = {"date": "year"} query.prepare() stmt = query.drilldown_statement s1 = str(stmt) query = CubeQuery(cell, self.view) query.drilldown = {"date": None} query.prepare() stmt = query.drilldown_statement s2 = str(stmt) self.assertEqual(s1, s2)
def test_explicit_drill_down(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = {"date": "year"} query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertNotRegexpMatches(s, r'date\.month') cell = cell.slice(cubes.PointCut("date", [2010])) query = CubeQuery(cell, self.view) query.drilldown = {"date": "month"} query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertRegexpMatches(s, r'date\.month')
def test_explicit_drill_down(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = {"date": "year"} query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertNotRegexpMatches(s, r'date\.month') cell = cell.slice(cubes.PointCut("date", [2010])) query = CubeQuery(cell, self.view) query.drilldown = {"date": "month"} query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertRegexpMatches(s, r'date\.month')
def test_next_drill_down(self): cell = self.full_cube query = CubeQuery(cell, self.view) query.drilldown = ["date"] query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertNotRegexpMatches(s, r'date\.month') cell = self.full_cube.slice(cubes.PointCut(self.date_dim, [2010])) query = CubeQuery(cell, self.view) query.drilldown = ["date"] query.prepare() stmt = query.drilldown_statement s = str(stmt) self.assertRegexpMatches(s, r'date\.year') self.assertRegexpMatches(s, r'date\.month') cell = self.full_cube.slice(cubes.PointCut(self.date_dim, [2010, 4])) query = CubeQuery(cell, self.view) query.drilldown = ["date"] self.assertRaisesRegexp(ValueError, "Unable to drill-down.*last level", query.prepare)