Пример #1
0
        public BaseTest()
        {
            _transferService = new Mock <ITransferService>();
            _serverInfo      = new TestingServerInfo
            {
                Ip     = "1.1.1.1",
                Port   = 443,
                Status = ServerStatus.Busy
            };

            _server = new TestingServer(_serverInfo, _transferService.Object);

            _task = new TaskDefinition
            {
                Id     = Guid.NewGuid(),
                Points = 100
            };
            _upload = new Upload
            {
                Id     = Guid.NewGuid(),
                TaskId = _task.Id,
                Task   = _task,
                UserId = Guid.NewGuid().ToString()
            };
            _uploadData = new UploadData(_upload.Id, nameof(_uploadData));
        }
        public async Task ReportNewServer(string ip)
        {
            var server = new TestingServerInfo
            {
                Ip      = ip,
                Port    = 10000,
                Status  = ServerStatus.Free,
                Version = "grpc"
            };

            var checkersToDelete = _context.CachedCheckers.Where(c => c.ServerIp == ip);

            _context.CachedCheckers.RemoveRange(checkersToDelete);

            var existingServer = await _context.Servers.FirstOrDefaultAsync(s => s.Ip == ip);

            if (existingServer == null)
            {
                _context.Servers.Add(server);
            }
            else
            {
                existingServer.Port   = server.Port;
                existingServer.Status = ServerStatus.Free;
            }
            await _context.SaveChangesAsync();

            _ = _testingRunner.TryStartNewWorker();
        }
        public TryStartNewWorker()
        {
            _freeServerInfo = new TestingServerInfo
            {
                Ip     = "1.1.1.1",
                Port   = 443,
                Status = ServerStatus.Free
            };

            _queuedUpload = new Upload
            {
                Id     = Guid.NewGuid(),
                Status = UploadStatus.Queue
            };
        }
Пример #4
0
 public TestingServer(TestingServerInfo serverInfo, ITransferService transferService)
 {
     ServerInfo      = serverInfo;
     TransferService = transferService;
 }