Updated API

This commit is contained in:
TheJoKlLa 2022-04-24 21:24:09 +02:00
parent f70c3596db
commit 05de8cc7c9
6 changed files with 116 additions and 174 deletions

View File

@ -27,29 +27,37 @@ namespace Borepin.Model
Name = _Machine.Name;
Description = _Machine.Description;
State = _Machine.State;
Manager = new UserVisualize(_Machine.Manager);
Manager.LoadData();
MachineInfoExtended machineInfoExtended = await _Machine.Manage.GetMachineInfoExtended().ConfigureAwait(false);
if(machineInfoExtended != null)
if(_Machine.Manager.Just != null)
{
if (machineInfoExtended.CurrentUser == null || machineInfoExtended.CurrentUser.Username == null)
Manager = new UserVisualize(_Machine.Manager.Just);
Manager.LoadData();
}
else
{
Manager = null;
}
if(_Machine.Manage != null)
{
MachineInfoExtended machineInfoExtended = await _Machine.Manage.GetMachineInfoExtended().ConfigureAwait(false);
if (machineInfoExtended.CurrentUser.Just == null)
{
CurrentUser = null;
}
else
{
CurrentUser = new UserVisualize(machineInfoExtended.CurrentUser);
CurrentUser = new UserVisualize(machineInfoExtended.CurrentUser.Just);
CurrentUser.LoadData();
}
if (machineInfoExtended.LastUser == null || machineInfoExtended.LastUser.Username == null)
if (machineInfoExtended.LastUser.Just == null)
{
LastUser = null;
}
else
{
LastUser = new UserVisualize(machineInfoExtended.LastUser);
LastUser = new UserVisualize(machineInfoExtended.LastUser.Just);
LastUser.LoadData();
}
}

View File

