add enum for error codes, mirror of Python equivalents

This commit is contained in:
Florian Förster 2025-04-10 09:21:52 +02:00
parent 01b5695d8d
commit c536db0ef6
2 changed files with 27 additions and 0 deletions

View File

@ -132,6 +132,7 @@ namespace dopt.DeltaBarth.Tests
string apiUrlSet = "http://10.2.22.21:8080/api/", user = "user", password = "password", database = "DB1", mandant = "mandant1";
test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var res = test.UmsatzprognoseDummy(null, null);
Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -143,6 +144,7 @@ namespace dopt.DeltaBarth.Tests
test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var comp_id = 1000;
var res = test.UmsatzprognoseDummy(comp_id, null);
Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -154,6 +156,7 @@ namespace dopt.DeltaBarth.Tests
test.Startup(baseDataPath, apiUrlSet, user, password, database, mandant);
var date = new DateTime(2023, 1, 1, 12, 45, 30);
var res = test.UmsatzprognoseDummy(null, date);
Assert.AreEqual((int)StatusCodes.Erfolg, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -178,6 +181,7 @@ namespace dopt.DeltaBarth.Tests
var comp_id = 1024;
var res = test.Umsatzprognose(comp_id, null);
Assert.AreEqual(4, res.status.code);
Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeMonatsdatenpunkte, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -190,6 +194,7 @@ namespace dopt.DeltaBarth.Tests
var comp_id = 1024;
var res = test.Umsatzprognose(comp_id, null);
Assert.AreEqual(1, res.status.code);
Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -203,6 +208,7 @@ namespace dopt.DeltaBarth.Tests
var date = new DateTime(2030, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
Assert.AreEqual(3, res.status.code);
Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeDatenpunkte, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -215,6 +221,7 @@ namespace dopt.DeltaBarth.Tests
var date = new DateTime(2030, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
Assert.AreEqual(1, res.status.code);
Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -228,6 +235,7 @@ namespace dopt.DeltaBarth.Tests
var date = new DateTime(2015, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
Assert.AreEqual(4, res.status.code);
Assert.AreEqual((int)StatusCodes.DatensatzZuWenigeMonatsdatenpunkte, res.status.code);
PrettyPrint(res);
test.Dispose();
}
@ -240,6 +248,7 @@ namespace dopt.DeltaBarth.Tests
var date = new DateTime(2015, 1, 1, 12, 45, 30);
var res = test.Umsatzprognose(null, date);
Assert.AreEqual(1, res.status.code);
Assert.AreEqual((int)StatusCodes.VerbindungTimeout, res.status.code);
PrettyPrint(res);
test.Dispose();
}

View File

@ -1,8 +1,26 @@
using Python.Runtime;
using System.ComponentModel;
using System.Text.Json;
namespace dopt.DeltaBarth
{
public enum StatusCodes
{
[Description("Keine Fehler aufgetreten")]
Erfolg = 0,
[Description("Bei der Verbindung zum API-Server kam es zum Timeout")]
VerbindungTimeout = 1,
[Description("Bei der Verbindung zum API-Server ist ein Fehler aufgetreten")]
VerbindungFehler = 2,
[Description("Der bereitgestellte Datensatz enthält in Summe zu wenige Einzeleinträge")]
DatensatzZuWenigeDatenpunkte = 3,
[Description("Der bereitgestellte Datensatz enthält nach Aggregation zu Monaten zu wenig Einträge")]
DatensatzZuWenigeMonatsdatenpunkte = 4,
[Description("Die Prognosequalität des Modells erfüllt nicht ide Mindestanforderungen")]
KeineVerlaesslichePrognose = 5,
[Description("Vom API-Server wurde eine Fehlermeldung zurückgegeben")]
ApiServerFehler = 400,
}
public class PythonParsingException : Exception
{
public PythonParsingException() { }