def testRemoveRowsFromSourceCube(self): cubeSetName = "test-" + str(uuid.uuid4()) csvFilePath = cubeSetName + ".csv" try: shutil.copyfile("cubify/tests/testdata.csv", cubeSetName + ".csv") except Exception: shutil.copyfile("./testdata.csv", cubeSetName + ".csv") binningFileName = "cubify/tests/test_binnings.json" if os.path.isfile(binningFileName) == False: binningFileName = "./test_binnings.json" with open(binningFileName) as binnings_file: binnings = json.load(binnings_file) aggFileName = "cubify/tests/test_agg.json" if os.path.isfile(aggFileName) == False: aggFileName = "./test_agg.json" with open(aggFileName) as agg_file: aggs = json.load(agg_file) cs = CubeSetService("testdb") cubeSet = cs.createCubeSet("testOwner", cubeSetName, csvFilePath, binnings, aggs) cs.removeRowsFromSourceCube(cubeSet, {"dimensions.State": "CA"}) cubeRows = cs.getSourceCubeRows(cubeSet) self.assertTrue(cubeRows.count() == 8) dimkeys = [] for cubeRow in cubeRows: dimkeys.append(cubeRow["dimensionKey"]) dimkeys.sort() self.assertTrue(dimkeys[0] == "#CustomerId:C2#ProductId:P1#State:NY#Date:2014-10-10") self.assertTrue(dimkeys[1] == "#CustomerId:C2#ProductId:P1#State:NY#Date:2014-10-11") self.assertTrue(dimkeys[2] == "#CustomerId:C2#ProductId:P1#State:NY#Date:2015-10-10") self.assertTrue(dimkeys[3] == "#CustomerId:C2#ProductId:P1#State:NY#Date:2015-10-11") self.assertTrue(dimkeys[4] == "#CustomerId:C2#ProductId:P2#State:NY#Date:2014-10-10") self.assertTrue(dimkeys[5] == "#CustomerId:C2#ProductId:P2#State:NY#Date:2015-10-10") self.assertTrue(dimkeys[6] == "#CustomerId:C3#ProductId:P1#State:MA#Date:2014-10-11") self.assertTrue(dimkeys[7] == "#CustomerId:C3#ProductId:P1#State:MA#Date:2015-10-11") os.remove(cubeSetName + ".csv")