50 lines
998 B
C#
50 lines
998 B
C#
using Microsoft.Extensions.Logging;
|
|
|
|
using MongoDB.Driver;
|
|
|
|
using DataProviders;
|
|
|
|
namespace CoreTests.FakeServices {
|
|
public class SessionFakeService : ISessionService {
|
|
|
|
private readonly ILogger<SessionFakeService> _logger;
|
|
private List<Guid> _sessions;
|
|
|
|
public SessionFakeService(
|
|
ILogger<SessionFakeService> logger
|
|
) {
|
|
_logger = logger;
|
|
_sessions = new List<Guid>();
|
|
}
|
|
|
|
|
|
public void CommitTransaction(Guid id) {
|
|
_sessions.Remove(id);
|
|
}
|
|
|
|
public void DisposeSession(Guid id) {
|
|
_sessions.Remove(id);
|
|
}
|
|
|
|
public IClientSessionHandle? GetSession(Guid id) {
|
|
return null;
|
|
}
|
|
|
|
public void RollbackTransaction(Guid id) {
|
|
_sessions.Remove(id);
|
|
}
|
|
|
|
public Task<Guid> StartSession() {
|
|
return Task.Run(() => {
|
|
var sessionId = Guid.NewGuid();
|
|
_sessions.Add(sessionId);
|
|
return sessionId;
|
|
});
|
|
}
|
|
|
|
public void StartTransaction(Guid id) {
|
|
// do nothing
|
|
}
|
|
}
|
|
}
|