Mercurial > hg > orthanc-tests
diff PerfsDb/ConfigFileBuilder.py @ 156:f1a75985caa8
first Db test framework - work in progress
author | am@osimis.io |
---|---|
date | Thu, 16 Aug 2018 17:13:32 +0200 |
parents | |
children | df1f9946571c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PerfsDb/ConfigFileBuilder.py Thu Aug 16 17:13:32 2018 +0200 @@ -0,0 +1,57 @@ +import typing +import json + +from DbType import DbType + +class ConfigFileBuilder: + + @staticmethod + def generate( + outputPath: str, + plugins: typing.List[str], + storagePath: str, + dbType: DbType, + dbSize: str, + port: int + ): + + config = {} + config["Plugins"] = plugins + config["StorageDirectory"] = storagePath + + dbConfig = {} + dbConfig["EnableIndex"] = True + dbConfig["Host"] = "127.0.0.1" + dbConfig["Lock"] = False + dbConfig["Port"] = port + + if dbType == DbType.MySQL: + dbConfig["EnableStorage"] = False + dbConfig["Database"] = "orthanc" + dbConfig["Username"] = "orthanc" + dbConfig["Password"] = "orthanc" + + config["MySQL"] = dbConfig + + elif dbType == DbType.PG9 or dbType == DbType.PG10: + dbConfig["EnableStorage"] = False + dbConfig["Database"] = "orthanc" + dbConfig["Username"] = "orthanc" + dbConfig["Password"] = "orthanc" + + config["PostgreSQL"] = dbConfig + + elif dbType == DbType.MSSQL: + dbConfig["ConnectionString"] = "Driver={ODBC Driver 13 for SQL Server};Server=tcp:index," + port + ";Database=master;Uid=sa;Pwd=MyStrOngPa55word!;Encrypt=yes;TrustServerCertificate=yes;Connection Timeout=30" + dbConfig["LicenseString"] = "1abaamBcReVXv6EtE_X___demo-orthanc%osimis.io___HHHnqVHYvEkR3jGs2Y3EvpbxZgTt7yaCniJa2Bz7hFWTMa" # note: this is a trial license expiring on 2018-09-30, replace with your license code + + config["MSSQL"] = dbConfig + + elif DbType == DbType.Sqlite: + config["IndexDirectory"] = storagePath + + else: + raise NotImplementedError + + with open(outputPath, "w") as configFile: + json.dump(config, fp=configFile, indent=4) \ No newline at end of file