139 lines
5.3 KiB
C#
Raw Permalink Normal View History

2024-04-30 11:58:47 +02:00
using System.Security.Cryptography;
using Capnp.Rpc;
using FabAccessAPI;
2024-03-30 19:21:10 +01:00
using FabAccessAPI.Schema;
using NLog.Time;
using NUnit.Framework;
namespace FabAccessAPI_Test;
[TestFixture]
public class ResourceTest
{
2024-04-30 11:58:47 +02:00
// [TestCase("UserA", "MachineAPowerable")]
// public async Task Claim_Powerable_ON_OFF(string username, string resourcename)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Resource resource = (await api.Session.Resources.GetByName(resourcename).ConfigureAwait(false)).Item1;
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// IClaim claim = (await resource.Claim.Claim(null).ConfigureAwait(false)).Ok;
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Map<IReadOnlyList<byte>, object> traits = await claim.Traits().ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// byte[] oid_trait_powerable = OID.OidStringToByteArray("1.3.6.1.4.1.61783.612.1.1");
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// object pointer = traits.Entries.First(x => x.Key == oid_trait_powerable).Value;
// ITraitPowerable traitPowerable = ((Proxy)pointer).Cast<ITraitPowerable>(false);
// StatePowerable statePowerable = await traitPowerable.GetState().ConfigureAwait(false);
// if(statePowerable.which != StatePowerable.WHICH.Off)
// {
// Assert.Inconclusive("start state is not the one expected");
// }
// traitPowerable = (await traitPowerable.TurnOn().ConfigureAwait(false)).Ok;
// Assert.That(await traitPowerable.GetState().ConfigureAwait(false), Is.EqualTo(StatePowerable.WHICH.On));
// traitPowerable = (await traitPowerable.TurnOff().ConfigureAwait(false)).Ok;
// Assert.That(await traitPowerable.GetState().ConfigureAwait(false), Is.EqualTo(StatePowerable.WHICH.Off));
// }
// [Test(Description="TestID: 00001")]
// [TestCase("UserA", "MachineA")]
// public async Task Claim(string username, string resourcename)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
// Resource resource = await api.Session.Resources.GetByName(resourcename).ConfigureAwait(false);
// Fallible<IClaim, Claimable.IClaimError> result = await resource.Claim.Claim().ConfigureAwait(false);
// // TODO: Claim Error State in Case of Success
// IClaim claim = result.Ok;
// // TODO: Change State
// await claim.Disown().ConfigureAwait(false);
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// [TestCase("UserA", "fabaccess://test.fab-access.space/resources/MachineA")]
// public async Task GetByUrl(string username, string resourceURN)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Resource resource = await api.Session.Resources.GetByUrl(resourceURL).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Assert.That(resource, Is.Not.Null);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// [TestCase("UserA", "urn:fabaccess:resource:MachineA")]
// public async Task GetByUrn(string username, string resourceURN)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Resource resource = await api.Session.Resources.GetByUrn(resourceURN).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// [TestCase("UserA")]
// public async Task List(string username)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// IReadOnlyList<Resource> result = await api.Session.Resources.List().ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// [TestCase("UserA")]
// public async Task Claimed(string username)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// IReadOnlyList<IClaim> result = await api.Session.Resources.Claimed().ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// [TestCase("UserA", "MachineA")]
// public async Task ClaimedListCheck(string username, string resourcename)
// {
// API api = new API();
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
// await api.Connect(connectionData).ConfigureAwait(false);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// IReadOnlyList<IClaim> result1 = await api.Session.Resources.Claimed().ConfigureAwait(false);
// Assert.That(result1.Count, Is.Zero);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// Resource machineA = await api.Session.Resources.GetByName(resourcename).ConfigureAwait(false);
// IClaim claim = (await machineA.Claim.Claim().ConfigureAwait(false)).Ok;
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// IReadOnlyList<IClaim> result2 = await api.Session.Resources.Claimed().ConfigureAwait(false);
// Assert.That(result2.Count, Is.Not.Zero);
2024-03-30 19:21:10 +01:00
2024-04-30 11:58:47 +02:00
// await api.Disconnect().ConfigureAwait(false);
// }
2024-03-30 19:21:10 +01:00
}