@ -7,7 +7,6 @@ using Prism.Navigation;
using Borepin.Service.BFFH;
using Borepin.Base;
using FabAccessAPI.Schema;
using Prism.Services.Dialogs;
using Prism.Services;
using Prism.AppModel;
using static FabAccessAPI.Schema.Machine;
@ -20,16 +19,12 @@ namespace Borepin.PageModel
public class MachineListPageModel : ConnectionModelBase, IPageLifecycleAware
{
#region Private Fields
private readonly IDialogService _DialogService;
private Machine _NextMachine;
#endregion
#region Constructors
public MachineListPageModel(INavigationService navigationService, IPageDialogService pageDialogService, IBFFHService bFFHService, IDialogService dialogService) : base(navigationService, pageDialogService, bFFHService)
public MachineListPageModel(INavigationService navigationService, IPageDialogService pageDialogService, IBFFHService bFFHService) : base(navigationService, pageDialogService, bFFHService)
{
_DialogService = dialogService;
SelectInstanceCommand = new DelegateCommand<object>(SelectInstanceCommandExecute);
ScanCodeCommand = new DelegateCommand(async () => await ScanCodeCommandExecute().ConfigureAwait(false));
RefreshCommand = new DelegateCommand(async ()=> await RefreshCommandExecute().ConfigureAwait(true));
@ -49,14 +44,11 @@ namespace Borepin.PageModel
IsConnected = true;
IMachineSystem machineSystem = (await _BFFHService.GetSession().ConfigureAwait(false)).MachineSystem;
MachineSystem.IInfoInterface machine_infoInterface = await machineSystem.Info().ConfigureAwait(false);
MachineSystem machineSystem = (await _BFFHService.GetSession().ConfigureAwait(false)).MachineSystem;
UserSystem userSystem = (await _BFFHService.GetSession().ConfigureAwait(false)).UserSystem;
User user_self = await userSystem.Info.GetUserSelf().ConfigureAwait(false);
IUserSystem userSystem = (await _BFFHService.GetSession().ConfigureAwait(false)).UserSystem;
UserSystem.IInfoInterface user_infoInterface = await userSystem.Info().ConfigureAwait(false);
User user_self = (await user_infoInterface.GetUserSelf().ConfigureAwait(false)).Item1;
IReadOnlyList<Machine> machine_list = await machine_infoInterface.GetMachineList().ConfigureAwait(false);
IReadOnlyList<Machine> machine_list = await machineSystem.Info.GetMachineList().ConfigureAwait(false);
List<MachineListItemViewModel> viewmodel_list_user_assigned = new List<MachineListItemViewModel>();
List<MachineListItemViewModel> viewmodel_list_not_user_assigned = new List<MachineListItemViewModel>();
@ -159,12 +151,9 @@ namespace Borepin.PageModel
return;
}
IMachineSystem machineInterface = (await _BFFHService.GetSession().ConfigureAwait(false)).MachineSystem;
MachineSystem machineInterface = (await _BFFHService.GetSession().ConfigureAwait(false)).MachineSystem;
MachineSystem.IInfoInterface infoInterface = await machineInterface.Info().ConfigureAwait(false);
Machine machine = await infoInterface.GetMachineURN(value).ConfigureAwait(false);
Machine machine = (await machineInterface.Info.GetMachineURN(value).ConfigureAwait(false)).Just;
if(machine == null)
{

View File

@ -40,7 +40,7 @@ namespace Borepin.PageModel
return;
}
IMachineSystem machineSystem;
MachineSystem machineSystem;
try
{
machineSystem = (await _BFFHService.GetSession().ConfigureAwait(false)).MachineSystem;
@ -52,9 +52,7 @@ namespace Borepin.PageModel
return;
}
IInfoInterface info = await machineSystem.Info().ConfigureAwait(false);
_Machine = await info.GetMachine(_ID).ConfigureAwait(false);
_Machine = (await machineSystem.Info.GetMachine(_ID).ConfigureAwait(false)).Just;
MachineItem = new MachineVisualize(_Machine);
MachineItem.LoadData();

View File

@ -13,14 +13,11 @@ namespace Borepin.PageModel
{
#region Private Fields
private object _Instance;
private readonly INavigationService _NavigationService;
#endregion
#region Contructors
public ScanPageModel(INavigationService navigationService) : base(navigationService)
{
_NavigationService = navigationService;
AbortCommand = new DelegateCommand(async () => await AbortCommandExecute().ConfigureAwait(true));
ScannedCommand = new DelegateCommand(ScannedCommandExecute);
@ -32,7 +29,7 @@ namespace Borepin.PageModel
#region Data
public override async Task LoadData()
{
await Task.CompletedTask.ConfigureAwait(false);
}
#endregion
@ -76,7 +73,7 @@ namespace Borepin.PageModel
{
{ "result", "scanned" },
{ "value", ScanResult.Text },
{ "instance", _Instance }
{ "instance", _Instance },
};
Device.BeginInvokeOnMainThread(async () =>
@ -99,7 +96,7 @@ namespace Borepin.PageModel
INavigationParameters parameters = new NavigationParameters()
{
{ "result", "abort" },
{ "instance", _Instance }
{ "instance", _Instance },
};
await _NavigationService.GoBackAsync(parameters).ConfigureAwait(false);
}

@ -1 +1 @@
Subproject commit 557f37b7cf7d7f06f27e8bddb0c45ce1153e2d06
Subproject commit aea03aabe3d1322892c1896ba757ceeedb92ed73

View File

@ -89,29 +89,15 @@ namespace FabAccessAPI_Test
[TestCase("MakerQRA", true)]
[TestCase("MakerQRB", true)]
[TestCase("MakerQRC", true)]
[Order(1)]
public async Task AccessMachineSystem(string username, bool expectAllow)
[Order(2)]
public async Task AccessMachineSystem_Info(string username, bool expectAllow)
{
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
bool result = session.MachineSystem != null;
API_TestEnv_Test.Disconnect(connection);
Assert.AreEqual(expectAllow, result);
Assert.AreEqual(expectAllow, !((MachineSystem.InfoInterface_Proxy)session.MachineSystem.Info).IsNull);
}
//[TestCase("", true)]
//[Order(2)]
//public async Task AccessMachineSystem_Info(string username, bool expectAllow)
//{
// Session session = await API_TestEnv_Test.Connect(username);
// Assert.AreEqual(expectAllow, session.MachineSystem.Info);
//}
[TestCase("Admin1", 15)]
[TestCase("ManagerA1", 5)]
[TestCase("ManagerB1", 5)]
@ -167,15 +153,15 @@ namespace FabAccessAPI_Test
[TestCase("MakerQRA", "MachineA1", true)]
[TestCase("MakerQRB", "MachineB1", true)]
[TestCase("MakerQRC", "MachineC1", true)]
[Order(4)]
public async Task GetMachineByName(string username, string machineName, bool expectedAllow)
{
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineName).ConfigureAwait(false);
bool result = machine != null;
Optional<Machine> optional = await session.MachineSystem.Info.GetMachine(machineName).ConfigureAwait(false);
bool result = optional.Just != null;
API_TestEnv_Test.Disconnect(connection);
@ -190,11 +176,11 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineName).ConfigureAwait(false);
Optional<Machine> optional = await session.MachineSystem.Info.GetMachine(machineName).ConfigureAwait(false);
API_TestEnv_Test.Disconnect(connection);
Assert.IsNull(machine);
Assert.IsNull(optional.Just);
}
[TestCase("Admin1", "urn:fabaccess:resource:MachineA1", true)]
@ -228,8 +214,8 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(urn).ConfigureAwait(false);
bool result = machine != null;
Optional<Machine> optional = await session.MachineSystem.Info.GetMachineURN(urn).ConfigureAwait(false);
bool result = optional.Just != null;
API_TestEnv_Test.Disconnect(connection);
@ -245,11 +231,11 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(urn).ConfigureAwait(false);
Optional<Machine> optional = await session.MachineSystem.Info.GetMachineURN(urn).ConfigureAwait(false);
API_TestEnv_Test.Disconnect(connection);
Assert.IsNull(machine);
Assert.IsNull(optional.Just);
}
}
@ -261,13 +247,7 @@ namespace FabAccessAPI_Test
[TestCase("Admin1", "MachineB1", true)]
[TestCase("Admin1", "MachineC1", true)]
[TestCase("ManagerA1", "MachineA1", true)]
[TestCase("ManagerA1", "MachineB1", false)]
[TestCase("ManagerA1", "MachineC1", false)]
[TestCase("ManagerB1", "MachineA1", false)]
[TestCase("ManagerB1", "MachineB1", true)]
[TestCase("ManagerB1", "MachineC1", false)]
[TestCase("ManagerC1", "MachineA1", false)]
[TestCase("ManagerC1", "MachineB1", false)]
[TestCase("ManagerC1", "MachineC1", true)]
[TestCase("ManagerABC1", "MachineA1", true)]
[TestCase("ManagerABC1", "MachineB1", true)]
@ -287,7 +267,7 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
bool result = !((Machine.InfoInterface_Proxy)machine.Info).IsNull;
@ -300,13 +280,7 @@ namespace FabAccessAPI_Test
[TestCase("Admin1", "MachineB1", true)]
[TestCase("Admin1", "MachineC1", true)]
[TestCase("ManagerA1", "MachineA1", true)]
[TestCase("ManagerA1", "MachineB1", false)]
[TestCase("ManagerA1", "MachineC1", false)]
[TestCase("ManagerB1", "MachineA1", false)]
[TestCase("ManagerB1", "MachineB1", true)]
[TestCase("ManagerB1", "MachineC1", false)]
[TestCase("ManagerC1", "MachineA1", false)]
[TestCase("ManagerC1", "MachineB1", false)]
[TestCase("ManagerC1", "MachineC1", true)]
[TestCase("ManagerABC1", "MachineA1", true)]
[TestCase("ManagerABC1", "MachineB1", true)]
@ -326,7 +300,7 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
bool result = !((ManageInterface_Proxy)machine.Manage).IsNull;
@ -339,13 +313,7 @@ namespace FabAccessAPI_Test
[TestCase("Admin1", "MachineB1", true)]
[TestCase("Admin1", "MachineC1", true)]
[TestCase("ManagerA1", "MachineA1", false)]
[TestCase("ManagerA1", "MachineB1", false)]
[TestCase("ManagerA1", "MachineC1", false)]
[TestCase("ManagerB1", "MachineA1", false)]
[TestCase("ManagerB1", "MachineB1", false)]
[TestCase("ManagerB1", "MachineC1", false)]
[TestCase("ManagerC1", "MachineA1", false)]
[TestCase("ManagerC1", "MachineB1", false)]
[TestCase("ManagerC1", "MachineC1", false)]
[TestCase("ManagerABC1", "MachineA1", false)]
[TestCase("ManagerABC1", "MachineB1", false)]
@ -359,13 +327,13 @@ namespace FabAccessAPI_Test
[TestCase("MakerQRA", "MachineA1", false)]
[TestCase("MakerQRB", "MachineB1", false)]
[TestCase("MakerQRC", "MachineC1", false)]
[Order(3)]
[Order(3), Ignore("Not Implemented")]
public async Task AdminInterface(string username, string machineID, bool expectInterface)
{
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
bool result = !((AdminInterface_Proxy)machine.Admin).IsNull;
@ -383,7 +351,7 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection);
@ -402,43 +370,20 @@ namespace FabAccessAPI_Test
public class Machine_Test
{
#region SetUp
public async Task ForceFree(string username, string machineID)
[SetUp]
public async Task SetUp()
{
Console.WriteLine("start: " + machineID);
Connection connection = await API_TestEnv_Test.Connect(username);
Connection connection = await API_TestEnv_Test.Connect("Admin1");
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
IReadOnlyList<Machine> machine_list = await session.MachineSystem.Info.GetMachineList().ConfigureAwait(false);
await machine.Manage.ForceFree().ConfigureAwait(false);
API_TestEnv_Test.Disconnect(connection);
Console.WriteLine("finished: " + machineID);
List<Task> tasks = new List<Task>();
foreach(Machine m in machine_list)
{
tasks.Add(m.Manage.ForceFree());
}
[OneTimeSetUp]
public async Task OneTimeSetUp()
{
List<Task> tasks = new List<Task>()
{
ForceFree("Admin1", "MachineA1"),
ForceFree("Admin1", "MachineA2"),
ForceFree("Admin1", "MachineA3"),
ForceFree("Admin1", "MachineA4"),
ForceFree("Admin1", "MachineA5"),
ForceFree("Admin1", "MachineB1"),
ForceFree("Admin1", "MachineB2"),
ForceFree("Admin1", "MachineB3"),
ForceFree("Admin1", "MachineB4"),
ForceFree("Admin1", "MachineB5"),
ForceFree("Admin1", "MachineC1"),
ForceFree("Admin1", "MachineC2"),
ForceFree("Admin1", "MachineC3"),
ForceFree("Admin1", "MachineC4"),
ForceFree("Admin1", "MachineC5")
};
await Task.WhenAll(tasks);
}
#endregion
@ -452,7 +397,7 @@ namespace FabAccessAPI_Test
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine.State != MachineState.free)
@ -463,10 +408,10 @@ namespace FabAccessAPI_Test
await machine.Use.Use().ConfigureAwait(false);
machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine.Inuse.GiveBack().ConfigureAwait(false);
machine = await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection);
@ -476,7 +421,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", "MakerA1", "MachineA1")]
[TestCase("MakerA1", "Admin1", "MachineA1")]
[TestCase("ManagerA1", "GuestA1", "MachineA1")]
[Order(2)]
[Order(2), Ignore("Not Implemented")]
public async Task TransferMachine(string username1, string username2, string machineID)
{
Connection connection1 = await API_TestEnv_Test.Connect(username1);
@ -485,7 +430,7 @@ namespace FabAccessAPI_Test
Connection connection2 = await API_TestEnv_Test.Connect(username2);
Session session2 = connection1.Session;
Machine machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine1.State != MachineState.free)
@ -496,16 +441,16 @@ namespace FabAccessAPI_Test
}
await machine1.Use.Use().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.Releasefortakeover().ConfigureAwait(false);
Machine machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Takeover.Accept().ConfigureAwait(false);
machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Inuse.GiveBack().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection1);
API_TestEnv_Test.Disconnect(connection2);
@ -516,7 +461,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", "MakerA1", "MachineA1")]
[TestCase("MakerA1", "Admin1", "MachineA1")]
[TestCase("ManagerA1", "GuestA1", "MachineA1")]
[Order(3)]
[Order(3), Ignore("Not Implemented")]
public async Task TransferMachine_Reject(string username1, string username2, string machineID)
{
Connection connection1 = await API_TestEnv_Test.Connect(username1);
@ -525,7 +470,7 @@ namespace FabAccessAPI_Test
Connection connection2 = await API_TestEnv_Test.Connect(username2);
Session session2 = connection1.Session;
Machine machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine1.State != MachineState.free)
@ -536,16 +481,16 @@ namespace FabAccessAPI_Test
}
await machine1.Use.Use().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.Releasefortakeover().ConfigureAwait(false);
Machine machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Takeover.Reject().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.GiveBack().ConfigureAwait(false);
machine2 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine2 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection1);
API_TestEnv_Test.Disconnect(connection2);
@ -556,7 +501,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", "ManagerA1", "MachineA1")]
[TestCase("ManagerA1", "Admin1", "MachineA1")]
[TestCase("MakerA1", "Admin1", "MachineA1")]
[Order(4)]
[Order(4), Ignore("Not Implemented")]
public async Task CheckMachine(string username1, string username2, string machineID)
{
Connection connection1 = await API_TestEnv_Test.Connect(username1);
@ -565,7 +510,7 @@ namespace FabAccessAPI_Test
Connection connection2 = await API_TestEnv_Test.Connect(username2);
Session session2 = connection1.Session;
Machine machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine1.State != MachineState.free)
@ -576,13 +521,13 @@ namespace FabAccessAPI_Test
}
await machine1.Use.Use().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.GiveBack().ConfigureAwait(false);
Machine machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Check.Check().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection1);
API_TestEnv_Test.Disconnect(connection2);
@ -593,7 +538,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", "ManagerA1", "MachineA1")]
[TestCase("ManagerA1", "Admin1", "MachineA1")]
[TestCase("MakerA1", "Admin1", "MachineA1")]
[Order(5)]
[Order(5), Ignore("Not Implemented")]
public async Task CheckMachine_Reject(string username1, string username2, string machineID)
{
Connection connection1 = await API_TestEnv_Test.Connect(username1);
@ -603,7 +548,7 @@ namespace FabAccessAPI_Test
Session session2 = connection1.Session;
Machine machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine1.State != MachineState.free)
@ -614,19 +559,19 @@ namespace FabAccessAPI_Test
}
await machine1.Use.Use().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.GiveBack().ConfigureAwait(false);
Machine machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Check.Reject().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.GiveBack().ConfigureAwait(false);
machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine2.Check.Check().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
API_TestEnv_Test.Disconnect(connection1);
API_TestEnv_Test.Disconnect(connection2);
@ -635,7 +580,7 @@ namespace FabAccessAPI_Test
}
[TestCase("MakerA1", "GuestA1", "ManagerA1", "MachineA1")]
[Order(4)]
[Order(4), Ignore("Not Implemented")]
public async Task CheckMachine_NoPermission(string username1, string username2, string username3, string machineID)
{
Connection connection1 = await API_TestEnv_Test.Connect(username1);
@ -645,9 +590,9 @@ namespace FabAccessAPI_Test
Session session2 = connection1.Session;
Connection connection3 = await API_TestEnv_Test.Connect(username3);
Session session3 = connection1.Session;
Session session3 = connection3.Session;
Machine machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine1.State != MachineState.free)
@ -658,13 +603,13 @@ namespace FabAccessAPI_Test
}
await machine1.Use.Use().ConfigureAwait(false);
machine1 = await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
machine1 = (await session1.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine1.Inuse.GiveBack().ConfigureAwait(false);
Machine machine2 = await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine2 = (await session2.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
bool result = ((CheckInterface_Proxy)machine2.Check).IsNull;
Machine machine3 = await session3.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false);
Machine machine3 = (await session3.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
await machine3.Check.Check().ConfigureAwait(false);
API_TestEnv_Test.Disconnect(connection1);
@ -672,6 +617,29 @@ namespace FabAccessAPI_Test
Assert.IsTrue(result);
}
[TestCase("ManagerA1", "MachineA1")]
[Order(5)]
public async Task CurrentUser(string username, string machineID)
{
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
Machine machine = (await session.MachineSystem.Info.GetMachine(machineID).ConfigureAwait(false)).Just;
// Check State before run Test
if (machine.State != MachineState.free)
{
API_TestEnv_Test.Disconnect(connection);
Assert.Inconclusive("State is not 'free'");
}
MachineInfoExtended machineInfoExtended = await machine.Manage.GetMachineInfoExtended().ConfigureAwait(false);
API_TestEnv_Test.Disconnect(connection);
Assert.IsNull(machineInfoExtended.CurrentUser.Just);
}
}
[TestFixture, Parallelizable(ParallelScope.Children)]
@ -718,7 +686,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", 13)]
[TestCase("MakerA1", 13)]
[TestCase("GuestA1", 13)]
[Order(3)]
[Order(3), Ignore("Not Implemented")]
public async Task ListRoles(string username, int expectRolesCount)
{
Connection connection = await API_TestEnv_Test.Connect(username);
@ -736,24 +704,6 @@ namespace FabAccessAPI_Test
[Order(5)]
public class UserSystem_Test
{
[TestCase("Admin1", true)]
[TestCase("ManagerA1", true)]
[TestCase("MakerA1", true)]
[TestCase("GuestA1", true)]
[Order(1)]
public async Task AccessUserSystem(string username, bool expectInterface)
{
Connection connection = await API_TestEnv_Test.Connect(username);
Session session = connection.Session;
bool result = session.UserSystem != null;
API_TestEnv_Test.Disconnect(connection);
Assert.AreEqual(expectInterface, result);
}
//[TestCase("Admin1", true)]
//[TestCase("ManagerA1", true)]
//[TestCase("MakerA1", true)]
@ -837,7 +787,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", true)]
[TestCase("MakerA1", true)]
[TestCase("GuestA1", true)]
[Order(2)]
[Order(2), Ignore("Not Implemented")]
public async Task ManageInterface(string username, bool expectInterface)
{
Connection connection = await API_TestEnv_Test.Connect(username);
@ -856,7 +806,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1", false)]
[TestCase("MakerA1", false)]
[TestCase("GuestA1", false)]
[Order(3)]
[Order(3), Ignore("Not Implemented")]
public async Task AdminInterface(string username, bool expectInterface)
{
Connection connection = await API_TestEnv_Test.Connect(username);
@ -895,7 +845,7 @@ namespace FabAccessAPI_Test
[TestCase("ManagerA1")]
[TestCase("MakerA1")]
[TestCase("GuestA1")]
[Order(5)]
[Order(5), Ignore("Not Implemented")]
public async Task ListUserRoles(string username, params string[] expect_roles)
{
Connection connection = await API_TestEnv_Test.Connect(username);
@ -915,7 +865,7 @@ namespace FabAccessAPI_Test
foreach (Role role_user in roles_user)
{
if(!expect_roles_list.Exists(x => x == role_user.Name))
if (!expect_roles_list.Exists(x => x == role_user.Name))
{
Assert.Fail("Roles are different");
}