diff --git a/dopt.DeltaBarth.Tests/PluginTest.cs b/dopt.DeltaBarth.Tests/PluginTest.cs
index 4090465..940cea9 100644
--- a/dopt.DeltaBarth.Tests/PluginTest.cs
+++ b/dopt.DeltaBarth.Tests/PluginTest.cs
@@ -47,14 +47,19 @@ namespace dopt.DeltaBarth.Tests
{
return base.GetBaseApiUrl();
}
- new public void SetzeBasisApiUrl(string basisApiUrl)
+ public new string GetDataPath()
{
- base.SetzeBasisApiUrl(basisApiUrl);
+ return base.GetDataPath();
+ }
+ public new void Setup(string datenPfad, string basisApiUrl)
+ {
+ base.Setup(datenPfad, basisApiUrl);
}
}
[TestClass]
public sealed class PluginTest
{
+ private const string baseDataPath = @"A:\Arbeitsaufgaben\Delta-Barth\cs-wrapper\dopt.DeltaBarth\test_data_path";
internal Config config = new Config();
static void PrettyPrint(object toSerialise)
{
@@ -85,13 +90,19 @@ namespace dopt.DeltaBarth.Tests
test.Dispose();
}
[TestMethod]
- public void Set_and_Obtain_BaseApiUrl_Test()
+ public void SetupSession_Test()
{
var test = new TPlugin();
string apiUrlSet = "http://10.2.22.21:8080/api/";
- test.SetzeBasisApiUrl(apiUrlSet);
+ test.Setup(baseDataPath, apiUrlSet);
+ // data path
+ var dataPathGet = test.GetDataPath();
+ Console.WriteLine($"Result for data path from Python session was: {dataPathGet}");
+ bool pathElementsContained = dataPathGet.Contains("test_data_path");
+ Assert.IsTrue(pathElementsContained);
+ // API URL
var apiUrlGet = test.GetBaseApiUrl();
- Console.WriteLine($"Result from Python session was: {apiUrlGet}");
+ Console.WriteLine($"Result for API URL from Python session was: {apiUrlGet}");
Assert.AreEqual(apiUrlSet, apiUrlGet);
test.Dispose();
}
@@ -100,7 +111,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1";
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var apiUrlGet = test.GetBaseApiUrl();
var creds = test.GetCredentials();
Console.WriteLine($"Result from Python session was: API-URL={apiUrlGet}, creds={creds}");
@@ -117,7 +128,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1";
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var res = test.UmsatzprognoseDummy(null, null);
PrettyPrint(res);
test.Dispose();
@@ -127,7 +138,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1";
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var comp_id = 1000;
var res = test.UmsatzprognoseDummy(comp_id, null);
PrettyPrint(res);
@@ -138,7 +149,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1";
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var date = new DateTime(2023, 1, 1, 12, 45, 30);
var res = test.UmsatzprognoseDummy(null, date);
PrettyPrint(res);
@@ -151,7 +162,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = config.apiUrl, user = config.username, password = config.password, database = config.database, mandant = config.mandant;
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var comp_id = 1024;
var res = test.Umsatzprognose(comp_id, null);
PrettyPrint(res);
@@ -163,7 +174,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = config.apiUrl, user = config.username, password = config.password, database = config.database, mandant = config.mandant;
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var date = new DateTime(2030, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
PrettyPrint(res);
@@ -175,7 +186,7 @@ namespace dopt.DeltaBarth.Tests
{
var test = new TPlugin();
string apiUrlSet = config.apiUrl, user = config.username, password = config.password, database = config.database, mandant = config.mandant;
- test.Startup(apiUrlSet, user, password, database, mandant);
+ test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var date = new DateTime(2015, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
PrettyPrint(res);
diff --git a/dopt.DeltaBarth/Plugin.cs b/dopt.DeltaBarth/Plugin.cs
index 160b2b6..45312d0 100644
--- a/dopt.DeltaBarth/Plugin.cs
+++ b/dopt.DeltaBarth/Plugin.cs
@@ -16,17 +16,12 @@ namespace dopt.DeltaBarth
pyModPipeline = Py.Import("delta_barth.pipelines");
}
}
- public void Startup(string basisApiUrl, string nutzername, string passwort, string datenbank, string mandant)
+ public void Startup(string datenPfad, string basisApiUrl, string nutzername, string passwort, string datenbank, string mandant)
{
AssertNotDisposed();
- SetzeBasisApiUrl(basisApiUrl);
+ Setup(datenPfad, basisApiUrl);
SetzeNutzerdaten(nutzername, passwort, datenbank, mandant);
}
- protected void SetzeBasisApiUrl(string basisApiUrl)
- {
- AssertNotDisposed();
- pyModManagement.set_base_url(basisApiUrl);
- }
public void SetzeNutzerdaten(string nutzername, string passwort, string datenbank, string mandant)
{
AssertNotDisposed();
@@ -58,6 +53,14 @@ namespace dopt.DeltaBarth
return parsed;
}
+ protected void Setup(string datenPfad, string basisApiUrl)
+ {
+ AssertNotDisposed();
+ using (Py.GIL())
+ {
+ pyModManagement.setup(datenPfad, basisApiUrl);
+ }
+ }
protected string GetBaseApiUrl()
{
AssertNotDisposed();
@@ -68,6 +71,16 @@ namespace dopt.DeltaBarth
}
return pyJson;
}
+ protected string GetDataPath()
+ {
+ AssertNotDisposed();
+ string pyJson;
+ using (Py.GIL())
+ {
+ pyJson = (string)pyModManagement.get_data_path();
+ }
+ return pyJson;
+ }
protected DataObjects.Credentials GetCredentials()
{
AssertNotDisposed();
diff --git a/dopt.DeltaBarth/dopt.DeltaBarth.csproj b/dopt.DeltaBarth/dopt.DeltaBarth.csproj
index 09e7d06..829f3bf 100644
--- a/dopt.DeltaBarth/dopt.DeltaBarth.csproj
+++ b/dopt.DeltaBarth/dopt.DeltaBarth.csproj
@@ -6,7 +6,7 @@
enable
x64
x64
- 0.2.0
+ 0.3.0