def testWriteFromIniConfig(self):
        try:
            cfgOb = ConfigUtil(configPath=self.__inpPathConfigIni,
                               mockTopPath=self.__dataPath)
            ok = cfgOb.writeConfig(self.__outPathConfigIni, configFormat="ini")
            ok = cfgOb.writeConfig(self.__outPathConfigYaml,
                                   configFormat="yaml")
            self.assertTrue(ok)

        except Exception as e:
            logger.exception("Failing with %s", str(e))
            self.fail()
        return {}
    def testRoundTripYaml(self):
        try:
            cfgOb = ConfigUtil(configPath=self.__inpPathConfigYaml,
                               configFormat="yaml",
                               mockTopPath=self.__mockTopPath,
                               roundTrip=True)
            ok = cfgOb.writeConfig(self.__outPathConfigIni, configFormat="ini")
            self.assertTrue(ok)
            ok = cfgOb.writeConfig(self.__outPathConfigYaml,
                                   configFormat="yaml")
            self.assertTrue(ok)

        except Exception as e:
            logger.exception("Failing with %s", str(e))
            self.fail()
        return {}
 def testExportToYaml(self):
     cfgOb = ConfigUtil(configFormat="yaml",
                        mockTopPath=self.__mockTopPath,
                        roundTrip=True)
     #
     cD = self.__createDataSet()
     cfgOb.importConfig(cD)
     #
     ok = cfgOb.writeConfig(self.__outPathConfigYamlExport,
                            configFormat="yaml")
     self.assertTrue(ok)
     cfgOb = ConfigUtil(configPath=self.__outPathConfigYamlExport,
                        configFormat="yaml",
                        mockTopPath=self.__mockTopPath)
     rD = cfgOb.exportConfig()
     self.assertGreaterEqual(len(rD), 1)
     v = cfgOb.get("SubA.Name", sectionName="Section1")
     self.assertEqual(v, "THE_NAME")
     v = cfgOb.get("SubA.Counts", sectionName="Section3")
     self.assertEqual(len(v), 3)
    def testReadIniConfigWithEnv(self):
        try:
            os.environ["TEST_MOCKPATH_ENV"] = self.__mockTopPath
            cfgOb = ConfigUtil(configPath=self.__inpPathConfigWithEnvIni,
                               mockTopPath=self.__mockTopPath,
                               importEnvironment=True)
            testEnv = cfgOb.get("test_mockpath_env")
            self.assertEqual(testEnv, self.__mockTopPath)
            logger.debug("Environmental variable test_mock_path is %r",
                         testEnv)
            #  Verify environment keys all lowercased -
            testEnv = cfgOb.get("TEST_MOCKPATH_ENV")
            self.assertEqual(testEnv, None)
            logger.debug("Environmental variable TEST_MOCK_PATH is %r",
                         testEnv)
            #
            testEnv = cfgOb.get("TOP_PROJECT_PATH")
            self.assertEqual(testEnv, self.__mockTopPath)
            logger.debug("Derived path is %r", testEnv)
            #
            sName = "Section1"
            testEnv = cfgOb.get("PROJ_DIR_PATH", sectionName=sName)
            self.assertEqual(testEnv, os.path.join(self.__mockTopPath,
                                                   "da_top"))

            testEnv = cfgOb.get("PROJ_ARCHIVE_PATH", sectionName=sName)
            self.assertEqual(
                testEnv, os.path.join(self.__mockTopPath, "da_top", "archive"))

            testEnv = cfgOb.get("proj_deposit_path", sectionName=sName)
            self.assertEqual(
                testEnv, os.path.join(self.__mockTopPath, "da_top", "deposit"))
            #
            ok = cfgOb.writeConfig(self.__outPathConfigWithEnvIni,
                                   configFormat="ini")
            self.assertTrue(ok)
        except Exception as e:
            logger.exception("Failing with %s", str(e))
            self.fail()
        return {}