using NUnit.Framework;
namespace Net.Pkcs11Interop.Tests.HighLevelAPI
{
[TestFixture()]
public class _06_SessionTest
{
[Test()]
public void _01_BasicSessionTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
ISession session = slot.OpenSession(
SessionType.ReadOnly);
session.CloseSession();
}
}
[Test()]
public void _02_UsingSessionTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadOnly))
{
}
}
}
[Test()]
public void _03_CloseSessionViaSlotTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
ISession session = slot.OpenSession(
SessionType.ReadOnly);
slot.CloseSession(session);
}
}
[Test()]
public void _04_CloseAllSessionsTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
ISession session = slot.OpenSession(
SessionType.ReadOnly);
Assert.IsNotNull(session);
slot.CloseAllSessions();
}
}
[Test()]
public void _05_ReadOnlySessionTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadOnly))
{
}
}
}
[Test()]
public void _06_ReadWriteSessionTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadWrite))
{
}
}
}
[Test()]
public void _07_SessionInfoTest()
{
using (IPkcs11Library pkcs11Library = Settings.Factories.Pkcs11LibraryFactory.LoadPkcs11Library(Settings.Factories, Settings.Pkcs11LibraryPath, Settings.AppType))
{
ISlot slot = Helpers.GetUsableSlot(pkcs11Library);
using (ISession session = slot.OpenSession(
SessionType.ReadOnly))
{
ISessionInfo sessionInfo = session.GetSessionInfo();
Assert.IsTrue(sessionInfo.SlotId == slot.SlotId);
Assert.IsNotNull(sessionInfo.SessionFlags);
}
}
}
}
}