3.0.267 merged

This commit is contained in:
Oliver Hauff 2022-01-04 18:54:03 +01:00
parent b6fb6394db
commit 67999ef4ae
171 changed files with 6473 additions and 1093 deletions

View file

@ -4,6 +4,7 @@ using Serilog;
using System;
using TINK.Model.Connector;
using TINK.Model.Services.CopriApi.ServerUris;
using TINK.Repository;
using UITest.Fixtures.Connector;
namespace TestTINKLib.Fixtures.Misc
@ -39,7 +40,7 @@ namespace TestTINKLib.Fixtures.Misc
var connector = ConnectorFactory.Create(
true, // Is connected
new Uri(url),
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/" + nameof(TestCachedQuery_GetStationsAll),
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetStationsAll), "sharee.bike.test", new Version(3, 0, 267)),
cookieAndMail.Split(';')[0],
cookieAndMail.Split(';')[1],
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
@ -90,7 +91,7 @@ namespace TestTINKLib.Fixtures.Misc
var connector = ConnectorFactory.Create(
true, // Is connected
new Uri(url),
"Testsharee.bikeApp/3.0.223 AutomatedTestEnvirnoment/" + nameof(TestCachedQuery_GetBikes),
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikes), "sharee.bike.test", new Version(3, 0, 267)),
cookieAndMail.Split(';')[0],
cookieAndMail.Split(';')[1],
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.
@ -137,7 +138,7 @@ namespace TestTINKLib.Fixtures.Misc
var connector = ConnectorFactory.Create(
true, // Is connected
new Uri(url),
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/" + nameof(TestCachedQuery_GetBikes),
new AppContextInfo("oiF2kahH" + nameof(TestCachedQuery_GetBikesOccupied), "sharee.bike.test", new Version(3, 0, 267)),
cookieAndMail.Split(';')[0],
cookieAndMail.Split(';')[1],
TimeSpan.FromSeconds(3)); // See task #97 for need of custom expiresAfter value.

View file

@ -6,6 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TINK.Model.Connector;
using TINK.Repository;
namespace TestTINKLib.Fixtures.ObjectTests.Connector
{
@ -20,10 +21,10 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
Barrel.ApplicationId = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
}
var connector = ConnectorFactory.Create(false, new Uri("https://1.2.3.4"), "TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", "123456789", "a@b");
var connector = ConnectorFactory.Create(false, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), "123456789", "a@b");
Assert.AreEqual(typeof(ConnectorCache), connector.GetType());
connector = ConnectorFactory.Create(true, new Uri("https://1.2.3.4"), "TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", "123456789", "a@b");
connector = ConnectorFactory.Create(true, new Uri("https://1.2.3.4"), new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), "123456789", "a@b");
Assert.AreEqual(typeof(TINK.Model.Connector.Connector), connector.GetType());
}
}

View file

