aperio devices with inhertetens
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
212
Aperio_Control_Centre.UnitTest/AperioServer/AperioBase_Test.cs
Normal file
212
Aperio_Control_Centre.UnitTest/AperioServer/AperioBase_Test.cs
Normal 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);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
310
Aperio_Control_Centre.UnitTest/AperioServer/AperioDoor_Test.cs
Normal file
310
Aperio_Control_Centre.UnitTest/AperioServer/AperioDoor_Test.cs
Normal 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);
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user