def testRemoveCellsFromSourceCube(self):
        cubeSetName = 'test-' + str(uuid.uuid4())
        csvFileName =  cubeSetName + '.csv'
        shutil.copyfile('testdata.csv', cubeSetName + '.csv')
        with open('test_binnings.json') as binnings_file:
            binnings = json.load(binnings_file)
        with open('test_agg.json') as agg_file:
            aggs = json.load(agg_file)

        cs = CubeSetService('testdb')
        cs.createCubeSet("testOwner", cubeSetName, cubeSetName, csvFileName, binnings, aggs)
        cs.removeCellsFromSourceCube(cubeSetName, { "dimensions.State" : "CA"})

        cubeCells = cs.getSourceCubeCells(cubeSetName)
        self.assertTrue(cubeCells.count() == 8)

        dimkeys = []
        for cubeCell in cubeCells:
            dimkeys.append(cubeCell['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')