@ -8,7 +8,7 @@ using TINK.Model.Services.CopriApi;
using TINK.Repository;
using TINK.Repository.Exception;
using TINK.Repository.Response;
using TINK.Services.CopriApi;
namespace TestTINKLib.Fixtures.ObjectTests.Connector
{
@ -118,7 +118,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"456", // cookie
cacheServer: cache,
httpsServer: https);
@ -143,7 +143,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -166,7 +166,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -190,7 +190,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -213,7 +213,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"12345678", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
cacheServer: cache,
httpsServer: https);
@ -237,7 +237,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"12345678", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
cacheServer: cache,
httpsServer: https);
@ -261,7 +261,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"12345678", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
cacheServer: cache,
httpsServer: https);
@ -286,7 +286,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"12345678", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"f782a208d9399291ba8d086b5dcc2509", // Auth cookie
cacheServer: cache,
httpsServer: https);
@ -310,7 +310,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123", // Merchant id
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"456", // cookie
cacheServer: cache,
httpsServer: https);
@ -334,7 +334,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -357,7 +357,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -381,7 +381,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default",
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)),
cacheServer: cache,
httpsServer: https);
@ -403,7 +403,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123456789",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default");
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)));
var stations = await provider.GetStations(true);
Assert.AreEqual(0, stations.Response.stations.Count);
@ -411,17 +411,17 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
try
{
// Do not add if an excption occurred
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new System.Exception("Bang...")));
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData(), new Exception("Bang...")));
stations = await provider.GetStations(true);
Assert.AreEqual(0, stations.Response.stations.Count);
// Do not add if results from cache
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
stations = await provider.GetStations(true);
Assert.AreEqual(0, stations.Response.stations.Count);
// Add result
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL)));
provider.AddToCache(new Result<StationsAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<StationsAvailableResponse>(STATIONSALL), new GeneralData()));
stations = await provider.GetStations(true);
Assert.AreEqual(3, stations.Response.stations.Count);
}
@ -442,7 +442,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123456789",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default");
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)));
var bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(0, bikes.Response.bikes.Count);
@ -450,17 +450,17 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
try
{
// Do not add if an excption occurred
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new System.Exception("Bang...")));
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData(), new Exception("Bang...")));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(0, bikes.Response.bikes.Count);
// Do not add if results from cache
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData()));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(0, bikes.Response.bikes.Count);
// Add result
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE)));
provider.AddToCache(new Result<BikesAvailableResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesAvailableResponse>(BIKESAVAILABLE), new GeneralData()));
bikes = await provider.GetBikesAvailable(true);
Assert.AreEqual(1, bikes.Response.bikes.Count);
}
@ -482,7 +482,7 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
var provider = new CopriProviderHttps(
new Uri("http://1.2.3.4"),
"123456789",
"TestTINKApp/3.0.127 AutomatedTestEnvirnoment/Default", // User agent
new AppContextInfo("oiF2kahH", "sharee.bike.test", new Version(3, 0, 267)), // User agent
"876");
var bikes = await provider.GetBikesOccupied(true);
@ -491,17 +491,17 @@ namespace TestTINKLib.Fixtures.ObjectTests.Connector
try
{
// Do not add if an excption occurred
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new System.Exception("Bang...")));
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData(), new Exception("Bang...")));
bikes = await provider.GetBikesOccupied(true);
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
// Do not add if results from cache
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsMonkeyStore), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
bikes = await provider.GetBikesOccupied(true);
Assert.AreEqual(0, bikes.Response.bikes_occupied.Count);
// Add result
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED)));
provider.AddToCache(new Result<BikesReservedOccupiedResponse>(typeof(CopriCallsHttps), JsonConvert.DeserializeObject<BikesReservedOccupiedResponse>(BIKESOCCUPIED), new GeneralData()));
bikes = await provider.GetBikesOccupied(true);
Assert.AreEqual(1, bikes.Response.bikes_occupied.Count);
}

View file

