aperio devices with inhertetens

This commit is contained in:
Martijn Scheepers
2025-08-01 13:44:39 +02:00
parent 45ff96ef39
commit 4b81a08d3c
28 changed files with 2219 additions and 1787 deletions

View File

@@ -1,271 +0,0 @@
using Aperio_Control_Centre.Aadp;
using Aperio_Control_Centre.Aadp.ApplicationTypes;
using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Microsoft.AspNetCore.Connections;
using Microsoft.EntityFrameworkCore;
using Moq;
using System.Net;
namespace Aperio_Control_Centre.UnitTest.AperioServer
{
[TestClass]
public class AperioBaseDevice_Test : AperioTestSetup
{
private DeviceDefinition? _deviceDefinition;
public AperioBaseDevice CreateAperioBaseDevice()
{
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_dbContextFactory);
_deviceDefinition = new("AA11BB", "445566", Enumerations.ProductClass.LOCK);
AperioLockDevice lockDevice = new(_deviceDefinition.DeviceIdentity, _deviceDefinition.Host, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("AA11BB", lockDevice.Id);
Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
Assert.AreNotEqual(0, lockDevice.LastData.Ticks);
//Task.Run(async () =>
//{
// await lockDevice.SetConnection(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
//Assert.AreEqual("64.226.1.0", lockDevice.IPAddress);
Assert.IsNull(lockDevice.GetConnection());
Assert.AreEqual(ConnectionStates.Offline, lockDevice.GetConnectionState());
//lockDevice.DataBaseDeviceID = 1;
//Assert.AreEqual(1, lockDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, lockDevice.GetDeviceStatus());
Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
Assert.AreEqual(BatteryStates.Unknown, lockDevice.GetBatteryState());
Assert.AreEqual(Enumerations.DoorMode.UNKNOWN, lockDevice.GetDoorMode());
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, lockDevice.GetDoorState());
Assert.AreEqual(Enumerations.LockState.UNKNOWN, lockDevice.GetLockState());
Assert.AreEqual(Enumerations.KeyCylinderState.UNKNOWN, lockDevice.GetKeyCylinderState());
Assert.AreEqual(Enumerations.HandleState.UNKNOWN, lockDevice.GetHandleState());
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.GetTamperState());
Assert.AreEqual(string.Empty, lockDevice.FirmwareVersion);
Assert.IsNull(lockDevice.HwVersion);
//Assert.IsNotNull(optaDevice.HwVersion);
//Assert.AreEqual("", optaDevice.HwVersion.PCBSerialNumber);
//Assert.AreEqual("", optaDevice.HwVersion.BOMVersion);
//Assert.AreEqual("", optaDevice.HwVersion.PCBVersion);
//Assert.AreEqual(Aadp.Types.PCBIdentity.OPTA_V1, optaDevice.HwVersion.PCBIdentity);
Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, lockDevice.LockVersion);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyInsideState);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyOutsideState);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.ManualOpenState);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
return lockDevice;
}
[TestMethod]
public void AperioBaseDevice_Init_Test()
{
AperioBaseDevice device = CreateAperioBaseDevice();
Assert.IsNotNull(device);
}
[TestMethod]
public void AperioBaseDevice_BatteryState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBaseDevice device = CreateAperioBaseDevice();
Assert.AreEqual(BatteryStates.Unknown, device.GetBatteryState());
Task.Run(async () =>
{
await device.SetBatteryState(BatteryStates.Low, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(BatteryStates.Low, device.GetBatteryState());
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendBatteryStatus AA11BB Low", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Batterij laag", logs[0].Message);
Assert.AreEqual(BatteryStates.Low, logs[0].Device?.BatteryState);
}
[TestMethod]
public void AperioBaseDevice_DoorState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBaseDevice device = CreateAperioBaseDevice();
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, device.GetDoorState());
Task.Run(async () =>
{
await device.SetDoorState(Enumerations.DoorState.CLOSED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.DoorState.CLOSED, device.GetDoorState());
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Doorstate (CLOSED)", logs[0].Message);
Assert.AreEqual(Enumerations.DoorState.CLOSED, logs[0].Device?.DoorState);
}
[TestMethod]
public void AperioBaseDevice_LockState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBaseDevice device = CreateAperioBaseDevice();
Assert.AreEqual(Enumerations.LockState.UNKNOWN, device.GetLockState());
Task.Run(async () =>
{
await device.SetLockState(Enumerations.LockState.JAMMED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.LockState.JAMMED, device.GetLockState());
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Slot geblokkeerd", logs[0].Message);
Assert.AreEqual(Enumerations.LockState.JAMMED, logs[0].Device?.LockState);
}
[TestMethod]
public void AperioBaseDevice_ChangeIpAddress_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBaseDevice device = CreateAperioBaseDevice();
Task.Run(async () =>
{
await device.SetConnection(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual("64.226.1.0", device.IPAddress);
_connectionMoq = new Mock<ConnectionContext>();
_ = _connectionMoq.Setup(s => s.RemoteEndPoint).Returns(new IPEndPoint(654321, 1234));
_ = _connectionMoq.Setup(s => s.Transport.Output.WriteAsync(It.IsAny<ReadOnlyMemory<byte>>(), It.IsAny<CancellationToken>()));
Task.Run(async () =>
{
await device.SetConnection(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual("241.251.9.0", device.IPAddress);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(2, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Ip address veranderd naar 241.251.9.0", logs[1].Message);
Assert.AreEqual("241.251.9.0", logs[0].Device?.Ipaddress);
}
[TestMethod]
public void AperioBaseDevice_SetConnectionState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBaseDevice device = CreateAperioBaseDevice();
Assert.AreEqual(ConnectionStates.Offline, device.GetConnectionState());
Assert.IsNotNull(_dbContextFactory);
using (ACSDatabaseContext db = _dbContextFactory.CreateDbContext())
{
db.Devices.First().ConnectionState = ConnectionStates.Offline;
db.SaveChanges();
}
Task.Run(async () =>
{
await device.SetConnectionState(ConnectionStates.Online, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(ConnectionStates.Online, device.GetConnectionState());
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendConnectionStatus AA11BB Online", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
using ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Apparaat online", logs[0].Message);
Assert.AreEqual(ConnectionStates.Online, logs[0].Device?.ConnectionState);
}
}
}

View File

@@ -0,0 +1,212 @@
using Aperio_Control_Centre.Aadp;
using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.AspNetCore.Connections;
using Microsoft.EntityFrameworkCore;
using Moq;
using System.Net;
namespace Aperio_Control_Centre.UnitTest.AperioServer
{
[TestClass]
public class AperioBase_Test : AperioTestSetup
{
public AperioBase CreateAperioBase()
{
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_dbContextFactory);
AperioBase baseDevice = new(new("AA11BB"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("AA11BB", baseDevice.Id);
Assert.AreNotEqual(0, baseDevice.LastData.Ticks);
Assert.IsNotNull(baseDevice.Connection);
Assert.AreEqual("64.226.1.0", baseDevice.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, baseDevice.ConnectionState);
Assert.AreEqual(1, baseDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, baseDevice.DeviceStatus);
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, baseDevice.TamperState);
Assert.AreEqual(string.Empty, baseDevice.FirmwareVersion);
Assert.IsNull(baseDevice.HwVersion);
Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, baseDevice.LockVersion);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext db = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, db.Loggings.Count());
List<Logging> logs = db.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
db.Loggings.Remove(logs[0]);
db.SaveChanges();
return baseDevice;
}
[TestMethod]
public void AperioBase_Init_Test()
{
AperioBase device = CreateAperioBase();
Assert.IsNotNull(device);
}
[TestMethod]
public void AperioBaseDevice_ChangeIpAddress_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBase device = CreateAperioBase();
Task.Run(async () =>
{
await device.SetConnection(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual("64.226.1.0", device.IPAddress);
_connectionMoq = new Mock<ConnectionContext>();
_ = _connectionMoq.Setup(s => s.RemoteEndPoint).Returns(new IPEndPoint(654321, 1234));
_ = _connectionMoq.Setup(s => s.Transport.Output.WriteAsync(It.IsAny<ReadOnlyMemory<byte>>(), It.IsAny<CancellationToken>()));
Task.Run(async () =>
{
await device.SetConnection(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual("241.251.9.0", device.IPAddress);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Ip address veranderd naar 241.251.9.0", logs[0].Message);
Assert.AreEqual("241.251.9.0", logs[0].Device?.Ipaddress);
}
[TestMethod]
public void AperioBaseDevice_SetConnectionState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBase device = CreateAperioBase();
Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
Assert.IsNotNull(_dbContextFactory);
using (ACSDatabaseContext db = _dbContextFactory.CreateDbContext())
{
//set database device to offline
db.Devices.First().ConnectionState = ConnectionStates.Offline;
db.SaveChanges();
}
Task.Run(async () =>
{
await device.SetConnectionState(ConnectionStates.Online, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(ConnectionStates.Online, device.ConnectionState);
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendConnectionStatus AA11BB Online", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
using ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Apparaat online", logs[0].Message);
Assert.AreEqual(ConnectionStates.Online, logs[0].Device?.ConnectionState);
}
[TestMethod]
public void AperioBaseDevice_SetDeviceStatus_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBase device = CreateAperioBase();
Assert.AreEqual(Enumerations.Status.UNKNOWN, device.DeviceStatus);
Task.Run(async () =>
{
await device.SetDeviceStatus(Enumerations.Status.FAIL_UNKNOWN_ID, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.Status.FAIL_UNKNOWN_ID, device.DeviceStatus);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
using ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("device Status (FAIL_UNKNOWN_ID)", logs[0].Message);
}
[TestMethod]
public void AperioBaseDevice_SetTamperState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioBase device = CreateAperioBase();
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, device.TamperState);
Task.Run(async () =>
{
await device.SetTamperState(Enumerations.TamperState.TAMPER, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.TamperState.TAMPER, device.TamperState);
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendTamperStatus AA11BB TAMPER", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
using ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Tamper", logs[0].Message);
}
}
}

View File

@@ -0,0 +1,310 @@
using Aperio_Control_Centre.Aadp;
using Aperio_Control_Centre.Aadp.ApplicationTypes;
using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.AspNetCore.Connections;
using Microsoft.EntityFrameworkCore;
using Moq;
using System.Net;
namespace Aperio_Control_Centre.UnitTest.AperioServer
{
[TestClass]
public class AperioDoor_Test : AperioTestSetup
{
public AperioDoor CreateAperioDoor()
{
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_dbContextFactory);
AperioDoor door = new(new("AA11BB"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual(Enumerations.DoorMode.UNKNOWN, door.GetDoorMode());
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, door.DoorState);
Assert.AreEqual(Enumerations.LockState.UNKNOWN, door.LockState);
Assert.AreEqual(Enumerations.KeyCylinderState.UNKNOWN, door.KeyCylinderState);
Assert.AreEqual(Enumerations.HandleState.UNKNOWN, door.HandleState);
//Assert.ThrowsExactly<NotSupportedException>(() => door.EmergencyInsideState);
//Assert.ThrowsExactly<NotSupportedException>(() => door.EmergencyOutsideState);
//Assert.ThrowsExactly<NotSupportedException>(() => door.ManualOpenState);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext db = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, db.Loggings.Count());
List<Logging> logs = db.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
db.Loggings.Remove(logs[0]);
db.SaveChanges();
return door;
}
[TestMethod]
public void AperioBase_Init_Test()
{
AperioBase device = CreateAperioDoor();
Assert.IsNotNull(device);
}
[TestMethod]
public void AperioBaseDevice_DoorMode_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioDoor device = CreateAperioDoor();
Assert.AreEqual(Enumerations.DoorMode.UNKNOWN, device.GetDoorMode());
Task.Run(async () =>
{
await device.SetDoorMode(Enumerations.DoorMode.FREE_OPEN, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.DoorMode.FREE_OPEN, device.GetDoorMode());
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(0, context.Loggings.Count());
//List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
//Assert.IsNotNull(logs);
//Assert.AreEqual("Doorstate (CLOSED)", logs[0].Message);
//Assert.AreEqual(Enumerations.DoorState.CLOSED, logs[0].Device?.DoorState);
}
[TestMethod]
public void AperioBaseDevice_SetDoorState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioDoor device = CreateAperioDoor();
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, device.DoorState);
Task.Run(async () =>
{
await device.SetDoorState(Enumerations.DoorState.CLOSED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.DoorState.CLOSED, device.DoorState);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Doorstate (CLOSED)", logs[0].Message);
Assert.AreEqual(Enumerations.DoorState.CLOSED, logs[0].Device?.DoorState);
}
[TestMethod]
public void AperioBaseDevice_SetLockState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioDoor device = CreateAperioDoor();
Assert.AreEqual(Enumerations.LockState.UNKNOWN, device.LockState);
Task.Run(async () =>
{
await device.SetLockState(Enumerations.LockState.JAMMED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.LockState.JAMMED, device.LockState);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Slot geblokkeerd", logs[0].Message);
Assert.AreEqual(Enumerations.LockState.JAMMED, logs[0].Device?.LockState);
}
[TestMethod]
public void AperioBaseDevice_SetKeyCylinderState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioDoor device = CreateAperioDoor();
Assert.AreEqual(Enumerations.KeyCylinderState.UNKNOWN, device.KeyCylinderState);
Task.Run(async () =>
{
await device.SetKeyCylinderState(Enumerations.KeyCylinderState.USED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.KeyCylinderState.USED, device.KeyCylinderState);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("KeyCylinderState (USED)", logs[0].Message);
Assert.AreEqual(Enumerations.KeyCylinderState.USED, logs[0].Device?.KeyCylinderState);
}
[TestMethod]
public void AperioBaseDevice_SetHandleState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioDoor device = CreateAperioDoor();
Assert.AreEqual(Enumerations.HandleState.UNKNOWN, device.HandleState);
Task.Run(async () =>
{
await device.SetHandleState(Enumerations.HandleState.BOTH_USED, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(Enumerations.HandleState.BOTH_USED, device.HandleState);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("HandleState (BOTH_USED)", logs[0].Message);
Assert.AreEqual(Enumerations.HandleState.BOTH_USED, logs[0].Device?.HandleState);
}
//[TestMethod]
//public void AperioBaseDevice_ChangeIpAddress_Test()
//{
// Assert.IsNotNull(_statusBroadcast);
// Assert.IsNotNull(_screenLogging);
// AperioDoor device = CreateAperioDoor();
// Task.Run(async () =>
// {
// await device.SetConnection(_connectionMoq.Object, _token);
// }).GetAwaiter().GetResult();
// Assert.AreEqual("64.226.1.0", device.IPAddress);
// _connectionMoq = new Mock<ConnectionContext>();
// _ = _connectionMoq.Setup(s => s.RemoteEndPoint).Returns(new IPEndPoint(654321, 1234));
// _ = _connectionMoq.Setup(s => s.Transport.Output.WriteAsync(It.IsAny<ReadOnlyMemory<byte>>(), It.IsAny<CancellationToken>()));
// Task.Run(async () =>
// {
// await device.SetConnection(_connectionMoq.Object, _token);
// }).GetAwaiter().GetResult();
// Assert.AreEqual("241.251.9.0", device.IPAddress);
// Assert.AreEqual(0, _statusBroadcast.Messages.Count);
// Assert.AreEqual(0, _screenLogging.Messages.Count);
// Assert.IsNotNull(_dbContextFactory);
// ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
// Assert.AreEqual(1, context.Loggings.Count());
// List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
// Assert.IsNotNull(logs);
// //Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
// Assert.AreEqual("Ip address veranderd naar 241.251.9.0", logs[0].Message);
// Assert.AreEqual("241.251.9.0", logs[0].Device?.Ipaddress);
//}
//[TestMethod]
//public void AperioBaseDevice_SetConnectionState_Test()
//{
// Assert.IsNotNull(_statusBroadcast);
// Assert.IsNotNull(_screenLogging);
// AperioDoor device = CreateAperioDoor();
// Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
// Assert.IsNotNull(_dbContextFactory);
// using (ACSDatabaseContext db = _dbContextFactory.CreateDbContext())
// {
// db.Devices.First().ConnectionState = ConnectionStates.Offline;
// db.SaveChanges();
// }
// Task.Run(async () =>
// {
// await device.SetConnectionState(ConnectionStates.Online, _token);
// }).GetAwaiter().GetResult();
// Assert.AreEqual(ConnectionStates.Online, device.ConnectionState);
// Assert.AreEqual(1, _statusBroadcast.Messages.Count);
// Assert.AreEqual("SendConnectionStatus AA11BB Online", _statusBroadcast.Messages[0]);
// Assert.AreEqual(0, _screenLogging.Messages.Count);
// using ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
// Assert.AreEqual(1, context.Loggings.Count());
// List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
// Assert.IsNotNull(logs);
// Assert.AreEqual("Apparaat online", logs[0].Message);
// Assert.AreEqual(ConnectionStates.Online, logs[0].Device?.ConnectionState);
//}
}
}

View File

@@ -4,6 +4,7 @@ using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.EntityFrameworkCore;
namespace Aperio_Control_Centre.UnitTest.AperioServer
@@ -11,66 +12,49 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
[TestClass]
public class AperioHubDevice_Test : AperioTestSetup
{
public AperioHubDevice CreateHubDevice()
{
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_dbContextFactory);
//public AperioHubDevice CreateHubDevice()
//{
// Assert.IsNotNull(_screenLogging);
// Assert.IsNotNull(_statusBroadcast);
// Assert.IsNotNull(_dbContextFactory);
AperioHubDevice hubDevice = new(new("0412F5"), _screenLogging, _statusBroadcast, _dbContextFactory);
// AperioHubDevice hubDevice = new(new("0412F5"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("0412F5", hubDevice.Id);
Assert.IsNotNull(hubDevice.LastData);
Assert.AreNotEqual(0, hubDevice.LastData.Ticks);
// Assert.AreEqual(ConnectionStates.Offline, hubDevice.ConnectionState);
//Task.Run(async () =>
//{
// await hubDevice.SetConnection(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
// Assert.AreEqual(3, hubDevice.DataBaseDeviceID);
// Assert.AreEqual(Enumerations.Status.UNKNOWN, hubDevice.DeviceStatus);
//Assert.AreEqual("64.226.1.0", hubDevice.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, hubDevice.GetConnectionState());
Assert.AreEqual(0, hubDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, hubDevice.GetDeviceStatus());
// Assert.AreEqual(Enumerations.TamperState.UNKNOWN, hubDevice.TamperState);
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.HubDeviceId, "HubDeviceId");
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetBatteryState());
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetDoorMode());
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetDoorState());
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetLockState());
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetKeyCylinderState());
//Assert.ThrowsException<NotSupportedException>(() => hubDevice.GetHandleState());
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, hubDevice.GetTamperState());
// Assert.AreEqual(string.Empty, hubDevice.FirmwareVersion);
// Assert.IsNull(hubDevice.HwVersion);
// //Assert.IsNotNull(optaDevice.HwVersion);
// //Assert.AreEqual("", optaDevice.HwVersion.PCBSerialNumber);
// //Assert.AreEqual("", optaDevice.HwVersion.BOMVersion);
// //Assert.AreEqual("", optaDevice.HwVersion.PCBVersion);
// //Assert.AreEqual(Aadp.Types.PCBIdentity.OPTA_V1, optaDevice.HwVersion.PCBIdentity);
// Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, hubDevice.LockVersion);
Assert.AreEqual(string.Empty, hubDevice.FirmwareVersion);
Assert.IsNull(hubDevice.HwVersion);
//Assert.IsNotNull(optaDevice.HwVersion);
//Assert.AreEqual("", optaDevice.HwVersion.PCBSerialNumber);
//Assert.AreEqual("", optaDevice.HwVersion.BOMVersion);
//Assert.AreEqual("", optaDevice.HwVersion.PCBVersion);
//Assert.AreEqual(Aadp.Types.PCBIdentity.OPTA_V1, optaDevice.HwVersion.PCBIdentity);
// //Assert.ThrowsException<NotImplementedException>(() => hubDevice.EmergencyInsideState);
// //Assert.ThrowsException<NotImplementedException>(() => hubDevice.EmergencyOutsideState);
// //Assert.ThrowsException<NotImplementedException>(() => hubDevice.ManualOpenState);
Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, hubDevice.LockVersion);
// return hubDevice;
//}
//Assert.ThrowsException<NotImplementedException>(() => hubDevice.EmergencyInsideState);
//Assert.ThrowsException<NotImplementedException>(() => hubDevice.EmergencyOutsideState);
//Assert.ThrowsException<NotImplementedException>(() => hubDevice.ManualOpenState);
return hubDevice;
}
[TestMethod]
public void AperioHubDevice_Init_Test()
{
AperioHubDevice aperioHub = CreateHubDevice();
Assert.IsNotNull(aperioHub);
aperioHub.Dispose();
}
//[TestMethod]
//public void AperioHubDevice_Init_Test()
//{
// AperioHubDevice aperioHub = CreateHubDevice();
// Assert.IsNotNull(aperioHub);
// aperioHub.Dispose();
//}
[TestMethod]
public void AperioHUBDevice_UpdateDataBaseDevice_New_Test()
@@ -79,15 +63,19 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_dbContextFactory);
using AperioHubDevice device = new(new("FF00AA"), _screenLogging, _statusBroadcast, _dbContextFactory);
using AperioHubDevice device = new(new("FF00AA"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("FF00AA", device.Id);
Assert.IsNull(device.GetConnection());
Assert.IsNotNull(device.Connection);
Assert.AreEqual("64.226.1.0", device.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, device.TamperState);
Assert.AreEqual(4, device.DataBaseDeviceID);
Task.Run(async () =>
{
await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
//Task.Run(async () =>
//{
// await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
@@ -103,13 +91,13 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("HUB apparaat FF00AA aangemaakt", logs[0].Message);
//Assert.AreEqual("Hub address veranderd naar FFEECC", logs[1].Message);
//Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
Assert.AreEqual("FF00AA", logs[0].Device?.DeviceId);
Assert.AreEqual("FF00AA", logs[0].Device?.Name);
Assert.IsNull(logs[0].Device?.LocationId);
Assert.AreEqual("64.226.1.0", logs[0].Device?.Ipaddress);
Assert.AreEqual(ActiveStates.Active, logs[0].Device?.Active);
Assert.AreEqual(Enumerations.ProductClass.GATEWAY, logs[0].Device?.ProductClass);
}
[TestMethod]
@@ -119,19 +107,22 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_dbContextFactory);
using AperioHubDevice device = new(new("445566"), _screenLogging, _statusBroadcast, _dbContextFactory);
using AperioHubDevice device = new(new("445566"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("445566", device.Id);
Assert.AreEqual(ConnectionStates.Offline, device.GetConnectionState());
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, device.GetTamperState());
Assert.IsNull(device.GetConnection());
Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, device.TamperState);
Assert.IsNotNull(device.Connection);
Assert.AreEqual("64.226.1.0", device.IPAddress);
Assert.AreEqual(2, device.DataBaseDeviceID);
Task.Run(async () =>
{
await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
//Task.Run(async () =>
//{
// await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
Assert.AreEqual(ConnectionStates.Offline, device.GetConnectionState());
//Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
//Assert.AreEqual(2, device.DataBaseDeviceID);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
//Assert.AreEqual("SendDeviceAdded FF00AA", _statusBroadcast.Messages[0]);
@@ -141,18 +132,20 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
Assert.AreEqual(0, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("HUB apparaat FF00AA aangemaakt", logs[0].Message);
//Assert.AreEqual("Hub address veranderd naar FFEECC", logs[1].Message);
//Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
//List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
//Assert.IsNotNull(logs);
//Assert.AreEqual("HUB apparaat FF00AA aangemaakt", logs[0].Message);
////Assert.AreEqual("Hub address veranderd naar FFEECC", logs[1].Message);
////Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
Assert.AreEqual("FF00AA", logs[0].Device?.DeviceId);
Assert.AreEqual("FF00AA", logs[0].Device?.Name);
Assert.IsNull(logs[0].Device?.LocationId);
Assert.AreEqual("64.226.1.0", logs[0].Device?.Ipaddress);
//Assert.AreEqual("FF00AA", logs[0].Device?.DeviceId);
//Assert.AreEqual("FF00AA", logs[0].Device?.Name);
//Assert.IsNull(logs[0].Device?.LocationId);
//Assert.AreEqual("64.226.1.0", logs[0].Device?.Ipaddress);
//Assert.AreEqual(ActiveStates.Active, logs[0].Device?.Active);
//Assert.AreEqual(Enumerations.ProductClass.GATEWAY, logs[0].Device?.ProductClass);
}
}
}

View File

@@ -1,8 +1,10 @@
using Aperio_Control_Centre.Aadp;
using Aperio_Control_Centre.Aadp.ApplicationTypes;
using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.EntityFrameworkCore;
namespace Aperio_Control_Centre.UnitTest.AperioServer
@@ -12,72 +14,71 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
{
//private DeviceDefinition? _deviceDefinition;
//public AperioLockDevice CreateAperioLockDevice()
//{
// Assert.IsNotNull(_screenLogging);
// Assert.IsNotNull(_statusBroadcast);
// Assert.IsNotNull(_dbContextFactory);
public AperioLockDevice CreateAperioLockDevice()
{
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_dbContextFactory);
// _deviceDefinition = new("AA11BB", "445566", Enumerations.ProductClass.LOCK);
// AperioLockDevice lockDevice = new(_deviceDefinition.DeviceIdentity, _deviceDefinition.Host, _screenLogging, _statusBroadcast, _dbContextFactory);
//_deviceDefinition = new("AA11BB", "445566", Enumerations.ProductClass.LOCK);
AperioLockDevice lockDevice = new(new("AA11BB"), new("445566"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
// Assert.AreEqual("AA11BB", lockDevice.Id);
// Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
// Assert.AreNotEqual(0, lockDevice.LastData.Ticks);
Assert.AreEqual("AA11BB", lockDevice.Id);
Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
Assert.AreNotEqual(0, lockDevice.LastData.Ticks);
Assert.IsNotNull(lockDevice.Connection);
Assert.AreEqual("64.226.1.0", lockDevice.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, lockDevice.ConnectionState);
Assert.AreEqual(1, lockDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, lockDevice.DeviceStatus);
// //Task.Run(async () =>
// //{
// // await lockDevice.SetConnection(_connectionMoq.Object, _token);
// //}).GetAwaiter().GetResult();
//Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
// //Assert.AreEqual("64.226.1.0", lockDevice.IPAddress);
Assert.AreEqual(BatteryStates.Unknown, lockDevice.GetBatteryState());
Assert.AreEqual(Enumerations.DoorMode.UNKNOWN, lockDevice.GetDoorMode());
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, lockDevice.DoorState);
Assert.AreEqual(Enumerations.LockState.UNKNOWN, lockDevice.LockState);
Assert.AreEqual(Enumerations.KeyCylinderState.UNKNOWN, lockDevice.KeyCylinderState);
Assert.AreEqual(Enumerations.HandleState.UNKNOWN, lockDevice.HandleState);
// Assert.IsNull(lockDevice.GetConnection());
// Assert.AreEqual(ConnectionStates.Offline, lockDevice.GetConnectionState());
Assert.AreEqual(string.Empty, lockDevice.FirmwareVersion);
Assert.IsNull(lockDevice.HwVersion);
Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, lockDevice.LockVersion);
// //lockDevice.DataBaseDeviceID = 1;
// //Assert.AreEqual(1, lockDevice.DataBaseDeviceID);
// Assert.AreEqual(Enumerations.Status.UNKNOWN, lockDevice.GetDeviceStatus());
// Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
// Assert.AreEqual(BatteryStates.Unknown, lockDevice.GetBatteryState());
// Assert.AreEqual(Enumerations.DoorMode.UNKNOWN, lockDevice.GetDoorMode());
// Assert.AreEqual(Enumerations.DoorState.UNKNOWN, lockDevice.GetDoorState());
// Assert.AreEqual(Enumerations.LockState.UNKNOWN, lockDevice.GetLockState());
// Assert.AreEqual(Enumerations.KeyCylinderState.UNKNOWN, lockDevice.GetKeyCylinderState());
// Assert.AreEqual(Enumerations.HandleState.UNKNOWN, lockDevice.GetHandleState());
// //Assert.ThrowsException<NotImplementedException>(() => lockDevice.GetTamperState());
// Assert.AreEqual(string.Empty, lockDevice.FirmwareVersion);
// Assert.IsNull(lockDevice.HwVersion);
// //Assert.IsNotNull(optaDevice.HwVersion);
// //Assert.AreEqual("", optaDevice.HwVersion.PCBSerialNumber);
// //Assert.AreEqual("", optaDevice.HwVersion.BOMVersion);
// //Assert.AreEqual("", optaDevice.HwVersion.PCBVersion);
// //Assert.AreEqual(Aadp.Types.PCBIdentity.OPTA_V1, optaDevice.HwVersion.PCBIdentity);
// Assert.AreEqual(Enumerations.LockVersions.UNKNOWN, lockDevice.LockVersion);
// //Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyInsideState);
// //Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyOutsideState);
// //Assert.ThrowsException<NotImplementedException>(() => lockDevice.ManualOpenState);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyInsideState);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.EmergencyOutsideState);
//Assert.ThrowsException<NotImplementedException>(() => lockDevice.ManualOpenState);
// Assert.AreEqual(0, _screenLogging.Messages.Count);
// Assert.AreEqual(0, _statusBroadcast.Messages.Count);
// return lockDevice;
//}
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
//[TestMethod]
//public void AperioLockDevice_Init_Test()
//{
// AperioLockDevice device = CreateAperioLockDevice();
// Assert.IsNotNull(device);
//}
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext db = _dbContextFactory.CreateDbContext();
Assert.AreEqual(3, db.Loggings.Count());
List<Logging> logs = db.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Hub address veranderd naar 445566", logs[1].Message);
Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
db.Loggings.RemoveRange(logs);
db.SaveChanges();
return lockDevice;
}
[TestMethod]
public void AperioLockDevice_Init_Test()
{
AperioLockDevice device = CreateAperioLockDevice();
Assert.IsNotNull(device);
}
[TestMethod]
public void AperioLockDevice_UpdateDataBaseDevice_New_Test()
@@ -86,18 +87,21 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_dbContextFactory);
AperioLockDevice device = new(new("FF00AA"), new("445566"), _screenLogging, _statusBroadcast, _dbContextFactory);
AperioLockDevice device = new(new("FF00AA"), new("445566"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("FF00AA", device.Id);
Assert.AreEqual("445566", device.HubDeviceId.ToId());
Assert.IsNull(device.GetConnection());
Assert.IsNotNull(device.Connection);
Assert.AreEqual("64.226.1.0", device.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
Assert.AreEqual(4, device.DataBaseDeviceID);
Task.Run(async () =>
{
await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
//Task.Run(async () =>
//{
// await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
Assert.AreEqual("445566", device.HubDeviceId.ToId());
//Assert.AreEqual("445566", device.HubDeviceId.ToId());
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendDeviceAdded FF00AA", _statusBroadcast.Messages[0]);
@@ -129,10 +133,14 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_dbContextFactory);
AperioLockDevice device = new(new("AA11BB"), new("445566"), _screenLogging, _statusBroadcast, _dbContextFactory);
//AperioLockDevice device = new(new("AA11BB"), new("445566"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
AperioLockDevice device = CreateAperioLockDevice();
Assert.AreEqual("445566", device.HubDeviceId.ToId());
Assert.IsNull(device.GetConnection());
Assert.IsNotNull(device.Connection);
Assert.AreEqual("64.226.1.0", device.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, device.ConnectionState);
Assert.AreEqual(1, device.DataBaseDeviceID);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
@@ -154,20 +162,20 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
Assert.IsNotNull(device.GetConnection());
Assert.IsNotNull(device.Connection);
Assert.AreEqual("FFEECC", device.HubDeviceId.ToId());
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(3, context.Loggings.Count());
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Hub address veranderd naar FFEECC", logs[1].Message);
Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Hub address veranderd naar FFEECC", logs[0].Message);
//Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
Assert.AreEqual("AA11BB", logs[0].Device?.DeviceId);
@@ -177,5 +185,39 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual("64.226.1.0", logs[0].Device?.Ipaddress);
}
[TestMethod]
public void AperioLockDevice_BatteryState_Test()
{
Assert.IsNotNull(_statusBroadcast);
Assert.IsNotNull(_screenLogging);
AperioLockDevice device = CreateAperioLockDevice();
Assert.AreEqual(BatteryStates.Unknown, device.GetBatteryState());
Task.Run(async () =>
{
await device.SetBatteryState(BatteryStates.Low, _token);
}).GetAwaiter().GetResult();
Assert.AreEqual(BatteryStates.Low, device.GetBatteryState());
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendBatteryStatus AA11BB Low", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
//Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
Assert.AreEqual("Batterij laag", logs[0].Message);
Assert.AreEqual(BatteryStates.Low, logs[0].Device?.BatteryState);
}
}
}

View File

@@ -4,6 +4,7 @@ using Aperio_Control_Centre.ACSDatabase;
using Aperio_Control_Centre.ACSDatabase.Models;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
@@ -21,26 +22,15 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_dbContextFactory);
_deviceDefinition = new("0412F5", "0055FF", Enumerations.ProductClass.OPTA_V1);
AperioOptaDevice optaDevice = new(_deviceDefinition.DeviceIdentity, _screenLogging, _statusBroadcast, _dbContextFactory);
//AperioOptaDevice optaDevice = new(new("0412F5"), _screenLogging, _statusBroadcast, _dbContextFactory);
AperioOptaDevice optaDevice = new(_deviceDefinition.DeviceIdentity, _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("0412F5", optaDevice.Id);
//Assert.AreEqual(Enumerations.ProductClass.OPTA_V1, optaDevice.ProductClass);
//Assert.IsNotNull(optaDevice.LastData);
Assert.AreNotEqual(0, optaDevice.LastData.Ticks);
//Task.Run(async () =>
//{
// await optaDevice.SetConnection(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
//Assert.AreEqual("64.226.1.0", optaDevice.IPAddress);
Assert.IsNull(optaDevice.GetConnection());
Assert.AreEqual(ConnectionStates.Offline, optaDevice.GetConnectionState());
Assert.AreEqual(0, optaDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, optaDevice.GetDeviceStatus());
Assert.AreNotEqual(0, optaDevice.LastData.Ticks);
Assert.IsNotNull(optaDevice.Connection);
Assert.AreEqual("64.226.1.0", optaDevice.IPAddress);
Assert.AreEqual(ConnectionStates.Offline, optaDevice.ConnectionState);
Assert.AreEqual(3, optaDevice.DataBaseDeviceID);
Assert.AreEqual(Enumerations.Status.UNKNOWN, optaDevice.DeviceStatus);
//Assert.ThrowsException<NotSupportedException>(() => optaDevice.HubDeviceId);
//Assert.ThrowsException<NotSupportedException>(() => optaDevice.GetBatteryState(), "GetBatteryState");
@@ -49,10 +39,10 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
//Assert.ThrowsException<NotSupportedException>(() => optaDevice.GetHandleState());
//Assert.ThrowsException<NotSupportedException>(() => optaDevice.LockVersion);
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, optaDevice.GetDoorState());
Assert.AreEqual(Enumerations.LockState.UNKNOWN, optaDevice.GetLockState());
Assert.AreEqual(Enumerations.DoorState.UNKNOWN, optaDevice.DoorState);
Assert.AreEqual(Enumerations.LockState.UNKNOWN, optaDevice.LockState);
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, optaDevice.GetTamperState());
Assert.AreEqual(Enumerations.TamperState.UNKNOWN, optaDevice.TamperState);
Assert.AreEqual(string.Empty, optaDevice.FirmwareVersion);
Assert.IsNull(optaDevice.HwVersion);
@@ -68,6 +58,25 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual(Enumerations.ActivatorState.UNKNOWN, optaDevice.ManualOpenState);
Assert.AreEqual(0, _screenLogging.Messages.Count);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
Assert.IsNotNull(_dbContextFactory);
ACSDatabaseContext db = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, db.Loggings.Count());
List<Logging> logs = db.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Ip address veranderd naar 64.226.1.0", logs[0].Message);
//Assert.AreEqual("Hub address veranderd naar 445566", logs[1].Message);
//Assert.AreEqual("Locatie veranderd naar 1234AB", logs[2].Message);
db.Loggings.RemoveRange(logs);
db.SaveChanges();
return optaDevice;
}
@@ -85,18 +94,16 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_dbContextFactory);
//_deviceDefinition = new("0412F5", "0055FF", Enumerations.ProductClass.OPTA_V1);
//_deviceDefinition = new("DEAD00", "0055FF", Enumerations.ProductClass.OPTA_V1);
//AperioOptaDevice device = new(_deviceDefinition.DeviceIdentity, _screenLogging, _statusBroadcast, _dbContextFactory);
AperioOptaDevice device = new(new("DEAD00"), _screenLogging, _statusBroadcast, _dbContextFactory);
AperioOptaDevice device = new(new("DEAD00"), _connectionMoq.Object, _screenLogging, _statusBroadcast, _dbContextFactory);
Assert.AreEqual("DEAD00", device.Id);
Assert.IsNull(device.GetConnection());
Assert.IsNotNull(device.Connection);
Assert.AreEqual("64.226.1.0", device.IPAddress);
Task.Run(async () =>
{
await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
}).GetAwaiter().GetResult();
//Task.Run(async () =>
//{
// await device.UpdateDataBaseDevice(_connectionMoq.Object, _token);
//}).GetAwaiter().GetResult();
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendDeviceAdded DEAD00", _statusBroadcast.Messages[0]);
@@ -239,17 +246,20 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual(Enumerations.ActivatorState.UNKNOWN, device.EmergencyOutsideState);
Assert.AreEqual(Enumerations.ActivatorState.USED, device.ManualOpenState);
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendEmergencyStatus 0412F5 EmergencyOutside USED", _statusBroadcast.Messages[0]);
Assert.AreEqual(0, _statusBroadcast.Messages.Count);
//Assert.AreEqual("SendEmergencyStatus 0412F5 EmergencyOutside USED", _statusBroadcast.Messages[0]);
Assert.AreEqual(2, _screenLogging.Messages.Count);
Assert.AreEqual("Aperio_TX - DoorOpeningCommand - Device-'0412F5' Open-'True' Indication-'True' Duration( Mode-'TIME' Time-'420')", _screenLogging.Messages[0]);
Assert.AreEqual("ACS - 0412F5 - Opta lock - Handmatig 42 seconden open", _screenLogging.Messages[1]);
Assert.AreEqual(0, _screenLogging.Messages.Count);
ACSDatabaseContext context = _dbContextFactory.CreateDbContext();
Assert.AreEqual(1, context.Loggings.Count());
List<Logging> logs = context.Loggings.Include(d => d.Device).ToList();
Assert.IsNotNull(logs);
Assert.AreEqual("Breekruit buitenzijde geactiveerd", logs[0].Message);
Assert.AreEqual("Handmatig 42 seconden open", logs[0].Message);
}
}
}

View File

@@ -58,13 +58,6 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
SeedDatabase(mockDbFactory.Object.CreateDbContext());
//DatabaseLogging databaseLogging = new(mockDbFactory.Object);
//DatabaseDevice databaseDevice = new(mockDbFactory.Object, databaseLogging);
//DatabaseDevice databaseDevice = new(mockDbFactory.Object);
//DatabaseUser databaseUser = new(mockDbFactory.Object);
//_credentialRequest = new(databaseLogging, databaseDevice, databaseUser, _screenLogging);
_dbContextFactory = mockDbFactory.Object;
_deviceListLogger = Mock.Of<ILogger<AperioDeviceList>>();
@@ -82,24 +75,16 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
{
dbContext.Devices.Add(new Device()
{
Id = 1,
DeviceId = "AA11BB",
Name = "TestDevice",
Active = ActiveStates.Active,
ConnectionState = ConnectionStates.Online,
ProductClass = Enumerations.ProductClass.LOCK,
});
//dbContext.Devices.Add(new Device()
// {
// DeviceId = "112233",
// Name = "TestHost 1",
// Active = ActiveStates.Active,
// ConnectionState = ConnectionStates.Online,
// ProductClass = ProductClass.Lock,
// Ipaddress = "[::ffff:192.168.0.172]:49494",
// LocationId = 1
// });
dbContext.Devices.Add(new Device()
{
Id = 2,
DeviceId = "445566",
Name = "TestHost 2",
Active = ActiveStates.Active,
@@ -109,6 +94,7 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
});
dbContext.Devices.Add(new Device()
{
Id = 3,
DeviceId = "0412F5",
Name = "Opta lock",
Active = ActiveStates.Active,

View File

@@ -2,6 +2,7 @@
using Aperio_Control_Centre.Aadp.ApplicationTypes;
using Aperio_Control_Centre.ACSDatabase.Types;
using Aperio_Control_Centre.AperioServer;
using Aperio_Control_Centre.AperioServer.Devices;
using Microsoft.AspNetCore.Connections;
namespace Aperio_Control_Centre.UnitTest.AperioServer
@@ -25,7 +26,7 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.IsNotNull(_screenLogging);
Assert.IsNotNull(_statusBroadcast);
IAperioDevice device;
IAperioBase device;
DeviceDefinition deviceDefinition = new("112233", "445566", Enumerations.ProductClass.LOCK);
Task.Run(async () =>
@@ -39,7 +40,7 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual(2, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendDeviceAdded 112233", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 112233 Online", _statusBroadcast.Messages[1]);
Assert.AreEqual(7, _screenLogging.Messages.Count);
Assert.AreEqual("System - Added 112233 to devicelist", _screenLogging.Messages[0]);
Assert.AreEqual("Aperio_TX - GetLockStateCommand - Device-'112233'", _screenLogging.Messages[1]);
@@ -95,19 +96,21 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
}).Wait();
Assert.IsTrue(fired);
Assert.AreEqual(1, _devicesList.GetConnections().Count());
Assert.AreEqual(1, _devicesList.GetDevices().Count());
IAperioDevice device = _devicesList.GetDevices().First();
IAperioBase device = _devicesList.GetDevices().First();
Assert.IsInstanceOfType<AperioLockDevice>(device);
Assert.AreEqual("0392BC", device.Id);
Assert.AreEqual("0412F5", device.HubDeviceId.ToId());
Assert.AreEqual("64.226.1.0", device.IPAddress);
Assert.IsInstanceOfType<ConnectionContext>(device.GetConnection());
Assert.AreEqual(ConnectionStates.Online, device.GetConnectionState());
Assert.AreEqual(string.Empty, device.FirmwareVersion);
AperioLockDevice lockDevice = (AperioLockDevice)device;
Assert.AreEqual("0392BC", lockDevice.Id);
Assert.AreEqual("0412F5", lockDevice.HubDeviceId.ToId());
Assert.AreEqual("64.226.1.0", lockDevice.IPAddress);
Assert.IsInstanceOfType<ConnectionContext>(lockDevice.Connection);
Assert.AreEqual(ConnectionStates.Online, lockDevice.ConnectionState);
Assert.AreEqual(string.Empty, lockDevice.FirmwareVersion);
Assert.AreEqual(2, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendDeviceAdded 0392BC", _statusBroadcast.Messages[0]);
@@ -144,20 +147,22 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
}).Wait();
Assert.IsTrue(fired);
Assert.AreEqual(1, _devicesList.GetConnections().Count());
Assert.AreEqual(1, _devicesList.GetDevices().Count());
IAperioDevice firstDevice = _devicesList.GetDevices().First();
IAperioBase firstDevice = _devicesList.GetDevices().First();
Assert.IsNotNull(firstDevice);
Assert.IsInstanceOfType<AperioLockDevice>(firstDevice);
Assert.AreEqual("AA11BB", firstDevice.Id);
Assert.IsInstanceOfType<DeviceId>(firstDevice.HubDeviceId);
Assert.AreEqual("445566", firstDevice.HubDeviceId.ToId());
Assert.AreEqual("64.226.1.0", firstDevice.IPAddress);
Assert.IsInstanceOfType<ConnectionContext>(firstDevice.GetConnection());
Assert.AreEqual(ConnectionStates.Online, firstDevice.GetConnectionState());
Assert.AreEqual(string.Empty, firstDevice.FirmwareVersion);
AperioLockDevice lockDevice = (AperioLockDevice)firstDevice;
Assert.AreEqual("AA11BB", lockDevice.Id);
Assert.IsInstanceOfType<DeviceId>(lockDevice.HubDeviceId);
Assert.AreEqual("445566", lockDevice.HubDeviceId.ToId());
Assert.AreEqual("64.226.1.0", lockDevice.IPAddress);
Assert.IsInstanceOfType<ConnectionContext>(lockDevice.Connection);
Assert.AreEqual(ConnectionStates.Online, lockDevice.ConnectionState);
Assert.AreEqual(string.Empty, lockDevice.FirmwareVersion);
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendConnectionStatus AA11BB Online", _statusBroadcast.Messages[0]);
@@ -169,7 +174,7 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual("Aperio_TX - GetHandleStateCommand - Device-'AA11BB'", _screenLogging.Messages[3]);
Assert.AreEqual("Aperio_TX - GetKeyCylinderStateCommand - Device-'AA11BB'", _screenLogging.Messages[4]);
Assert.AreEqual("Aperio_TX - GetSupportedDoorModesCommand - Device-'AA11BB'", _screenLogging.Messages[5]);
Assert.AreEqual("Aperio_TX - GetDoorModeCommand - Device-'AA11BB'", _screenLogging.Messages[6]);
Assert.AreEqual("Aperio_TX - GetDoorModeCommand - Device-'AA11BB'", _screenLogging.Messages[6]);
}
@@ -326,15 +331,16 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
//Device added
//_statusBroadcastMoq.Verify(a => a.SendDeviceAdded("0392BC", _token));
Assert.AreEqual(1, _statusBroadcast.Messages.Count);
Assert.AreEqual(2, _statusBroadcast.Messages.Count);
//Assert.AreEqual("SendDeviceAdded 0392BC", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 0392BC Online", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendDeviceAdded 0392BC", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 0392BC Online", _statusBroadcast.Messages[1]);
Assert.IsTrue(fired);
Assert.AreEqual(1, _devicesList.GetConnections().Count());
Assert.AreEqual(1, _devicesList.GetDevices().Count());
//Assert.AreEqual(DeviceStatus.UNKNOWN, devicesList.GetDevices().First().DeviceState);
Assert.AreEqual(ConnectionStates.Online, _devicesList.GetDevices().First().GetConnectionState());
Assert.AreEqual(ConnectionStates.Online, _devicesList.GetDevices().First().ConnectionState);
//Assert.AreEqual(BatteryStates.Unknown, _devicesList.GetDevices().First().GetBatteryState());
//Assert.AreEqual("0HMGB6GP3O0JQ", _devicesList.GetDevices().First().GetConnection().ConnectionId);
@@ -351,7 +357,7 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
Assert.AreEqual(1, _devicesList.GetConnections().Count());
Assert.AreEqual(1, _devicesList.GetDevices().Count());
//Assert.AreEqual(DeviceStatus.OK, devicesList.GetDevices().First().DeviceState);
Assert.AreEqual(ConnectionStates.Online, _devicesList.GetDevices().First().GetConnectionState());
Assert.AreEqual(ConnectionStates.Online, _devicesList.GetDevices().First().ConnectionState);
//Assert.AreEqual("0HMGB6GP3O0JQ", _devicesList.GetDevices().First().GetConnection().ConnectionId);
fired = false;
@@ -361,16 +367,16 @@ namespace Aperio_Control_Centre.UnitTest.AperioServer
}).Wait();
//Connection status update
Assert.AreEqual(2, _statusBroadcast.Messages.Count);
//Assert.AreEqual("SendDeviceAdded 0392BC", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 0392BC Online", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 0392BC Offline", _statusBroadcast.Messages[1]);
Assert.AreEqual(3, _statusBroadcast.Messages.Count);
Assert.AreEqual("SendDeviceAdded 0392BC", _statusBroadcast.Messages[0]);
Assert.AreEqual("SendConnectionStatus 0392BC Online", _statusBroadcast.Messages[1]);
Assert.AreEqual("SendConnectionStatus 0392BC Offline", _statusBroadcast.Messages[2]);
Assert.IsTrue(fired);
Assert.AreEqual(1, _devicesList.GetConnections().Count());
Assert.AreEqual(1, _devicesList.GetDevices().Count());
//Assert.AreEqual(DeviceStatus.OK, devicesList.GetDevices().First().DeviceState);
Assert.AreEqual(ConnectionStates.Offline, _devicesList.GetDevices().First().GetConnectionState());
Assert.AreEqual(ConnectionStates.Offline, _devicesList.GetDevices().First().ConnectionState);
//Assert.AreEqual(BatteryStates.Unknown, _devicesList.GetDevices().First().GetBatteryState());
//fired = false;

View File

@@ -17,27 +17,27 @@ namespace Aperio_Control_Centre.UnitTest.ApiTest
[TestClass]
public class ApiTestSetup
{
public IDbContextFactory<ACSDatabaseContext>? _dbContextFactory = default!;
protected private IDbContextFactory<ACSDatabaseContext>? _dbContextFactory = default!;
//public ILogger<ApiDeviceList>? _logger = Mock.Of<ILogger<ApiDeviceList>>();
public IScreenLogger? _screenLogging = new TestingScreenLogger();
protected private IScreenLogger? _screenLogging = new TestingScreenLogger();
//public IStatusBroadcastHandler? _statusBroadcast = Mock.Of<IStatusBroadcastHandler>();
public IStatusBroadcastHandler? _statusBroadcast = new TestingStatusBroadcastHandler();
protected private IStatusBroadcastHandler? _statusBroadcast = new TestingStatusBroadcastHandler();
public ILogger<ApiDeviceList>? _apiDeviceListlogger = Mock.Of<ILogger<ApiDeviceList>>();
public ApiDeviceList _apiDeviceList = default!;
protected private ILogger<ApiDeviceList>? _apiDeviceListlogger = Mock.Of<ILogger<ApiDeviceList>>();
protected private ApiDeviceList _apiDeviceList = default!;
public ILogger<ApiController> _apiControllerLogger = Mock.Of<ILogger<ApiController>>();
public ApiController _apiController = default!;
protected private ILogger<ApiController> _apiControllerLogger = Mock.Of<ILogger<ApiController>>();
protected private ApiController _apiController = default!;
public CancellationToken _token;
protected private CancellationToken _token;
private static readonly Dictionary<string, string?> inMemorySettings = new()
{
{ "ACS:SectorKey", "B3DC49B384C1D5F34C8E232316D65821" },
{ "API:ConnectionTimeout", "120"}
};
public readonly IConfiguration _configuration = new ConfigurationBuilder()
protected private readonly IConfiguration _configuration = new ConfigurationBuilder()
.AddInMemoryCollection(inMemorySettings)
.Build();