init
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
using DTS.Common.Classes.Groups;
|
||||
using DTS.Common.Interface.DataRecorders;
|
||||
using DTS.Common.Interface.Groups;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace DatabaseUnitTesting
|
||||
{
|
||||
[TestFixture]
|
||||
public partial class DBAPITests
|
||||
{
|
||||
|
||||
[Test]
|
||||
public void TestTestSetupGroupPositive()
|
||||
{
|
||||
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("TestGroup", null);
|
||||
_ = DbAPI.DbAPI.Groups.GroupsInsert(_user, con, ref group);
|
||||
|
||||
var insertGroupRecord = new TestSetupGroupRecord()
|
||||
{
|
||||
DisplayOrder = 0,
|
||||
GroupId = group.Id,
|
||||
Position = "?",
|
||||
TestObjectType = "X",
|
||||
TestSetupId = test.Id
|
||||
};
|
||||
|
||||
var hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(_user, con, insertGroupRecord);
|
||||
Assert.IsTrue(0 == hr, "TestSetupGroupsInsert returns 0");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, null, null, out var groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(g, insertGroupRecord)),
|
||||
"TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, group.Id, null, null, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, test.Id, null, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, null, test.Name, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, group.Id, test.Id, null, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, group.Id, null, test.Name, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, test.Id, test.Name, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, group.Id, test.Id, test.Name, out groups);
|
||||
Assert.IsTrue(0 == hr && null != groups && groups.Any(g => TestSetupGroupRecordEqual(insertGroupRecord, g))
|
||||
&& 1 == groups.Length, "TestSetupGroupsGet returns inserted group");
|
||||
|
||||
var updateGroupRecord = new TestSetupGroupRecord(insertGroupRecord);
|
||||
updateGroupRecord.Position = "Y";
|
||||
updateGroupRecord.TestObjectType = "Z";
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsUpdate(_user, con, updateGroupRecord);
|
||||
Assert.IsTrue(0 == hr, "TestSetupGroupsUpdate returns 0");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, test.Id, null, out groups);
|
||||
Assert.IsTrue(0 == hr && 1 == groups.Length && TestSetupGroupRecordEqual(groups[0], updateGroupRecord),
|
||||
"TestSetupGroupsGet returns updated group");
|
||||
|
||||
hr = DbAPI.DbAPI.Groups.GroupsDelete(_user, con, group.Id, out var error);
|
||||
Assert.IsTrue(0 == hr, "Groups can delete a group");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupsDeleteById(_user, con, new[] { test.Id });
|
||||
Assert.IsTrue(0 == hr, "Test setup can be deleted");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, con, null, null, null, out groups);
|
||||
Assert.IsTrue(0 == hr && null == groups || 0 == groups.Length || !groups.Any(g => TestSetupGroupRecordEqual(g, updateGroupRecord)),
|
||||
"TestSetupsDelete removed any group record");
|
||||
}
|
||||
|
||||
private bool TestSetupGroupRecordEqual(ITestSetupGroupRecord left, ITestSetupGroupRecord right)
|
||||
{
|
||||
return left.DisplayOrder == right.DisplayOrder
|
||||
&& left.GroupId == right.GroupId
|
||||
&& left.Position == right.Position
|
||||
&& left.TestObjectType == right.TestObjectType
|
||||
&& left.TestSetupId == right.TestSetupId;
|
||||
}
|
||||
[Test]
|
||||
public void TestTestSetupGroupNegative()
|
||||
{
|
||||
if (!_setup) { Setup(); }
|
||||
TestLogin();
|
||||
var con = DbAPI.DbAPI.Connections.GetActiveConnections()[0];
|
||||
var hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(_user, null, null, null, null, out var groups);
|
||||
Assert.IsTrue(0 != hr && (null == groups || 0 == groups.Length), "TestSetups should not work without a connection");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsGet(null, con, null, null, null, out groups);
|
||||
Assert.IsTrue(0 != hr && (null == groups || 0 == groups.Length), "TestSetups should not work without a user");
|
||||
|
||||
var test = CreateFakeTestSetup();
|
||||
_ = DbAPI.DbAPI.TestSetups.TestSetupsUpdateInsert(_user, con, 0, ref test);
|
||||
var group = CreateFakeGroup("FakeGroup", null);
|
||||
_ = DbAPI.DbAPI.Groups.GroupsInsert(_user, con, ref group);
|
||||
|
||||
var groupToInsert = new TestSetupGroupRecord() { DisplayOrder = 0, GroupId = group.Id, Position = "?", TestObjectType = "?", TestSetupId = test.Id };
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(null, con, groupToInsert);
|
||||
Assert.IsTrue(0 != hr, "TestSetupsGroupsInsert should not work without user");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(_user, null, groupToInsert);
|
||||
Assert.IsTrue(0 != hr, "TestSetupGroupsInsert should not work without connection");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(_user, con, null);
|
||||
Assert.IsTrue(0 != hr, "TestSetupGroupsInsert should not work without record to insert");
|
||||
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsUpdate(null, con, groupToInsert);
|
||||
Assert.IsTrue(0 != hr, "TestSetupGroupsUpdate should not work without user");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(_user, null, groupToInsert);
|
||||
Assert.IsTrue(0 != hr, "TestSetupGroupsUpdate should not work without connection");
|
||||
hr = DbAPI.DbAPI.TestSetups.TestSetupGroupsInsert(_user, con, null);
|
||||
Assert.IsTrue(0 != hr, "TestSetupGroupsUpdate should not work without record to insert");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
using DTS.Common.Classes.Channels;
|
||||
using DTS.Common.Classes.TestSetups;
|
||||
using DTS.Common.Interface.Channels;
|
||||
using DTS.Common.Interface.TestSetups.TestSetupsList;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using DTS.Common.Storage;
|
||||
|
||||
namespace DatabaseUnitTesting
|
||||
{
|
||||
[TestFixture]
|
||||
public partial class DBAPITests
|
||||
{
|
||||
/// <summary>
|
||||
/// Testing of version created for the replacement of the string RegionsOfInterest field in the
|
||||
/// TestSetups table with the TestSetupROIs and ROIPeriodChannels tables.
|
||||
/// This should only work with a Version 92 or later database, but should handle Version 91 databases gracefully.
|
||||
/// Tests included:
|
||||
/// sp_TestSetupsUpdateInsert_92 (and sp_TestSetupsInsert_92)
|
||||
/// sp_TestSetupROIsInsert
|
||||
/// sp_ROIPeriodChannelsInsert
|
||||
/// sp_TestSetupROIsGet
|
||||
/// sp_ROIPeriodChannelsGet
|
||||
/// sp_TestSetupROIsDelete
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void RegionsOfInterest()
|
||||
{
|
||||
if (!_setup) { Setup(); }
|
||||
TestLogin();
|
||||
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
||||
|
||||
//***Testing*** sp_TestSetupsUpdateInsert_92
|
||||
var testSetupRecordToInsert = CreateFakeTestSetupWithROIs(2);
|
||||
var hr = DbAPI.DbAPI.TestSetups.TestSetupsUpdateInsert(_user, connections.First(), 92, ref testSetupRecordToInsert);
|
||||
Assert.IsTrue(0 == hr, "Should be able to insert a test setup");
|
||||
|
||||
DbAPI.DbAPI.GetDatabaseVersion(connections.First(), out int serverDbVersion);
|
||||
if (serverDbVersion <= 91)
|
||||
{
|
||||
var regionOfInterest = testSetupRecordToInsert.RegionsOfInterest.First();
|
||||
hr = DbAPI.DbAPI.RegionsOfInterest.RegionsOfInterestInsert(_user, connections.First(), 91, testSetupRecordToInsert.Id, regionOfInterest);
|
||||
Assert.IsTrue(0 != hr, "RegionsOfInterestInsert should not work if database Version is 91 or less");
|
||||
}
|
||||
else if (serverDbVersion >= 92)
|
||||
{
|
||||
//***Testing*** sp_TestSetupROIsInsert and sp_ROIPeriodChannelsInsert
|
||||
//valid Insert Regions of Interest
|
||||
foreach (var regionOfInterest in testSetupRecordToInsert.RegionsOfInterest)
|
||||
{
|
||||
hr = DbAPI.DbAPI.RegionsOfInterest.RegionsOfInterestInsert(_user, connections.First(), 97, testSetupRecordToInsert.Id, regionOfInterest);
|
||||
}
|
||||
|
||||
//***Testing*** sp_TestSetupROIsGet and sp_ROIPeriodChannelsGet
|
||||
//valid get the RegionsOfInterest for this Test Setup
|
||||
hr = DbAPI.DbAPI.RegionsOfInterest.RegionsOfInterestGet(_user, connections.First(), DbOperations.CURRENT_DB_VERSION, testSetupRecordToInsert.Id, out var roiRecords);
|
||||
Assert.IsTrue(0 == hr && null != roiRecords && roiRecords.Length == 2 && roiRecords.Any(r => r.Suffix == testSetupRecordToInsert.RegionsOfInterest.First().Suffix),
|
||||
"First suffix test failed");
|
||||
Assert.IsTrue(0 == hr && null != roiRecords && roiRecords.Length == 2 && roiRecords.Any(r => r.Suffix == testSetupRecordToInsert.RegionsOfInterest.Last().Suffix),
|
||||
"Last suffix test failed");
|
||||
|
||||
//***Testing*** sp_TestSetupROIsDelete
|
||||
//Delete all of the RegionsOfInterest for this Test Setup
|
||||
hr = DbAPI.DbAPI.RegionsOfInterest.RegionsOfInterestDelete(_user, connections.First(), testSetupRecordToInsert.Id);
|
||||
Assert.IsTrue(0 == hr, "Should be able to delete all ROIs in a Test Setup");
|
||||
|
||||
//***Testing*** sp_TestSetupROIsGet and sp_ROIPeriodChannelsGet
|
||||
//Make sure they were deleted
|
||||
hr = DbAPI.DbAPI.RegionsOfInterest.RegionsOfInterestGet(_user, connections.First(), DbOperations.CURRENT_DB_VERSION, testSetupRecordToInsert.Id, out roiRecords);
|
||||
Assert.IsTrue(0 == hr && (null == roiRecords || roiRecords.Length == 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user