init
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
using DbAPI.Errors;
|
||||
using DTS.Common.Classes.Groups;
|
||||
using DTS.Common.Classes.TestSetups;
|
||||
using DTS.Common.Interface.DataRecorders;
|
||||
using DTS.Common.Interface.Groups;
|
||||
using DTS.Common.Interface.TestSetups;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace DatabaseUnitTesting
|
||||
{
|
||||
[TestFixture]
|
||||
public partial class DBAPITests
|
||||
{
|
||||
|
||||
[Test]
|
||||
public void TestTestSetupHardwarePositive()
|
||||
{
|
||||
if (!_setup) { Setup(); }
|
||||
TestLogin();
|
||||
var con = DbAPI.DbAPI.Connections.GetActiveConnections()[0];
|
||||
|
||||
var test = CreateFakeTestSetup();
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupsUpdateInsert(_user, con, 0, ref test);
|
||||
|
||||
var group = CreateFakeGroup("Fake Test Group", null);
|
||||
var channel = CreateFakeChannel();
|
||||
var hardware = CreateFakeDAS();
|
||||
var hwChannels = CreateFakeChannels(hardware);
|
||||
|
||||
_ = DbAPI.DbAPI.DAS.DASInsert(_user, con, hardware);
|
||||
var chIdx = 0;
|
||||
foreach (var hwCh in hwChannels)
|
||||
{
|
||||
IDASChannelDBRecord iCh = hwCh;
|
||||
_ = DbAPI.DbAPI.DAS.DASChannelsInsert(_user, con, $"{hardware.SerialNumber}_{hardware.DASType}", ref iCh);
|
||||
chIdx++;
|
||||
}
|
||||
|
||||
var hwRecord = new TestSetupHardwareRecord()
|
||||
{
|
||||
AddDAS = true,
|
||||
DASId = hardware.DASId,
|
||||
AntiAliasFilterRate = 2000,
|
||||
IsClockMaster = false,
|
||||
SamplesPerSecond = 20000,
|
||||
TestSetupId = test.Id,
|
||||
PTPDomainId = 0
|
||||
};
|
||||
|
||||
var hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareInsert(_user, con, hwRecord);
|
||||
Assert.IsTrue(0 == hr, "TestSetupHardwareInsert returns 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(_user, con, con.ClientDbVersion, null, out var hwRecords);
|
||||
Assert.IsTrue(0 == hr && null != hwRecords && 0 != hwRecords.Length &&
|
||||
hwRecords.Any(h => IsTestSetupHardwareRecordsEqual(h, hwRecord)),
|
||||
"TestSetupHardwareGet returns 0 and has record inserted");
|
||||
|
||||
var hwRecordToUpdate = new TestSetupHardwareRecord(hwRecord);
|
||||
hwRecordToUpdate.SamplesPerSecond = 10000;
|
||||
hwRecordToUpdate.AddDAS = false;
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareUpdate(_user, con, hwRecordToUpdate);
|
||||
Assert.IsTrue(0 == hr, "TestSetupHardwareUpdate returns 0");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(_user, con, con.ClientDbVersion, null, out hwRecords);
|
||||
Assert.IsTrue(0 == hr && null != hwRecords && 0 != hwRecords.Length &&
|
||||
hwRecords.Any(h => IsTestSetupHardwareRecordsEqual(h, hwRecordToUpdate))
|
||||
&& !hwRecords.Any(h => IsTestSetupHardwareRecordsEqual(h, hwRecord)),
|
||||
$"TestSetupHardwareGet returned updated record and not previous inserted record");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareDelete(_user, con, null, hwRecord.DASId, null);
|
||||
Assert.IsTrue(0 == hr, "TestSetupHardwareDelete returns 0");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(_user, con, con.ClientDbVersion, null, out hwRecords);
|
||||
Assert.IsTrue(0 == hr && (null == hwRecords || 0 == hwRecords.Length || !hwRecords.Any(h => h.DASId == hwRecord.DASId)),
|
||||
"TestSetupHardwareDelete deletes records");
|
||||
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupsDeleteById(_user, con, new[] { test.Id });
|
||||
_ = DbAPI.DbAPI.DAS.DASDelete(_user, con, hardware.DASId, hardware.SerialNumber, false);
|
||||
}
|
||||
private bool IsTestSetupHardwareRecordsEqual(ITestSetupHardwareRecord left, ITestSetupHardwareRecord right)
|
||||
{
|
||||
return left.AddDAS == right.AddDAS &&
|
||||
left.AntiAliasFilterRate == right.AntiAliasFilterRate &&
|
||||
left.DASId == right.DASId &&
|
||||
left.IsClockMaster == right.IsClockMaster &&
|
||||
left.SamplesPerSecond == right.SamplesPerSecond &&
|
||||
left.TestSetupId == right.TestSetupId &&
|
||||
left.PTPDomainId == right.PTPDomainId;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestTestSetupHardwareNegative()
|
||||
{
|
||||
if (!_setup) { Setup(); }
|
||||
TestLogin();
|
||||
var con = DbAPI.DbAPI.Connections.GetActiveConnections()[0];
|
||||
|
||||
var test = CreateFakeTestSetup();
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupsUpdateInsert(_user, con, 0, ref test);
|
||||
|
||||
var group = CreateFakeGroup("Fake Test Group", null);
|
||||
var channel = CreateFakeChannel();
|
||||
var hardware = CreateFakeDAS();
|
||||
var hwChannels = CreateFakeChannels(hardware);
|
||||
|
||||
_ = DbAPI.DbAPI.DAS.DASInsert(_user, con, hardware);
|
||||
var chIdx = 0;
|
||||
foreach (var hwCh in hwChannels)
|
||||
{
|
||||
IDASChannelDBRecord iCh = hwCh;
|
||||
_ = DbAPI.DbAPI.DAS.DASChannelsInsert(_user, con, $"{hardware.SerialNumber}_{hardware.DASType}", ref iCh);
|
||||
chIdx++;
|
||||
}
|
||||
|
||||
var hwRecord = new TestSetupHardwareRecord()
|
||||
{
|
||||
AddDAS = true,
|
||||
DASId = hardware.DASId,
|
||||
AntiAliasFilterRate = 2000,
|
||||
IsClockMaster = false,
|
||||
SamplesPerSecond = 20000,
|
||||
TestSetupId = test.Id,
|
||||
PTPDomainId = 0
|
||||
};
|
||||
|
||||
var hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareInsert(_user, null, hwRecord);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareInsert should not return 0 without a user");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareInsert(null, con, hwRecord);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareInsert should not return 0 without a connection");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareInsert(_user, con, null);
|
||||
Assert.IsTrue(ErrorCodes.ERROR_MISSING_PARAMETER == hr,
|
||||
"TestSetupHardwareInsert should return missing parameter with empty hardware");
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupHardwareInsert(_user, con, hwRecord);
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(null, con, con.ClientDbVersion, null, out var hardwareRecords);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareGet with null user should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(_user, null, clientDbVersion, null, out hardwareRecords);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareGet with null connection should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareGet(_user, con, con.ClientDbVersion, test.Id + 1, out hardwareRecords);
|
||||
Assert.IsTrue(0 != hr || null == hardwareRecords || 0 == hardwareRecords.Length,
|
||||
"TestSetupHardwareGet with a different test id should not return the hardware record");
|
||||
|
||||
|
||||
var hwRecordToUpdate = new TestSetupHardwareRecord(hwRecord);
|
||||
hwRecordToUpdate.SamplesPerSecond = 10000;
|
||||
hwRecordToUpdate.AddDAS = false;
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareUpdate(null, con, hwRecordToUpdate);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareUpdate with null user should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareUpdate(_user, null, hwRecordToUpdate);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareUpdate with null connection should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareUpdate(_user, con, null);
|
||||
Assert.IsTrue(ErrorCodes.ERROR_MISSING_PARAMETER == hr,
|
||||
"TestSetupHardwareUpdate with null hardware should return missing parameter");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareDelete(null, con, null, hwRecord.DASId, null);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareDelete with null user should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareDelete(_user, null, null, hwRecord.DASId, null);
|
||||
Assert.IsTrue(0 != hr, "TestSetupHardwareDelete with null connection should not return 0");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupHardwareDelete(_user, con, null, null, null);
|
||||
Assert.IsTrue(ErrorCodes.ERROR_MISSING_PARAMETER == hr,
|
||||
"TestSetupHardwareDelete with no parameters should return missing parameter");
|
||||
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupHardwareDelete(_user, con, null, hwRecord.DASId, null);
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupsDeleteById(_user, con, new[] { test.Id });
|
||||
_ = DbAPI.DbAPI.DAS.DASDelete(_user, con, hardware.DASId, hardware.SerialNumber, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user