This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -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");
}
}
}