@ -1059,9 +1059,29 @@ namespace TestTINKLib.Fixtures.Connector
/// COPRI response shortened, part not belonging to user_miniquery discarded.
/// </summary>
[Test]
public void TestCreateMiniSurvey_Co2Saving()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
""co2saving"" : ""Einsparung: 1,95 kg CO2 und 3,00 EUR bei einer Strecke von 10 KM""
}
}");
var bookingFinshed = response.shareejson.Create();
Assert.That(
bookingFinshed.Co2Saving,
Is.EqualTo("Einsparung: 1,95 kg CO2 und 3,00 EUR bei einer Strecke von 10 KM"));
}
/// <summary>
/// COPRI response shortened, part not belonging to user_miniquery discarded.
/// </summary>
[Test]
public void TestCreateMiniSurvey()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<ReservationCancelReturnResponse>>(@"
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
""user_miniquery"" : {
@ -1108,26 +1128,26 @@ namespace TestTINKLib.Fixtures.Connector
");
var survey = response.shareejson.Create();
var bookingFinished = response.shareejson.Create();
Assert.That(
survey,
bookingFinished,
Is.Not.Null);
Assert.That(
survey.Title,
bookingFinished.MiniSurvey.Title,
Is.EqualTo("Bitte unterstützen Sie unsere Begleitforschung"));
Assert.That(
survey.Subtitle,
bookingFinished.MiniSurvey.Subtitle,
Is.EqualTo("Ihre drei Antworten werden anonym gespeichert."));
Assert.That(
survey.Footer,
bookingFinished.MiniSurvey.Footer,
Is.EqualTo("Herzlichen Dank und viel Spaß bei der nächsten Fahrt!"));
Assert.That(
survey.Questions.Count,
bookingFinished.MiniSurvey.Questions.Count,
Is.EqualTo(3));
}
@ -1137,7 +1157,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestCreateMiniSurvey_Null()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<ReservationCancelReturnResponse>>(@"
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
}
@ -1145,22 +1165,26 @@ namespace TestTINKLib.Fixtures.Connector
");
var survey = response.shareejson.Create();
var bookingFinshed = response.shareejson.Create();
Assert.That(
survey,
bookingFinshed,
Is.Not.Null);
Assert.That(
survey.Title,
bookingFinshed.MiniSurvey.Questions.Count,
Is.EqualTo(0));
Assert.That(
bookingFinshed.MiniSurvey.Title,
Is.Null);
Assert.That(
survey.Subtitle,
bookingFinshed.MiniSurvey.Subtitle,
Is.Null);
Assert.That(
survey.Footer,
bookingFinshed.MiniSurvey.Footer,
Is.Null);
}
@ -1170,7 +1194,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestCreateMiniSurvey_EmptyQuery()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<ReservationCancelReturnResponse>>(@"
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
""user_miniquery"" : {
@ -1180,22 +1204,22 @@ namespace TestTINKLib.Fixtures.Connector
");
var survey = response.shareejson.Create();
var bookingFinished = response.shareejson.Create();
Assert.That(
survey,
bookingFinished,
Is.Not.Null);
Assert.That(
survey.Title,
bookingFinished.MiniSurvey.Title,
Is.Null);
Assert.That(
survey.Subtitle,
bookingFinished.MiniSurvey.Subtitle,
Is.Null);
Assert.That(
survey.Footer,
bookingFinished.MiniSurvey.Footer,
Is.Null);
}
@ -1205,7 +1229,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestCreateMiniSurvey_InvalidQuestion_KeyNull()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<ReservationCancelReturnResponse>>(@"
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
""user_miniquery"" : {
@ -1232,14 +1256,14 @@ namespace TestTINKLib.Fixtures.Connector
");
var survey = response.shareejson.Create();
var bookingFinised = response.shareejson.Create();
Assert.That(
survey,
bookingFinised,
Is.Not.Null);
Assert.That(
survey.Questions.Count,
bookingFinised.MiniSurvey.Questions.Count,
Is.EqualTo(0));
}
@ -1249,7 +1273,7 @@ namespace TestTINKLib.Fixtures.Connector
[Test]
public void TestCreateMiniSurvey_InvalidQuestion_ValueNull()
{
var response = JsonConvert.DeserializeObject<ResponseContainer<ReservationCancelReturnResponse>>(@"
var response = JsonConvert.DeserializeObject<ResponseContainer<DoReturnResponse>>(@"
{
""shareejson"" : {
""user_miniquery"" : {
@ -1266,14 +1290,14 @@ namespace TestTINKLib.Fixtures.Connector
");
var survey = response.shareejson.Create();
var bookingFinished = response.shareejson.Create();
Assert.That(
survey,
bookingFinished,
Is.Not.Null);
Assert.That(
survey.Questions.Count,
bookingFinished.MiniSurvey.Questions.Count,
Is.EqualTo(0));
}
}