57 lines
2.1 KiB
C#

using Microsoft.EntityFrameworkCore;
using NUnit.Framework;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UserService.DatabaseLayer.DataModels;
namespace UserService.Test
{
public class Tests
{
[SetUp]
public void Setup()
{
}
[Test]
public async Task Test1()
{
await using var db = new UserServiceDbContext();
var user = await db.Users.FirstOrDefaultAsync().ConfigureAwait(false);
var secGroup = await db.SecurityGroups.FirstOrDefaultAsync().ConfigureAwait(false);
var ous = await db.OrganizationUnits.ToListAsync().ConfigureAwait(false);
var mo = await db.UserMembers.ToListAsync().ConfigureAwait(false);
var securityGroupsOfUser = user.GetSecurityGroups();
var usersOfSecurityGroup = secGroup.GetUsers();
//var testGroup = new SecurityGroup {CommonName = "Test", Parent = ous.Last()};
//await db.SecurityGroups.AddAsync(testGroup);
//var testgroup = await db.SecurityGroups.FindAsync(1);
//testgroup.Members.AddAsync(new UserMember{MemberId = testgroup.Id, UserId = user.Id});
//await db.SaveChangesAsync();
Assert.Pass();
}
[Test]
public async Task Test2()
{
await using var db = new UserServiceDbContext();
var ous = await db.OrganizationUnits.ToListAsync().ConfigureAwait(false);
var sb = new StringBuilder();
NewMethod(ous, null, 0, ref sb);
var result = sb.ToString();
Assert.Pass();
}
private static void NewMethod(IEnumerable<OrganizationUnit> ous, Node parent, int level, ref StringBuilder sb)
{
foreach (var unit in ous.Where(x => x.Parent == parent))
{
sb.AppendLine(string.Concat(Enumerable.Repeat(' ', 4 * level)) + unit.CommonName);
NewMethod(unit.Children.OfType<OrganizationUnit>(), unit, level + 1, ref sb);
}
}
}
}