コード例 #1
0
ファイル: cubeSetServiceTests.py プロジェクト: rtansf/cubify
    def testExportSourceCubeCsv(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.exportSourceCubeToCsv(cubeSet, "cubeSetSourceExported.csv")

        with open("cubeSetSourceExported.csv") as csvfile:
            reader = csv.DictReader(csvfile)
            fieldNames = reader.fieldnames
            self.assertTrue(fieldNames == ["S:CustomerId", "S:ProductId", "S:State", "D:Date", "N:Price", "N:Qty"])
            rowNum = 0
            for row in reader:
                rowNum += 1
            self.assertTrue(rowNum == 14)

        os.remove(cubeSetName + ".csv")
        os.remove("cubeSetSourceExported.csv")