public void FindAllFromServer() { // arrange var pavlovServers = PavlovServerServiceTests.InitializePavlovServer(_sshServerSerivce, _pavlovServerService); var serverBan = CreatePavlovServerBans(_serverBansService, pavlovServers.First()); // act var serverResult = _serverBansService.FindOne(serverBan.Id).GetAwaiter().GetResult(); var serverResult1 = _serverBansService.FindAll().GetAwaiter().GetResult(); var serverResult2 = _serverBansService.FindAllFromPavlovServerId(pavlovServers.First().Id, false) .GetAwaiter().GetResult(); var serverResult3 = _serverBansService.FindAllFromPavlovServerId(pavlovServers.First().Id, true) .GetAwaiter().GetResult(); var serverResult4 = _serverBansService.Delete(serverBan.Id).GetAwaiter().GetResult(); var serverResult5 = _serverBansService.FindOne(serverBan.Id).GetAwaiter().GetResult(); // assert serverResult.Should().NotBeNull(); serverResult1.Should().HaveCount(1); serverResult2.Should().HaveCount(1); serverResult3.Should().HaveCount(1); serverResult4.Should().BeTrue(); serverResult5.Should().BeNull(); }
public async Task <IActionResult> ImportBans(PavlovServerImportBansListViewModel viewModel) { if (viewModel.ServerId <= 0) { return(BadRequest("Please choose a server!")); } var user = await _userservice.getUserFromCp(HttpContext.User); if (!await RightsHandler.HasRightsToThisPavlovServer(HttpContext.User, user , viewModel.ServerId, _service, _pavlovServerService)) { return(Forbid()); } var server = await _pavlovServerService.FindOne(viewModel.ServerId); await using var ms = new MemoryStream(); await viewModel.BansFromFile.CopyToAsync(ms); var fileBytes = ms.ToArray(); var table = (Encoding.Default.GetString( fileBytes, 0, fileBytes.Length - 1)).Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); var timespan = "unlimited"; Statics.BanList.TryGetValue(timespan, out var timespans); if (string.IsNullOrEmpty(timespan)) { return(BadRequest("TimeSpan must be set!")); } var banlist = Array.Empty <ServerBans>(); if (server.GlobalBan) { ViewBag.GlobalBan = true; banlist = await _serverBansService.FindAllGlobal(true); } else { banlist = await _serverBansService.FindAllFromPavlovServerId(viewModel.ServerId, true); } foreach (var steamId in table) { var singleSteamId = steamId.Replace(";", "").Trim(); var ban = new ServerBans { SteamId = singleSteamId, BanSpan = timespans, BannedDateTime = DateTime.Now, PavlovServer = server }; if (banlist.FirstOrDefault(x => x.SteamId == ban.SteamId) == null) { await _serverBansService.Upsert(ban); } } return(new ObjectResult(true)); }