112 lines
6.6 KiB
C#
112 lines
6.6 KiB
C#
using DTS.Common.Classes.Hardware;
|
|
using DTS.Common.Classes.Sensors;
|
|
using DTS.Common.Enums.Sensors;
|
|
using DTS.Common.Interface.Sensors;
|
|
using NUnit.Framework;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace DatabaseUnitTesting
|
|
{
|
|
[TestFixture]
|
|
public partial class DBAPITests
|
|
{
|
|
[Test]
|
|
public void TestSensorsDeleteAll()
|
|
{
|
|
if (!_setup) { Setup(); }
|
|
TestLogin();
|
|
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
|
var sensor = CreateFakeSensor();
|
|
var hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(_user, connections.First(), sensor);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogUpdateInsert should return 0");
|
|
Assert.IsTrue(sensor.Id > 0, "Inserted sensor Id should be > 0");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, sensor.SerialNumber, null, out var records);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogGet should return 0 for inserted sensor");
|
|
Assert.IsTrue(null != records && 1 == records.Length, "SensorsAnalogGet should return 1 sensor");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDeleteAll(_user, connections.First());
|
|
Assert.AreEqual(0, hr, "SensorsDeleteAll should return 0");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, null, null, out records);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogGet should return 0");
|
|
Assert.IsTrue(null != records && records.Any(), "After SensorsAnalogDelete test specific A and C should exist");
|
|
Assert.IsTrue(records.Any(record => record.SerialNumber == SensorConstants.TEST_SPECIFIC_ANALOG_SERIAL)
|
|
&& records.Any(record => record.SerialNumber == SensorConstants.TEST_SPECIFIC_CLOCK_SERIAL),
|
|
"TSA and TSC should still exist after delete");
|
|
}
|
|
[Test]
|
|
public void TestSensorsAnalogInsertAndDelete()
|
|
{
|
|
if (!_setup) { Setup(); }
|
|
TestLogin();
|
|
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
|
var sensor = CreateFakeSensor();
|
|
var hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(_user, connections.First(), sensor);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogUpdateInsert should return 0");
|
|
Assert.IsTrue(sensor.Id > 0, "Inserted sensor Id should be > 0");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, sensor.SerialNumber, null, out var records);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogGet should return 0 for inserted sensor");
|
|
Assert.IsTrue(null != records && 1 == records.Length, "SensorsAnalogGet should return 1 sensor");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDelete(_user, connections.First(), sensor.Id, 0);
|
|
Assert.AreEqual(0, hr, "SensorsDelete should return 0 for inserted sensor");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, sensor.SerialNumber, null, out records);
|
|
Assert.IsTrue(0 == hr && (null == records || 0 == records.Length), "Sensor should no longer return from SensorsAnalogGet");
|
|
}
|
|
[Test]
|
|
public void TestSensorAnalogInsertAndDeleteShouldFail()
|
|
{
|
|
if (!_setup) { Setup(); }
|
|
TestLogin();
|
|
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
|
var sensor = CreateFakeSensor();
|
|
var hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(null, connections.First(), sensor);
|
|
Assert.AreNotEqual(0, hr, "SensorsAnalogUpdateInsert should fail without user");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(_user, null, sensor);
|
|
Assert.AreNotEqual(0, hr, "SensorsAnalogUpdateInsert should fail without connect");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(_user, connections.First(), sensor);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogUpdateInsert should return 0");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDelete(null, connections.First(), sensor.Id, 0);
|
|
Assert.AreNotEqual(0, hr, "SensorsDelete should fail without user");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDelete(_user, null, sensor.Id, 0);
|
|
Assert.AreNotEqual(0, hr, "SensorsDelete should fail without connection");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDelete(_user, connections.First(), sensor.Id, 0);
|
|
}
|
|
[Test]
|
|
public void TestSensorsAnalogBridgeResistanceGet()
|
|
{
|
|
if (!_setup) { Setup(); }
|
|
TestLogin();
|
|
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
|
var sensor = CreateFakeSensor();
|
|
var hr = DbAPI.DbAPI.Sensors.SensorsAnalogUpdateInsert(_user, connections.First(), sensor);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogUpdateInsert should return 0");
|
|
Assert.IsTrue(sensor.Id > 0, "Inserted sensor Id should be > 0");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, sensor.SerialNumber, null, out var records);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogGet should return 0 for inserted sensor");
|
|
Assert.IsTrue(null != records && 1 == records.Length, "SensorsAnalogGet should return 1 sensor");
|
|
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogBridgeResistanceGet(_user, connections.First(), sensor.SerialNumber, out var resistance);
|
|
Assert.AreEqual(0, hr, "SensorsAnalogBridgeResistanceGet returns 0");
|
|
Assert.AreEqual(resistance, FAKE_BRIDGE_RESISTANCE_OMS, "BridgeResistance returns the same as was set");
|
|
|
|
hr = DbAPI.DbAPI.Sensors.SensorsDelete(_user, connections.First(), sensor.Id, 0);
|
|
Assert.AreEqual(0, hr, "SensorsDelete should return 0 for inserted sensor");
|
|
hr = DbAPI.DbAPI.Sensors.SensorsAnalogGet(_user, connections.First(), null, sensor.SerialNumber, null, out records);
|
|
Assert.IsTrue(0 == hr && (null == records || 0 == records.Length), "Sensor should no longer return from SensorsAnalogGet");
|
|
}
|
|
|
|
|
|
private const double FAKE_BRIDGE_RESISTANCE_OMS = 350;
|
|
private IAnalogDbRecord CreateFakeSensor()
|
|
{
|
|
var sensor = new AnalogDbRecord();
|
|
sensor.Created = DateTime.Now;
|
|
sensor.LastModified = DateTime.Now;
|
|
sensor.EId = "";
|
|
sensor.SerialNumber = new Guid().ToString();
|
|
sensor.BridgeResistance = FAKE_BRIDGE_RESISTANCE_OMS;
|
|
return sensor;
|
|
}
|
|
}
|
|
}
|