2022-09-20 13:51:55 +02:00
|
|
|
using System;
|
2022-08-30 15:42:25 +02:00
|
|
|
using System.Collections.Generic;
|
2021-07-12 21:31:46 +02:00
|
|
|
using System.Threading.Tasks;
|
2022-09-20 13:51:55 +02:00
|
|
|
using TINK.Model.Bikes.BikeInfoNS.BluetoothLock;
|
2022-12-27 21:08:09 +01:00
|
|
|
using TINK.Model.Connector;
|
2022-08-30 15:42:25 +02:00
|
|
|
using TINK.Model.Device;
|
2021-07-12 21:31:46 +02:00
|
|
|
using TINK.Model.Services.CopriApi;
|
|
|
|
using TINK.Repository;
|
2022-08-30 15:42:25 +02:00
|
|
|
using TINK.Repository.Request;
|
2021-07-12 21:31:46 +02:00
|
|
|
using TINK.Repository.Response;
|
2023-04-19 12:14:14 +02:00
|
|
|
using TINK.Repository.Response.Stations;
|
2021-07-12 21:31:46 +02:00
|
|
|
using static TINK.Repository.CopriCallsMemory;
|
|
|
|
|
|
|
|
namespace TestTINKLib.Mocks.Connector
|
|
|
|
{
|
2023-04-19 12:14:14 +02:00
|
|
|
/// <summary> Allows use of memory for retrieving defined responses.</summary>
|
2022-09-06 16:08:19 +02:00
|
|
|
public class CopriCallsCacheMemory : ICopriCache
|
|
|
|
{
|
|
|
|
private CopriCallsMemory server;
|
|
|
|
|
|
|
|
public CopriCallsCacheMemory(
|
|
|
|
string merchantId,
|
|
|
|
SampleSets? sampleSet = null,
|
|
|
|
int? index = null,
|
|
|
|
string sessionCookie = null)
|
|
|
|
{
|
|
|
|
server = new CopriCallsMemory(merchantId, sampleSet, index, sessionCookie);
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool IsStationsExpired => true;
|
|
|
|
|
|
|
|
public bool IsBikesAvailableExpired => true;
|
|
|
|
|
|
|
|
public bool IsBikesOccupiedExpired => true;
|
|
|
|
|
|
|
|
public bool IsConnected => server.IsConnected;
|
|
|
|
|
|
|
|
public string SessionCookie => server.SessionCookie;
|
|
|
|
|
|
|
|
public string MerchantId => server.MerchantId;
|
|
|
|
|
|
|
|
public void AddToCache(StationsAvailableResponse stations)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void AddToCache(BikesAvailableResponse bikes)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void AddToCache(BikesReservedOccupiedResponse bikes)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<AuthorizationResponse> DoAuthorizationAsync(string p_strMailAddress, string p_strPassword, string p_strDeviceId)
|
|
|
|
{
|
|
|
|
throw new NotImplementedException();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<AuthorizationoutResponse> DoAuthoutAsync()
|
|
|
|
{
|
|
|
|
throw new NotImplementedException();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<ReservationBookingResponse> DoReserveAsync(string bikeId, Uri operatorUri)
|
|
|
|
{
|
|
|
|
throw new NotImplementedException();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<ReservationCancelReturnResponse> DoCancelReservationAsync(string p_iBikeId, Uri operatorUri)
|
|
|
|
{
|
|
|
|
throw new NotImplementedException();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<ReservationBookingResponse> CalculateAuthKeysAsync(string bikeId, Uri operatorUri)
|
|
|
|
=> throw new NotSupportedException();
|
|
|
|
|
|
|
|
public Task<ResponseBase> StartReturningBike(
|
|
|
|
string bikeId,
|
|
|
|
Uri operatorUri)
|
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
public Task<ReservationBookingResponse> UpdateLockingStateAsync(
|
|
|
|
string bikeId,
|
|
|
|
lock_state state,
|
|
|
|
Uri operatorUri,
|
|
|
|
LocationDto geolocation,
|
2022-09-20 13:51:55 +02:00
|
|
|
double batteryPercentage,
|
|
|
|
IVersionInfo versionInfo)
|
2022-09-06 16:08:19 +02:00
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
2022-12-27 21:08:09 +01:00
|
|
|
public Task<ReservationBookingResponse> DoBookAsync(Uri operatorUri, string bikeId, Guid guid, double batteryPercentage, LockingAction? nextAction = null)
|
2022-09-06 16:08:19 +02:00
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
public Task<ReservationBookingResponse> BookAvailableAndStartOpeningAsync(string bikeId, Uri operatorUri)
|
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
public Task<ReservationBookingResponse> BookReservedAndStartOpeningAsync(string bikeId, Uri operatorUri)
|
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
2023-02-22 14:03:35 +01:00
|
|
|
public Task<DoReturnResponse> DoReturn(string bikeId, LocationDto location, Uri operatorUri)
|
2022-09-06 16:08:19 +02:00
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
/// <summary> Returns a bike and starts closing. </summary>
|
|
|
|
/// <param name="bikeId">Id of the bike to return.</param>
|
|
|
|
/// <param name="smartDevice">Provides info about hard and software.</param>
|
|
|
|
/// <param name="operatorUri">Holds the uri of the operator or null, in case of single operator setup.</param>
|
|
|
|
/// <returns>Response on returning request.</returns>
|
|
|
|
public Task<DoReturnResponse> ReturnAndStartClosingAsync(
|
|
|
|
string bikeId,
|
|
|
|
Uri operatorUri)
|
|
|
|
=> throw new System.Exception("Rückgabe mit mit Schloss schließen Befehl Offlinemodus nicht möglich!");
|
|
|
|
|
|
|
|
public Task<SubmitFeedbackResponse> DoSubmitFeedback(string bikeId, int? currentChargeBars, string message, bool isBikeBroken, Uri operatorUri)
|
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
/// <summary> Submits mini survey to copri server. </summary>
|
|
|
|
/// <param name="answers">Collection of answers.</param>
|
|
|
|
public Task<ResponseBase> DoSubmitMiniSurvey(IDictionary<string, string> answers)
|
|
|
|
=> throw new NotImplementedException();
|
|
|
|
|
|
|
|
public Task<BikesAvailableResponse> GetBikesAvailableAsync()
|
|
|
|
{
|
|
|
|
return server.GetBikesAvailableAsync();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<BikesReservedOccupiedResponse> GetBikesOccupiedAsync()
|
|
|
|
{
|
|
|
|
return server.GetBikesOccupiedAsync();
|
|
|
|
}
|
|
|
|
|
|
|
|
public Task<StationsAvailableResponse> GetStationsAsync()
|
|
|
|
{
|
|
|
|
return server.GetStationsAsync();
|
|
|
|
}
|
|
|
|
}
|
2021-07-12 21:31:46 +02:00
|
|
|
}
|