Ejemplo n.º 1
0
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            ListTasksResponse response = new ListTasksResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("Tasks", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <TaskListEntry, TaskListEntryUnmarshaller>(TaskListEntryUnmarshaller.Instance);
                    response.Tasks = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Ejemplo n.º 2
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonDataSyncConfig config = new AmazonDataSyncConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonDataSyncClient client = new AmazonDataSyncClient(creds, config);

            ListTasksResponse resp = new ListTasksResponse();

            do
            {
                ListTasksRequest req = new ListTasksRequest
                {
                    NextToken = resp.NextToken
                    ,
                    MaxResults = maxItems
                };

                resp = client.ListTasks(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.Tasks)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
Ejemplo n.º 3
0
        private static void UnmarshallResult(XmlUnmarshallerContext context, ListTasksResponse response)
        {
            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth += 2;
            }

            while (context.ReadAtDepth(originalDepth))
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("nextToken", targetDepth))
                    {
                        var unmarshaller = StringUnmarshaller.Instance;
                        response.NextToken = unmarshaller.Unmarshall(context);
                        continue;
                    }
                    if (context.TestExpression("taskArns/member", targetDepth))
                    {
                        var unmarshaller = StringUnmarshaller.Instance;
                        var item         = unmarshaller.Unmarshall(context);
                        response.TaskArns.Add(item);
                        continue;
                    }
                }
            }

            return;
        }
Ejemplo n.º 4
0
        public static ListTasksResponse Unmarshall(UnmarshallerContext _ctx)
        {
            ListTasksResponse listTasksResponse = new ListTasksResponse();

            listTasksResponse.HttpResponse = _ctx.HttpResponse;
            listTasksResponse.RequestId    = _ctx.StringValue("ListTasks.RequestId");
            listTasksResponse.TotalCount   = _ctx.IntegerValue("ListTasks.TotalCount");
            listTasksResponse.PageNumber   = _ctx.IntegerValue("ListTasks.PageNumber");
            listTasksResponse.PageSize     = _ctx.IntegerValue("ListTasks.PageSize");

            List <ListTasksResponse.ListTasks_TaskInfo> listTasksResponse_tasks = new List <ListTasksResponse.ListTasks_TaskInfo>();

            for (int i = 0; i < _ctx.Length("ListTasks.Tasks.Length"); i++)
            {
                ListTasksResponse.ListTasks_TaskInfo taskInfo = new ListTasksResponse.ListTasks_TaskInfo();
                taskInfo.TaskId      = _ctx.StringValue("ListTasks.Tasks[" + i + "].TaskId");
                taskInfo.TaskType    = _ctx.StringValue("ListTasks.Tasks[" + i + "].TaskType");
                taskInfo.ClusterId   = _ctx.StringValue("ListTasks.Tasks[" + i + "].ClusterId");
                taskInfo.Request     = _ctx.StringValue("ListTasks.Tasks[" + i + "].Request");
                taskInfo.Status      = _ctx.StringValue("ListTasks.Tasks[" + i + "].Status");
                taskInfo.CurrentStep = _ctx.IntegerValue("ListTasks.Tasks[" + i + "].CurrentStep");
                taskInfo.TotalSteps  = _ctx.IntegerValue("ListTasks.Tasks[" + i + "].TotalSteps");
                taskInfo.Result      = _ctx.StringValue("ListTasks.Tasks[" + i + "].Result");
                taskInfo.Errors      = _ctx.StringValue("ListTasks.Tasks[" + i + "].Errors");

                listTasksResponse_tasks.Add(taskInfo);
            }
            listTasksResponse.Tasks = listTasksResponse_tasks;

            return(listTasksResponse);
        }
Ejemplo n.º 5
0
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            ListTasksResponse response = new ListTasksResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.IsStartElement)
                {
                    if (context.TestExpression("ListTasksResult", 2))
                    {
                        UnmarshallResult(context, response);
                        continue;
                    }

                    if (context.TestExpression("ResponseMetadata", 2))
                    {
                        response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context);
                    }
                }
            }

            return(response);
        }
