60 lines
2.0 KiB
C#
60 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using NUnit.Framework;
|
|
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();
|
|
var secGroup = await db.SecurityGroups.FirstOrDefaultAsync();
|
|
var ous = await db.OrganizationUnits.ToListAsync();
|
|
var mo = await db.UserMembers.ToListAsync();
|
|
|
|
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();
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
} |