mirror of
https://gitlab.com/fabinfra/fabaccess/borepin.git
synced 2025-03-12 14:51:44 +01:00
Fixed Default ConnectionData && Disabled UserSystem
This commit is contained in:
parent
f6105f10ac
commit
5034ca12c1
@ -30,8 +30,8 @@ namespace Borepin.PageModel
|
|||||||
#region LoadData
|
#region LoadData
|
||||||
public override Task LoadAPIData()
|
public override Task LoadAPIData()
|
||||||
{
|
{
|
||||||
UserSystem.ManageInterface_Proxy manageInterface = (UserSystem.ManageInterface_Proxy)_API.Session.UserSystem.Manage;
|
//UserSystem.ManageInterface_Proxy manageInterface = (UserSystem.ManageInterface_Proxy)_API.Session.UserSystem.Manage;
|
||||||
CanManageUsers = !manageInterface.IsNull;
|
//CanManageUsers = !manageInterface.IsNull;
|
||||||
|
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
@ -13,5 +13,6 @@ namespace Borepin.Service.Storage
|
|||||||
|
|
||||||
Task<ConnectionData> GetDefault();
|
Task<ConnectionData> GetDefault();
|
||||||
Task SetDefault(ConnectionData connectionData);
|
Task SetDefault(ConnectionData connectionData);
|
||||||
|
Task RemoveDefault();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,12 @@ namespace Borepin.Service.Storage
|
|||||||
|
|
||||||
connectionData_List.Remove(connectionData);
|
connectionData_List.Remove(connectionData);
|
||||||
await _SaveConnectionData(connectionData_List).ConfigureAwait(false);
|
await _SaveConnectionData(connectionData_List).ConfigureAwait(false);
|
||||||
|
|
||||||
|
ConnectionData connectionData_default = await GetDefault().ConfigureAwait(false);
|
||||||
|
if (connectionData_default.Equals(connectionData))
|
||||||
|
{
|
||||||
|
await RemoveDefault().ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateTimestamp(ConnectionData connectionData)
|
public async Task UpdateTimestamp(ConnectionData connectionData)
|
||||||
@ -108,6 +114,12 @@ namespace Borepin.Service.Storage
|
|||||||
string data = JsonConvert.SerializeObject(connectionData);
|
string data = JsonConvert.SerializeObject(connectionData);
|
||||||
await _SecretStorageService.SetAsync(StorageKey_ConnecitonData_AutoConnect, data).ConfigureAwait(false);
|
await _SecretStorageService.SetAsync(StorageKey_ConnecitonData_AutoConnect, data).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task RemoveDefault()
|
||||||
|
{
|
||||||
|
string data = JsonConvert.SerializeObject(null);
|
||||||
|
await _SecretStorageService.SetAsync(StorageKey_ConnecitonData_AutoConnect, data).ConfigureAwait(false);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Private Methods
|
#region Private Methods
|
||||||
|
@ -39,7 +39,7 @@ namespace FabAccessAPI_Test
|
|||||||
Assert.Fail();
|
Assert.Fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test, Ignore("")]
|
||||||
public async Task Connect_InvalidCredentials()
|
public async Task Connect_InvalidCredentials()
|
||||||
{
|
{
|
||||||
API api = new API();
|
API api = new API();
|
||||||
|
@ -52,7 +52,7 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
[TestCase("ManagerA1", 13)]
|
[TestCase("ManagerA1", 13)]
|
||||||
[TestCase("MakerA1", 13)]
|
[TestCase("MakerA1", 13)]
|
||||||
[TestCase("GuestA1", 13)]
|
[TestCase("GuestA1", 13)]
|
||||||
[Order(3), Ignore("Not Implemented")]
|
[Order(3), Ignore("Not implemented")]
|
||||||
public async Task ListRoles(string username, int expectRolesCount)
|
public async Task ListRoles(string username, int expectRolesCount)
|
||||||
{
|
{
|
||||||
API api = new API();
|
API api = new API();
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
using FabAccessAPI;
|
using Capnp.Rpc;
|
||||||
|
using FabAccessAPI;
|
||||||
using FabAccessAPI.Schema;
|
using FabAccessAPI.Schema;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
@ -40,12 +42,20 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
ConnectionData connectionData = TestEnv.CreateConnetionData(username);
|
ConnectionData connectionData = TestEnv.CreateConnetionData(username);
|
||||||
await api.Connect(connectionData);
|
await api.Connect(connectionData);
|
||||||
|
|
||||||
// TODO
|
bool methodNotImplemented = false;
|
||||||
User user = (await api.Session.UserSystem.Manage.AddUser(username2, TestEnv.PASSWORD).ConfigureAwait(false));
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
User user = (await api.Session.UserSystem.Manage.AddUser(username2, TestEnv.PASSWORD).ConfigureAwait(false));
|
||||||
|
}
|
||||||
|
catch (RpcException exception) when (string.Equals(exception.Message, "method not implemented", StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
methodNotImplemented = true;
|
||||||
|
}
|
||||||
|
|
||||||
await api.Disconnect();
|
await api.Disconnect();
|
||||||
|
|
||||||
Assert.IsNull(user);
|
Assert.IsTrue(methodNotImplemented);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("Admin1", "NewUserA1")]
|
[TestCase("Admin1", "NewUserA1")]
|
||||||
@ -62,7 +72,7 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
|
|
||||||
await api.Disconnect();
|
await api.Disconnect();
|
||||||
|
|
||||||
Assert.IsNull(user);
|
Assert.IsNotNull(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("Admin1", "Admin1")]
|
[TestCase("Admin1", "Admin1")]
|
||||||
@ -82,7 +92,7 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
Assert.AreEqual(UserSystem.ManageInterface.AddUserError.AddUserErrorEnum.alreadyExists, error);
|
Assert.AreEqual(UserSystem.ManageInterface.AddUserError.AddUserErrorEnum.alreadyExists, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("Admin1", "NewUserC1")]
|
[TestCase("Admin1", "")]
|
||||||
[Order(2)]
|
[Order(2)]
|
||||||
public async Task AddUser_InvalidUsername(string username, string username2)
|
public async Task AddUser_InvalidUsername(string username, string username2)
|
||||||
{
|
{
|
||||||
@ -126,7 +136,7 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
|
|
||||||
await api.Disconnect();
|
await api.Disconnect();
|
||||||
|
|
||||||
Assert.IsNull(user);
|
Assert.IsNotNull(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using FabAccessAPI;
|
using FabAccessAPI;
|
||||||
using FabAccessAPI.Schema;
|
using FabAccessAPI.Schema;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace FabAccessAPI_Test.API_TestEnv
|
namespace FabAccessAPI_Test.API_TestEnv
|
||||||
@ -8,19 +9,59 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class User_Test
|
public class User_Test
|
||||||
{
|
{
|
||||||
//[TestCase("Admin1")]
|
#region SetUp
|
||||||
//[Order(1)]
|
[SetUp]
|
||||||
//public async Task InfoInterface(string username)
|
public async Task SetUp()
|
||||||
//{
|
{
|
||||||
// API api = new API();
|
API api = new API();
|
||||||
// ConnectionData connectionData = TestEnv.CreateConnetionData(username);
|
ConnectionData connectionData = TestEnv.CreateConnetionData("Admin1");
|
||||||
// await api.Connect(connectionData);
|
await api.Connect(connectionData);
|
||||||
|
|
||||||
// User user = await api.Session.UserSystem.Info.GetUserSelf().ConfigureAwait(false);
|
IReadOnlyList<User> user_list = await api.Session.UserSystem.Manage.GetUserList().ConfigureAwait(false);
|
||||||
|
|
||||||
// bool result = !((User.InfoInterface_Proxy)user.Info).IsNull;
|
List<Task> tasks = new List<Task>();
|
||||||
|
foreach (User u in user_list)
|
||||||
|
{
|
||||||
|
if (u.Username.StartsWith("New"))
|
||||||
|
{
|
||||||
|
tasks.Add(api.Session.UserSystem.Manage.RemoveUser(u));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// await api.Disconnect();
|
await Task.WhenAll(tasks);
|
||||||
//}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
[TestCase("Admin1", "NewMakerA1", "UseA", "ReadA", "DiscloseA")]
|
||||||
|
[Order(1)]
|
||||||
|
public async Task AddRoles(string username, string username2, params string[] roles)
|
||||||
|
{
|
||||||
|
API api = new API();
|
||||||
|
ConnectionData connectionData = TestEnv.CreateConnetionData(username);
|
||||||
|
await api.Connect(connectionData);
|
||||||
|
|
||||||
|
await api.Session.UserSystem.Manage.AddUser(username2, TestEnv.PASSWORD);
|
||||||
|
|
||||||
|
User user = (await api.Session.UserSystem.Search.GetUserByName(username2).ConfigureAwait(false)).Just;
|
||||||
|
|
||||||
|
foreach(string s in roles)
|
||||||
|
{
|
||||||
|
await user.Admin.AddRole(new Role() { Name = s }).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
user = (await api.Session.UserSystem.Search.GetUserByName(username2).ConfigureAwait(false)).Just;
|
||||||
|
List<Role> user_roles = new List<Role>(await user.Info.ListRoles().ConfigureAwait(false));
|
||||||
|
|
||||||
|
await api.Disconnect();
|
||||||
|
|
||||||
|
Assert.Multiple(() =>
|
||||||
|
{
|
||||||
|
Assert.AreEqual(3, user_roles.Count);
|
||||||
|
foreach (string s in roles)
|
||||||
|
{
|
||||||
|
Assert.IsTrue(user_roles.Exists(x => x.Name == s));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
using FabAccessAPI;
|
using FabAccessAPI;
|
||||||
using FabAccessAPI.Schema;
|
using FabAccessAPI.Schema;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace FabAccessAPI_Test.API_TestEnv
|
namespace FabAccessAPI_Test.API_TestEnv
|
||||||
@ -93,11 +91,11 @@ namespace FabAccessAPI_Test.API_TestEnv
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("Admin1", "somerole")]
|
[TestCase("Admin1", "Admin", "ManageUsers")]
|
||||||
[TestCase("ManagerA1")]
|
[TestCase("ManagerA1", "ManageA", "UseA", "ReadA", "DiscloseA", "ManageUsers")]
|
||||||
[TestCase("MakerA1")]
|
[TestCase("MakerA1", "UseA", "ReadA", "DiscloseA")]
|
||||||
[TestCase("GuestA1")]
|
[TestCase("GuestA1", "ReadA", "DiscloseA")]
|
||||||
[Order(5), Ignore("Not Implemented")]
|
[Order(5)]
|
||||||
public async Task ListUserRoles(string username, params string[] expect_roles)
|
public async Task ListUserRoles(string username, params string[] expect_roles)
|
||||||
{
|
{
|
||||||
API api = new API();
|
API api = new API();
|
||||||
|
@ -7,7 +7,7 @@ namespace FabAccessAPI_Test
|
|||||||
public static class TestEnv
|
public static class TestEnv
|
||||||
{
|
{
|
||||||
public const string SCHEMA = "fabaccess";
|
public const string SCHEMA = "fabaccess";
|
||||||
public const string TESTSERVER = "bffh.lab.bln.kjknet.de";
|
public const string TESTSERVER = "127.0.0.1";//"bffh.lab.bln.kjknet.de";
|
||||||
public const int TESTSERVER_PORT = 59666;
|
public const int TESTSERVER_PORT = 59666;
|
||||||
public const string PASSWORD = "secret";
|
public const string PASSWORD = "secret";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user