Exemplo n.º 1
0
        public async Task GetTasksTest()
        {
            OpenvasApi       api   = new OpenvasApi(Address);
            GetTasksResponse tasks = await api.GetTasks(new GetTasksRequest());// { TaskId = "9f1c770b-22b6-4df9-9c2b-01b489ff466f" });

            Assert.IsNotNull(tasks.Tasks);

            string j = JsonConvert.SerializeObject(tasks);
        }
Exemplo n.º 2
0
        protected override async Task <object> Run_Internal(IObserver observer, string asset, IScanRepository repository, object args)
        {
            if (String.IsNullOrEmpty(asset) || args == null)
            {
                return(null);
            }

            string     address = args?.ToString();
            OpenvasApi api     = new OpenvasApi(address);

            string taskId = asset;
            var    r      = await api.StartTask(taskId);

            if (r?.Status == "202")
            {
                while (true)
                {
                    await Task.Delay(1000);

                    GetTasksResponse tasks = await api.GetTasks(new GetTasksRequest { TaskId = taskId });

                    var first = tasks.Tasks.FirstOrDefault();
                    if (null != first)
                    {
                        if (first.Status == "Running" || first.Status == "Requested")
                        {
                            if (first.Progress is JObject jo)
                            {
                                observer.Notify("Openvas_" + taskId, "Progress: " + jo["_"], null);
                            }
                            else if (first.Progress is string progress)
                            {
                                observer.Notify("Openvas_" + taskId, "Progress: " + progress, null);
                            }

                            continue;
                        }
                        else
                        {
                            observer.Notify("Openvas_" + taskId, "Done at : " + DateTime.Now, null);
                        }
                    }
                    else
                    {
                        observer.Notify("Openvas_" + taskId, "couldn't get the task info, operation cancelled", null);
                    }

                    break;
                }
            }

            GetResultsResponse results = await api.GetResults(new GetResultsRequest { TaskId = taskId });

            return(results?.Results);
        }
Exemplo n.º 3
0
 public GetTasksResponse GetTasks(GetTasksRequest request)
 {
     try
     {
         GetTasksResponse response = new GetTasksResponse();
         response.Tasks   = GoalsEndpointUtil.GetTasks(request);
         response.Version = request.Version;
         return(response);
     }
     catch (WebServiceException ex)
     {
         throw new WebServiceException("AD:GetTasks()::" + ex.Message, ex.InnerException);
     }
 }
Exemplo n.º 4
0
        public GetTasksResponse GetTasks(GetTasksRequest request)
        {
            var response = new GetTasksResponse();

            try
            {
                var tasks = _taskRepository.Find(request.QueryParams);
                response.Result = _taskMapper.ConvertToDTO(tasks);
            }
            catch (Exception ex)
            {
                response.Exception = ex;
            }

            return(response);
        }
Exemplo n.º 5
0
        public void GetTasks_Test()
        {
            GetTasksRequest request = new GetTasksRequest();

            request.ContractNumber = "InHealth001";
            request.Version        = 1;
            request.StatusIds      = new List <int> {
                1, 2, 3
            };
            request.PatientId = "543c2e6b84ac050980224c50";
            request.UserId    = "531f2df5072ef727c4d2a3bc";

            GoalsManager     gManager = new GoalsManager();
            GetTasksResponse response = gManager.GetTasks(request);

            Assert.IsNotNull(response);
        }
Exemplo n.º 6
0
        public GetTasksResponse Post(GetTasksRequest request)
        {
            GetTasksResponse      response = new GetTasksResponse();
            GoalsManager          gm       = new GoalsManager();
            ValidateTokenResponse result   = null;

            try
            {
                request.Token = base.Request.Headers["Token"] as string;
                result        = Security.IsUserValidated(request.Version, request.Token, request.ContractNumber);
                if (result.UserId.Trim() != string.Empty)
                {
                    request.UserId = result.UserId;
                    response       = gm.GetTasks(request);
                }
                else
                {
                    throw new UnauthorizedAccessException();
                }
            }
            catch (Exception ex)
            {
                CommonFormatter.FormatExceptionResponse(response, base.Response, ex);
                if ((ex is WebServiceException) == false)
                {
                    gm.LogException(ex);
                }
            }
            finally
            {
                if (result != null)
                {
                    AuditHelper.LogAuditData(request, result.SQLUserId, null, System.Web.HttpContext.Current.Request, request.GetType().Name);
                }
            }
            return(response);
        }
Exemplo n.º 7
0
        public void GetMultipleTest()
        {
            var task1 = new TaskDTO {
                Id            = Guid.NewGuid(),
                Name          = "test",
                Time          = DateTime.Now,
                UserId        = Guid.NewGuid(),
                UserFirstName = "test",
                UserLastName  = "test"
            };

            var task2 = new TaskDTO {
                Id            = Guid.NewGuid(),
                Name          = "test2",
                Time          = DateTime.Now,
                UserId        = Guid.NewGuid(),
                UserFirstName = "test2",
                UserLastName  = "test2"
            };

            var expected = new GetTasksResponse {
                Result = new List <TaskDTO> {
                    task1,
                    task2
                }
            };

            var mockService = new Mock <ITaskService>();

            mockService.Setup(x => x.GetTasks(It.IsAny <GetTasksRequest>())).Returns(expected);

            var mockRespoonseBuilder = new Mock <IHttpResponseBuilder>();

            var controller = new TaskController(mockService.Object, mockRespoonseBuilder.Object)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            mockRespoonseBuilder.Setup(x => x.BuildResponse(controller.Request, expected))
            .Returns(controller.Request.CreateResponse(HttpStatusCode.OK, expected.Result));

            var response = controller.Get(new TaskQueryParam());

            IEnumerable <TaskDTO> result;

            response.TryGetContentValue(out result);

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(result);
            Assert.AreEqual(2, expected.Result.Count());

            var first = expected.Result.First();

            Assert.AreEqual(task1.Id, first.Id);
            Assert.AreEqual(task1.Name, first.Name);
            Assert.AreEqual(task1.Time, first.Time);
            Assert.AreEqual(task1.UserId, first.UserId);
            Assert.AreEqual(task1.UserFirstName, first.UserFirstName);
            Assert.AreEqual(task1.UserLastName, first.UserLastName);

            var last = expected.Result.Last();

            Assert.AreEqual(task2.Id, last.Id);
            Assert.AreEqual(task2.Name, last.Name);
            Assert.AreEqual(task2.Time, last.Time);
            Assert.AreEqual(task2.UserId, last.UserId);
            Assert.AreEqual(task2.UserFirstName, last.UserFirstName);
            Assert.AreEqual(task2.UserLastName, last.UserLastName);
            mockService.Verify(x => x.GetTasks(It.IsAny <GetTasksRequest>()), Times.Once);
        }