using System.Collections.Generic;
using NUnit.Framework;
namespace Net.Pkcs11Interop.Tests.HighLevelAPI
{
[TestFixture()]
public class _03_SlotListInfoAndEventTest
{
[Test()]
public void _01_SlotListTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
List<ISlot> slots = pkcs11Library.GetSlotList(
SlotsType.WithOrWithoutTokenPresent);
Assert.IsNotNull(slots);
Assert.IsTrue(slots.Count > 0);
}
}
[Test()]
public void _02_BasicSlotListAndInfoTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
List<ISlot> slots = pkcs11Library.GetSlotList(
SlotsType.WithOrWithoutTokenPresent);
Assert.IsNotNull(slots);
Assert.IsTrue(slots.Count > 0);
ISlotInfo slotInfo = slots[0].GetSlotInfo();
Assert.IsNotNull(slotInfo.ManufacturerId);
}
}
[Test()]
public void _03_WaitForSlotEventTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
bool eventOccured = false;
ulong slotId = 0;
pkcs11Library.WaitForSlotEvent(
WaitType.NonBlocking, out eventOccured, out slotId);
Assert.IsFalse(eventOccured);
}
}
}
}