using DTS.Common.Classes.Channels; using DTS.Common.Interface.Channels; using NUnit.Framework; using System; using System.Linq; namespace DatabaseUnitTesting { [TestFixture] public partial class DBAPITests { [Test] public void TestChannelsInsert() { if (!_setup) { Setup(); } TestLogin(); var connections = DbAPI.DbAPI.Connections.GetActiveConnections(); var channel = CreateFakeChannel(); //var hr = DbAPI.DbAPI.Channels.ChannelsInsert(); //Assert.AreEqual(0, hr, "ChannelsInsert should return 0"); //Assert.IsTrue(channel.Id > 0, "Inserted channel Id should be > 0"); var hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out var channels); Assert.AreEqual(0, hr, "ChannelsGet should return 0 for inserted channel"); Assert.IsTrue(null != channels && 1 == channels.Length, "ChannelsGet should return 1 channel"); //hr = DbAPI.DbAPI.Channels.ChannelsDelete(); //Assert.AreEqual(0, hr, "ChannelsDelete should return 0 for inserted channel"); hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out channels); Assert.IsTrue(0 == hr && (null == channels || 0 == channels.Length), "Channel should no longer return 0 from ChannelsGet"); } [Test] public void TestChannelsUpdate() { if (!_setup) { Setup(); } TestLogin(); var connections = DbAPI.DbAPI.Connections.GetActiveConnections(); var channel = CreateFakeChannel(); //var hr = DbAPI.DbAPI.Channels.ChannelsUpdate(); //Assert.AreEqual(0, hr, "ChannelsUpdate should return 0"); //Assert.IsTrue(channel.Id > 0, "Updated channel Id should be > 0"); var hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out var channels); Assert.AreEqual(0, hr, "ChannelsGet should return 0 for updated channel"); Assert.IsTrue(null != channels && 1 == channels.Length, "ChannelsGet should return 1 channel"); //hr = DbAPI.DbAPI.Channels.ChannelsDelete(); //Assert.AreEqual(0, hr, "ChannelsDelete should return 0 for inserted channel"); hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out channels); Assert.IsTrue(0 == hr && (null == channels || 0 == channels.Length), "Channel should no longer return 0 from ChannelsGet"); } [Test] public void TestChannelsGet() { if (!_setup) { Setup(); } TestLogin(); var connections = DbAPI.DbAPI.Connections.GetActiveConnections(); var channel = CreateFakeChannel(); //var hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), channel); //Assert.AreEqual(0, hr, "ChannelsGet should return 0"); //Assert.IsTrue(channel.Id > 0, "Channel Id should be > 0"); var hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out var channels); Assert.AreEqual(0, hr, "ChannelsGet should return 0 for inserted channel"); Assert.IsTrue(null != channels && 1 == channels.Length, "ChannelsGet should return 1 channel"); //hr = DbAPI.DbAPI.Channels.ChannelsDelete(); //Assert.AreEqual(0, hr, "ChannelsDelete should return 0 for inserted channel"); hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out channels); Assert.IsTrue(0 == hr && (null == channels || 0 == channels.Length), "Channel should no longer return 0 from ChannelsGet"); } [Test] public void TestChannelsDelete() { if (!_setup) { Setup(); } TestLogin(); var connections = DbAPI.DbAPI.Connections.GetActiveConnections(); var channel = CreateFakeChannel(); //var hr = DbAPI.DbAPI.Channels.ChannelsDelete(); //Assert.AreEqual(0, hr, "ChannelsDelete should return 0"); //Assert.IsTrue(channel.Id > 0, "Updated channel Id should be > 0"); var hr = DbAPI.DbAPI.Channels.ChannelsGet(_user, connections.First(), clientDbVersion, channel.Id, null, null, null, null, null, out var channels); Assert.IsTrue(0 == hr, "ChannelsGet should return 0"); Assert.IsTrue(null == channels || 0 == channels.Length, "ChannelsGet should return no channel"); } private IChannelDbRecord CreateFakeChannel() { //var group = CreateFakeGroup(); var channel = new ChannelDbRecord(); //channel.GroupId = group.Id; channel.LastModified = DateTime.Now; return channel; } } }