Ejemplo n.º 6
0
        public ListTasksResponse GetAll()
        {
            ListTasksResponse response = new ListTasksResponse();

            response.Records = _taskItemRepository.List();
            return(response);
        }
Ejemplo n.º 7
0
        public static ListTasksResponse Unmarshall(UnmarshallerContext _ctx)
        {
            ListTasksResponse listTasksResponse = new ListTasksResponse();

            listTasksResponse.HttpResponse = _ctx.HttpResponse;
            listTasksResponse.Code         = _ctx.StringValue("ListTasks.Code");
            listTasksResponse.Message      = _ctx.StringValue("ListTasks.Message");
            listTasksResponse.RequestId    = _ctx.StringValue("ListTasks.RequestId");

            ListTasksResponse.ListTasks_Data data = new ListTasksResponse.ListTasks_Data();
            data.TotalElements = _ctx.LongValue("ListTasks.Data.TotalElements");
            data.TotalPages    = _ctx.IntegerValue("ListTasks.Data.TotalPages");

            List <ListTasksResponse.ListTasks_Data.ListTasks_ItemsItem> data_items = new List <ListTasksResponse.ListTasks_Data.ListTasks_ItemsItem>();

            for (int i = 0; i < _ctx.Length("ListTasks.Data.Items.Length"); i++)
            {
                ListTasksResponse.ListTasks_Data.ListTasks_ItemsItem itemsItem = new ListTasksResponse.ListTasks_Data.ListTasks_ItemsItem();
                itemsItem.CreatedAt    = _ctx.StringValue("ListTasks.Data.Items[" + i + "].CreatedAt");
                itemsItem.Id           = _ctx.StringValue("ListTasks.Data.Items[" + i + "].Id");
                itemsItem.Status       = _ctx.StringValue("ListTasks.Data.Items[" + i + "].Status");
                itemsItem.VideoMetaUrl = _ctx.StringValue("ListTasks.Data.Items[" + i + "].VideoMetaUrl");
                itemsItem.VideoUrl     = _ctx.StringValue("ListTasks.Data.Items[" + i + "].VideoUrl");

                data_items.Add(itemsItem);
            }
            data.Items             = data_items;
            listTasksResponse.Data = data;

            return(listTasksResponse);
        }
        public async Task ListTasksQueryHandler_WithOtherFilename_ReturnsTasksFromOtherFile()
        {
            var command = new ListTasksQuery {
                Filename = "Other.txt", Terms = new string[0]
            };
            ListTasksResponse result = await _handler.Handle(command, new CancellationToken());

            result.Tasks.Should().HaveCount(2);
        }
        public async Task ListTasksQueryHandler_AndsTheQueryForMultipleSearchTerms()
        {
            var command = new ListTasksQuery {
                Filename = _config.TodoFile, Terms = new string[] { "+project", "@context" }
            };
            ListTasksResponse result = await _handler.Handle(command, new CancellationToken());

            result.Tasks.Should().HaveCount(1);
        }
        public async Task ListTasksQueryHandler_ReturnsTasksWithSearchTerms()
        {
            var command = new ListTasksQuery {
                Filename = _config.TodoFile, Terms = new string[] { "+project" }
            };
            ListTasksResponse result = await _handler.Handle(command, new CancellationToken());

            result.Tasks.Should().HaveCount(2);
        }
        public async Task ListTasksQueryHandler_ReturnsTasksInPriorityOrder()
        {
            var command = new ListTasksQuery {
                Filename = _config.TodoFile, Terms = null
            };
            ListTasksResponse result = await _handler.Handle(command, new CancellationToken());

            result.Tasks.First().Text.Should().Be("(A) This is high priority");
            result.Tasks.Last().Text.Should().Be("x 2020-10-16 This is something to do!");
        }
        public void ListTasksMaxCountTest()
        {
            // Verify default max count
            Assert.Equal(Microsoft.Azure.Commands.Batch.Utils.Constants.DefaultMaxCount, cmdlet.MaxCount);

            // Setup cmdlet to list Tasks without filters and a max count
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.WorkItemName = "workItem";
            cmdlet.JobName      = "job-0000000001";
            cmdlet.Name         = null;
            cmdlet.Filter       = null;
            int maxCount = 2;

            cmdlet.MaxCount = maxCount;

            string[] namesOfConstructedTasks = new[] { "testTask1", "testTask2", "testTask3" };

            // Build some Tasks instead of querying the service on a ListTasks call
            YieldInjectionInterceptor interceptor = new YieldInjectionInterceptor((opContext, request) =>
            {
                if (request is ListTasksRequest)
                {
                    ListTasksResponse response = BatchTestHelpers.CreateListTasksResponse(namesOfConstructedTasks);
                    Task <object> task         = Task <object> .Factory.StartNew(() => { return(response); });
                    return(task);
                }
                return(null);
            });

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            // Setup the cmdlet to write pipeline output to a list that can be examined later
            List <PSCloudTask> pipeline = new List <PSCloudTask>();

            commandRuntimeMock.Setup(r =>
                                     r.WriteObject(It.IsAny <PSCloudTask>()))
            .Callback <object>(t => pipeline.Add((PSCloudTask)t));

            cmdlet.ExecuteCmdlet();

            // Verify that the max count was respected
            Assert.Equal(maxCount, pipeline.Count);

            // Verify setting max count <= 0 doesn't return nothing
            cmdlet.MaxCount = -5;
            pipeline.Clear();
            cmdlet.ExecuteCmdlet();

            Assert.Equal(namesOfConstructedTasks.Length, pipeline.Count);
        }
        public void ListBatchTasksByODataFilterTest()
        {
            // Setup cmdlet to list Tasks using an OData filter. Use WorkItemName and JobName input.
            BatchAccountContext context = BatchTestHelpers.CreateBatchContextWithKeys();

            cmdlet.BatchContext = context;
            cmdlet.WorkItemName = "workItem";
            cmdlet.JobName      = "job-0000000001";
            cmdlet.Name         = null;
            cmdlet.Filter       = "startswith(name,'test')";

            string[] namesOfConstructedTasks = new[] { "testTask1", "testTask2" };

            // Build some Tasks instead of querying the service on a ListTasks call
            YieldInjectionInterceptor interceptor = new YieldInjectionInterceptor((opContext, request) =>
            {
                if (request is ListTasksRequest)
                {
                    ListTasksResponse response = BatchTestHelpers.CreateListTasksResponse(namesOfConstructedTasks);
                    Task <object> task         = Task <object> .Factory.StartNew(() => { return(response); });
                    return(task);
                }
                return(null);
            });

            cmdlet.AdditionalBehaviors = new List <BatchClientBehavior>()
            {
                interceptor
            };

            // Setup the cmdlet to write pipeline output to a list that can be examined later
            List <PSCloudTask> pipeline = new List <PSCloudTask>();

            commandRuntimeMock.Setup(r =>
                                     r.WriteObject(It.IsAny <PSCloudTask>()))
            .Callback <object>(t => pipeline.Add((PSCloudTask)t));

            cmdlet.ExecuteCmdlet();

            // Verify that the cmdlet wrote the constructed Tasks to the pipeline
            Assert.Equal(2, pipeline.Count);
            int taskCount = 0;

            foreach (PSCloudTask t in pipeline)
            {
                Assert.True(namesOfConstructedTasks.Contains(t.Name));
                taskCount++;
            }
            Assert.Equal(namesOfConstructedTasks.Length, taskCount);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Builds a ListTasksResponse object
        /// </summary>
        public static ListTasksResponse CreateListTasksResponse(IEnumerable <string> taskNames)
        {
            ListTasksResponse response = new ListTasksResponse();

            SetProperty(response, "StatusCode", HttpStatusCode.OK);

            List <Azure.Batch.Protocol.Entities.Task> tasks = new List <Azure.Batch.Protocol.Entities.Task>();

            foreach (string name in taskNames)
            {
                Azure.Batch.Protocol.Entities.Task task = new Azure.Batch.Protocol.Entities.Task();
                SetProperty(task, "Name", name);
                tasks.Add(task);
            }

            SetProperty(response, "Tasks", tasks);

            return(response);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Handles a list tasks request
        /// </summary>
        internal async Task HandleListTasksRequest(
            ListTasksParams listTasksParams,
            RequestContext <ListTasksResponse> context)
        {
            Logger.Write(TraceEventType.Verbose, "HandleListTasksRequest");

            Func <Task <ListTasksResponse> > getAllTasks = () =>
            {
                Validate.IsNotNull(nameof(listTasksParams), listTasksParams);
                return(Task.Factory.StartNew(() =>
                {
                    ListTasksResponse response = new ListTasksResponse();
                    response.Tasks = TaskManager.Tasks.Select(x => x.ToTaskInfo()).ToArray();

                    return response;
                }));
            };

            await HandleRequestAsync(getAllTasks, context, "HandleListTasksRequest");
        }
Ejemplo n.º 16
0
        public ActionResult <ListTasksResponse> Post(ListTasks request)
        {
            ListTasksResponse ret = new ListTasksResponse();
            GXSelectArgs      arg = GXSelectArgs.SelectAll <GXTask>();

            arg.Count      = (UInt32)request.Count;
            arg.Descending = true;
            if (request.AttributeId != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Columns.Add <GXObject>();
                arg.Columns.Add <GXAttribute>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXAttribute>(a => a.Id, b => b.ObjectId);
                arg.Where.And <GXAttribute>(q => q.Id == request.AttributeId);
            }
            else if (request.ObjectId != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Columns.Add <GXObject>();
                arg.Columns.Add <GXAttribute>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
                arg.Where.And <GXObject>(q => q.Id == request.ObjectId);
            }
            else if (request.DeviceId != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Columns.Add <GXObject>();
                arg.Columns.Add <GXAttribute>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXAttribute>(a => a.Id, b => b.ObjectId);
                arg.Where.And <GXObject>(q => q.DeviceId == request.DeviceId);
            }
            else if ((request.Targets & TargetType.Attribute) != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Columns.Add <GXObject>();
                arg.Columns.Add <GXAttribute>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXAttribute>(a => a.Id, b => b.ObjectId);
            }
            else if ((request.Targets & TargetType.Object) != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Columns.Add <GXObject>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object.Id, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
            }
            else if ((request.Targets & TargetType.Device) != 0)
            {
                arg.Columns.Add <GXDevice>();
                arg.Joins.AddInnerJoin <GXTask, GXObject>(a => a.Object.Id, b => b.Id);
                arg.Joins.AddInnerJoin <GXObject, GXDevice>(a => a.DeviceId, b => b.Id);
            }
            arg.OrderBy.Add <GXTask>(q => q.Id);
            ret.Tasks = host.Connection.Select <GXTask>(arg).ToArray();
            return(ret);
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Builds a ListTasksResponse object
        /// </summary>
        public static ListTasksResponse CreateListTasksResponse(IEnumerable<string> taskNames)
        {
            ListTasksResponse response = new ListTasksResponse();
            SetProperty(response, "StatusCode", HttpStatusCode.OK);

            List<Azure.Batch.Protocol.Entities.Task> tasks = new List<Azure.Batch.Protocol.Entities.Task>();

            foreach (string name in taskNames)
            {
                Azure.Batch.Protocol.Entities.Task task = new Azure.Batch.Protocol.Entities.Task();
                SetProperty(task, "Name", name);
                tasks.Add(task);
            }

            SetProperty(response, "Tasks", tasks);

            return response;
        }