diff PerfsDb/ConfigFileBuilder.py @ 158:df1f9946571c

perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
author am@osimis.io
date Fri, 17 Aug 2018 11:58:26 +0200
parents f1a75985caa8
children 616da104a996
line wrap: on
line diff
--- a/PerfsDb/ConfigFileBuilder.py	Thu Aug 16 17:14:05 2018 +0200
+++ b/PerfsDb/ConfigFileBuilder.py	Fri Aug 17 11:58:26 2018 +0200
@@ -1,5 +1,6 @@
 import typing
 import json
+import os
 
 from DbType import DbType
 
@@ -8,7 +9,7 @@
     @staticmethod
     def generate(
         outputPath: str, 
-        plugins: typing.List[str], 
+        pluginsPath: str, 
         storagePath: str, 
         dbType: DbType, 
         dbSize: str,
@@ -16,39 +17,50 @@
         ):
 
         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.isServer():
+            dbConfig["Host"] = "127.0.0.1"
+            dbConfig["Lock"] = False
+            dbConfig["Port"] = port
 
         if dbType == DbType.MySQL:
+            config["Plugins"] = [os.path.join(pluginsPath, "libOrthancMySQLIndex.so")]
             dbConfig["EnableStorage"] = False
+            # config["Plugins"] = [os.path.join(pluginsPath, "libOrthancMySQLStorage.so")]
+
             dbConfig["Database"] = "orthanc"
             dbConfig["Username"] = "orthanc"
             dbConfig["Password"] = "orthanc"
 
             config["MySQL"] = dbConfig
 
-        elif dbType == DbType.PG9 or dbType == DbType.PG10:
+        elif dbType.isPG():
+            config["Plugins"] = [os.path.join(pluginsPath, "libOrthancPostgreSQLIndex.so")]
             dbConfig["EnableStorage"] = False
-            dbConfig["Database"] = "orthanc"
-            dbConfig["Username"] = "orthanc"
-            dbConfig["Password"] = "orthanc"
+            # config["Plugins"] = [os.path.join(pluginsPath, "libOrthancPostgreSQLStorage.so")]
+
+            dbConfig["Database"] = "postgres"
+            dbConfig["Username"] = "postgres"
 
             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"
+            config["Plugins"] = [os.path.join(pluginsPath, "libOrthancMsSqlIndex.so")]
+            dbConfig["EnableStorage"] = False
+
+            dbConfig["ConnectionString"] = "Driver={ODBC Driver 13 for SQL Server};Server=tcp:127.0.0.1," + str(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:
+        elif dbType.isSqlite():
             config["IndexDirectory"] = storagePath
+            if dbType == DbType.SqlitePlugin:
+                config["Plugins"] = [os.path.join(pluginsPath, "libOrthancSQLiteIndex.so")]
 
         else:
             raise NotImplementedError