コード例 #1
0
        public async Task should_get_event_details()
        {
            var request = new EventListRequest();

            request.Lang = "ru";

            var fieldBuilder = new FieldsBuilder();

            request.Fields      = fieldBuilder.WithField(EventListRequest.FieldNames.ID).Build();
            request.ActualSince = DateTime.Today;
            request.Location    = Location.Spb;

            //then
            var res = await request.ExecuteAsync();

            var first = res.Results.First();

            var detailsRequest = new EventDetailsRequest();

            detailsRequest.EventId = first.Id;
            var actual = await detailsRequest.ExecuteAsync();

            Assert.IsNotNull(actual);
            Assert.AreEqual(actual.Id, first.Id);
        }
コード例 #2
0
        private async void OnLoaded(object sender, RoutedEventArgs e)
        {
            await LoadEventOfTheDay();

            var request = new EventListRequest();

            request.Lang   = "ru";
            request.Expand = string.Format("{0},{1}", EventListRequest.ExpandNames.IMAGES, EventListRequest.ExpandNames.PLACE);

            var fieldBuilder = new FieldsBuilder();

            request.Fields = fieldBuilder
                             .WithField(EventListRequest.FieldNames.BODY_TEXT)
                             .WithField(EventListRequest.FieldNames.COMMENTS_COUNT)
                             .WithField(EventListRequest.FieldNames.DESCRIPTION)
                             .WithField(EventListRequest.FieldNames.ID)
                             .WithField(EventListRequest.FieldNames.IMAGES)
                             .WithField(EventListRequest.FieldNames.PLACE)
                             .WithField(EventListRequest.FieldNames.PUBLICATION_DATE)
                             .WithField(EventListRequest.FieldNames.PRICE)
                             .WithField(EventListRequest.FieldNames.TITLE)
                             .WithField(EventListRequest.FieldNames.SITE_URL)
                             .WithField(EventListRequest.FieldNames.SLUG).Build();
            request.ActualSince = DateTime.Today;
            request.Location    = Location.Spb;

            var res = await request.ExecuteAsync();

            foreach (var result in res.Results)
            {
                Items.Add(new EventViewModel(result.Images.First().Thumbnail.Small, result.Title, result.Place));
            }
        }
コード例 #3
0
ファイル: EventTests.cs プロジェクト: theofanis/twilio-csharp
        public void ShouldListEventsUsingFiltersAsynchronously()
        {
            IRestRequest savedRequest = null;

            mockClient.Setup(trc => trc.ExecuteAsync <EventResult>(It.IsAny <IRestRequest>(), It.IsAny <Action <EventResult> >()))
            .Callback <IRestRequest, Action <EventResult> >((request, action) => savedRequest = request);
            var client = mockClient.Object;

            manualResetEvent = new ManualResetEvent(false);
            var options = new EventListRequest();

            options.ActorSid    = "AC123";
            options.StartDate   = DateTime.UtcNow;
            options.EndDate     = DateTime.UtcNow;
            options.ResourceSid = "WK123";
            options.EventType   = "update";
            options.Count       = 10;
            options.PageToken   = "pageToken";

            client.ListEvents(options, workers => {
                manualResetEvent.Set();
            });

            manualResetEvent.WaitOne(1);

            mockClient.Verify(trc => trc.ExecuteAsync <EventResult>(It.IsAny <IRestRequest>(), It.IsAny <Action <EventResult> >()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Events", savedRequest.Resource);
            Assert.AreEqual(Method.GET, savedRequest.Method);
            Assert.AreEqual(7, savedRequest.Parameters.Count);
            var actorSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ActorSid");

            Assert.IsNotNull(actorSidNameParam);
            Assert.AreEqual(options.ActorSid, actorSidNameParam.Value);
            var startDateNameParam = savedRequest.Parameters.Find(x => x.Name == "StartDate");

            Assert.IsNotNull(startDateNameParam);
            Assert.AreEqual(options.StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), startDateNameParam.Value);
            var endDateNameParam = savedRequest.Parameters.Find(x => x.Name == "EndDate");

            Assert.IsNotNull(endDateNameParam);
            Assert.AreEqual(options.EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), endDateNameParam.Value);
            var ResourceSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ResourceSid");

            Assert.IsNotNull(ResourceSidNameParam);
            Assert.AreEqual(options.ResourceSid, ResourceSidNameParam.Value);
            var eventTypeNameParam = savedRequest.Parameters.Find(x => x.Name == "EventType");

            Assert.IsNotNull(eventTypeNameParam);
            Assert.AreEqual(options.EventType, eventTypeNameParam.Value);
            var countNameParam = savedRequest.Parameters.Find(x => x.Name == "PageSize");

            Assert.IsNotNull(countNameParam);
            Assert.AreEqual(options.Count, countNameParam.Value);
            var pageTokenNameParam = savedRequest.Parameters.Find(x => x.Name == "PageToken");

            Assert.IsNotNull(pageTokenNameParam);
            Assert.AreEqual(options.PageToken, pageTokenNameParam.Value);
        }
コード例 #4
0
ファイル: EventTests.cs プロジェクト: theofanis/twilio-csharp
        public void ShouldListEventsUsingFilters()
        {
            IRestRequest savedRequest = null;

            mockClient.Setup(trc => trc.Execute <EventResult>(It.IsAny <IRestRequest>()))
            .Callback <IRestRequest>((request) => savedRequest = request)
            .Returns(new EventResult());
            var client  = mockClient.Object;
            var options = new EventListRequest();

            options.Minutes     = 15;
            options.StartDate   = DateTime.UtcNow;
            options.EndDate     = DateTime.UtcNow;
            options.ResourceSid = "WK123";
            options.EventType   = "update";
            options.Count       = 10;
            options.PageToken   = "pageToken";

            client.ListEvents(WORKSPACE_SID, options);

            mockClient.Verify(trc => trc.Execute <EventResult>(It.IsAny <IRestRequest>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Accounts/{AccountSid}/Workspaces/{WorkspaceSid}/Events", savedRequest.Resource);
            Assert.AreEqual(Method.GET, savedRequest.Method);
            Assert.AreEqual(8, savedRequest.Parameters.Count);
            var workspaceSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkspaceSid");

            Assert.IsNotNull(workspaceSidParam);
            Assert.AreEqual(WORKSPACE_SID, workspaceSidParam.Value);
            var minutesNameParam = savedRequest.Parameters.Find(x => x.Name == "Minutes");

            Assert.IsNotNull(minutesNameParam);
            Assert.AreEqual(options.Minutes, minutesNameParam.Value);
            var startDateNameParam = savedRequest.Parameters.Find(x => x.Name == "StartDate");

            Assert.IsNotNull(startDateNameParam);
            Assert.AreEqual(options.StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), startDateNameParam.Value);
            var endDateNameParam = savedRequest.Parameters.Find(x => x.Name == "EndDate");

            Assert.IsNotNull(endDateNameParam);
            Assert.AreEqual(options.EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), endDateNameParam.Value);
            var ResourceSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ResourceSid");

            Assert.IsNotNull(ResourceSidNameParam);
            Assert.AreEqual(options.ResourceSid, ResourceSidNameParam.Value);
            var eventTypeNameParam = savedRequest.Parameters.Find(x => x.Name == "EventType");

            Assert.IsNotNull(eventTypeNameParam);
            Assert.AreEqual(options.EventType, eventTypeNameParam.Value);
            var countNameParam = savedRequest.Parameters.Find(x => x.Name == "PageSize");

            Assert.IsNotNull(countNameParam);
            Assert.AreEqual(options.Count, countNameParam.Value);
            var pageTokenNameParam = savedRequest.Parameters.Find(x => x.Name == "PageToken");

            Assert.IsNotNull(pageTokenNameParam);
            Assert.AreEqual(options.PageToken, pageTokenNameParam.Value);
        }
コード例 #5
0
        public async Task should_get_events_with_fields_2()
        {
            var request = new EventListRequest();

            request.Lang   = "ru";
            request.Expand = string.Format("{0},{1},{2},{3},{4}",
                                           EventListRequest.ExpandNames.IMAGES,
                                           EventListRequest.ExpandNames.PLACE,
                                           EventListRequest.ExpandNames.LOCATION,
                                           EventListRequest.ExpandNames.DATES,
                                           EventListRequest.ExpandNames.PARTICIPANTS);

            var fieldBuilder = new FieldsBuilder();

            request.Fields = fieldBuilder
                             .WithField(EventListRequest.FieldNames.BODY_TEXT)
                             .WithField(EventListRequest.FieldNames.COMMENTS_COUNT)
                             .WithField(EventListRequest.FieldNames.CATEGORIES)
                             .WithField(EventListRequest.FieldNames.DESCRIPTION)
                             .WithField(EventListRequest.FieldNames.DATES)
                             .WithField(EventListRequest.FieldNames.FAVORITES_COUNT)
                             .WithField(EventListRequest.FieldNames.AGE_RESTRICTION)
                             .WithField(EventListRequest.FieldNames.ID)
                             .WithField(EventListRequest.FieldNames.IMAGES)
                             .WithField(EventListRequest.FieldNames.IS_FREE)
                             .WithField(EventListRequest.FieldNames.BODY_TEXT)
                             .WithField(EventListRequest.FieldNames.LOCATION)
                             .WithField(EventListRequest.FieldNames.PARTICIPANTS)
                             .WithField(EventListRequest.FieldNames.PLACE)
                             .WithField(EventListRequest.FieldNames.PUBLICATION_DATE)
                             .WithField(EventListRequest.FieldNames.PRICE)
                             .WithField(EventListRequest.FieldNames.SHORT_TITLE)
                             .WithField(EventListRequest.FieldNames.SITE_URL)
                             .WithField(EventListRequest.FieldNames.SLUG).Build();
            request.ActualSince = DateTime.Today;
            request.Location    = Location.Spb;

            var res = await request.ExecuteAsync();

            Assert.IsNotNull(res);
            Assert.IsTrue(res.Count > 0);
            Assert.IsNotNull(res.Next);
            Assert.IsTrue(res.Results.Any());

            var first = res.Results.First();

            Assert.IsNotNull(first.BodyText);
            Assert.IsNotNull(first.CommentsCount);
        }
コード例 #6
0
ファイル: EventTests.cs プロジェクト: mrockmann/twilio-dotnet
        public async Task ShouldListEventsUsingFilters()
        {
            var tcs = new TaskCompletionSource<EventResult>();
            tcs.SetResult(new EventResult());

            RestRequest savedRequest = null;
            mockClient.Setup(trc => trc.Execute<EventResult>(It.IsAny<RestRequest>()))
                .Callback<RestRequest>((request) => savedRequest = request)
                .Returns(tcs.Task);
            var client = mockClient.Object;
            var options = new EventListRequest();
            options.ActorSid = "AC123";
            options.StartDate = DateTime.UtcNow;
            options.EndDate = DateTime.UtcNow;
            options.ResourceSid = "WK123";
            options.EventType = "update";
            options.Count = 10;
            options.PageToken = "pageToken";

            await client.ListEventsAsync(options);

            mockClient.Verify(trc => trc.Execute<EventResult>(It.IsAny<RestRequest>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Events", savedRequest.Resource);
            Assert.AreEqual("GET", savedRequest.Method);
            Assert.AreEqual(7, savedRequest.Parameters.Count);
            var actorSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ActorSid");
            Assert.IsNotNull(actorSidNameParam);
            Assert.AreEqual(options.ActorSid, actorSidNameParam.Value);
            var startDateNameParam = savedRequest.Parameters.Find(x => x.Name == "StartDate");
            Assert.IsNotNull(startDateNameParam);
            Assert.AreEqual(options.StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), startDateNameParam.Value);
            var endDateNameParam = savedRequest.Parameters.Find(x => x.Name == "EndDate");
            Assert.IsNotNull(endDateNameParam);
            Assert.AreEqual(options.EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), endDateNameParam.Value);
            var ResourceSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ResourceSid");
            Assert.IsNotNull(ResourceSidNameParam);
            Assert.AreEqual(options.ResourceSid, ResourceSidNameParam.Value);
            var eventTypeNameParam = savedRequest.Parameters.Find(x => x.Name == "EventType");
            Assert.IsNotNull(eventTypeNameParam);
            Assert.AreEqual(options.EventType, eventTypeNameParam.Value);
            var countNameParam = savedRequest.Parameters.Find(x => x.Name == "PageSize");
            Assert.IsNotNull(countNameParam);
            Assert.AreEqual(options.Count, countNameParam.Value);
            var pageTokenNameParam = savedRequest.Parameters.Find(x => x.Name == "PageToken");
            Assert.IsNotNull(pageTokenNameParam);
            Assert.AreEqual(options.PageToken, pageTokenNameParam.Value);
        }
コード例 #7
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken  = "your_auth_token";
        var    monitor    = new MonitorClient(AccountSid, AuthToken);

        var options = new EventListRequest();

        options.ResourceSid = "PN4aa51b930717ea83c91971b86d99018f";
        var events = monitor.ListEvents(options);

        foreach (var e in events.Events)
        {
            Console.WriteLine(e.Description);
        }
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "{{ account_sid }}";
        string AuthToken  = "{{ auth_token }}";
        var    monitor    = new MonitorClient(AccountSid, AuthToken);

        var options = new EventListRequest();

        options.ActorSid    = "USd0afd67cddff4ec7cb0022771a203cb1";
        options.ResourceSid = "PN4aa51b930717ea83c91971b86d99018f";
        var events = monitor.ListEvents(options);

        foreach (var e in events.Events)
        {
            Console.WriteLine(e.Description);
        }
    }
コード例 #9
0
ファイル: EventService.cs プロジェクト: oguzhankiyar/hookman
        public async Task <EventListResponse> GetEventsAsync(EventListRequest request)
        {
            await ValidateRequestAsync(request);

            var skip = request.PageSize * (request.PageNumber - 1);
            var take = request.PageSize;

            var entities    = _eventRepository.FindAll(skip, take).ToList();
            var recordCount = _eventRepository.Count();

            var response = _mapper.Map <EventListResponse>(entities);

            response.PageSize    = request.PageSize;
            response.PageNumber  = request.PageNumber;
            response.RecordCount = recordCount;
            response.PageCount   = (int)Math.Ceiling((double)response.RecordCount / response.PageSize);
            return(response);
        }
コード例 #10
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken  = "your_auth_token";
        var    monitor    = new MonitorClient(AccountSid, AuthToken);

        var options = new EventListRequest();

        options.StartDate = new DateTime(2015, 3, 1);
        options.EndDate   = new DateTime(2015, 4, 1);
        var events = monitor.ListEvents(options);

        foreach (var e in events.Events)
        {
            Console.WriteLine(e.Description);
        }
    }
コード例 #11
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "{{ account_sid }}";
        string AuthToken  = "{{ auth_token }}";
        var    monitor    = new MonitorClient(AccountSid, AuthToken);

        var options = new EventListRequest();

        options.SourceIpAddress = "104.14.155.29";
        options.StartDate       = new DateTime(2015, 4, 25);
        options.EndDate         = new DateTime(2015, 4, 25, 23, 59, 59);
        var events = monitor.ListEvents(options);

        foreach (var e in events.Events)
        {
            Console.WriteLine(e.Description);
        }
    }
コード例 #12
0
        public async Task should_get_events_with_fields()
        {
            var request = new EventListRequest();

            request.Lang   = "ru";
            request.Fields = "age_restriction,is_free";

            var res = await request.ExecuteAsync();

            Assert.IsNotNull(res);
            Assert.IsTrue(res.Count > 0);
            Assert.IsNotNull(res.Next);
            Assert.IsTrue(res.Results.Any());

            var first = res.Results.First();

            Assert.IsNotNull(first.AgeRestriction);
            Assert.IsNotNull(first.IsFree);
        }
コード例 #13
0
        public async Task should_get_something()
        {
            var request = new EventListRequest();

            request.Lang = "ru";

            var res = await request.ExecuteAsync();

            Assert.IsNotNull(res);
            Assert.IsTrue(res.Count > 0);
            Assert.IsNotNull(res.Next);
            Assert.IsTrue(res.Results.Any());

            var first = res.Results.First();

            Assert.IsNotNull(first.Id);
            Assert.IsNotNull(first.Title);
            Assert.IsNotNull(first.Slug);
        }
コード例 #14
0
        public async Task should_get_event_kids()
        {
            var request = new EventListRequest();

            request.Lang       = "ru";
            request.Categories = "kids";
            request.Location   = Location.Spb;

            //then
            var res = await request.ExecuteAsync();

            var first = res.Results.First();

            var detailsRequest = new EventCommentsRequest();

            detailsRequest.EventId = first.Id;
            var actual = await detailsRequest.ExecuteAsync();

            Assert.IsNotNull(actual);
        }
コード例 #15
0
        public async Task <EventListResponse> GetEventsAsync([FromQuery] EventListRequest request)
        {
            var result = await _quorumExplorerClient.EventsApi.GetFilteredAsync(new FilteredEventsRequest
            {
                EventName         = request.EventName,
                EventSignature    = request.EventSignature,
                Address           = request.Address,
                AffectedAddresses = request.AffectedAddresses ?? new List <string>(),
                PagingInfo        = new PaginationModel
                {
                    CurrentPage = request.PagedRequest.CurrentPage,
                    PageSize    = request.PagedRequest.PageSize
                }
            });

            result.Events.ForEach(e =>
            {
                e.Parameters.ForEach(p =>
                {
                    if (p.Type == "uint256" && _amountParamNames.Contains(p.Name))
                    {
                        var money = Money18.CreateFromAtto(BigInteger.Parse(p.Value));

                        p.Value = money.ToString();
                    }
                });
            });

            return(new EventListResponse
            {
                PagedResponse = new PagedResponseModel
                {
                    CurrentPage = result.CurrentPage,
                    TotalCount = result.TotalCount
                },
                Events = _mapper.Map <IReadOnlyCollection <EventModel> >(result.Events)
            });
        }
コード例 #16
0
        public async Task <IEventListResponse> GetEvents(string next, FilterDefinition filterDefinition)
        {
            if (filterDefinition == null)
            {
                throw new ArgumentNullException(nameof(filterDefinition));
            }

            var request = new EventListRequest();

            request.Lang        = _culture;
            request.TextFormat  = TextFormatEnum.Plain;
            request.Next        = next;
            request.IsFree      = filterDefinition.IsFree;
            request.Categories  = filterDefinition.Categories;
            request.ActualSince = filterDefinition.ActualSince;
            request.ActualUntil = filterDefinition.ActualUntil;
            request.Expand      = string.Format("{0},{1}", EventListRequest.ExpandNames.IMAGES, EventListRequest.ExpandNames.PLACE);

            var fieldBuilder = new FieldsBuilder();

            request.Fields = fieldBuilder
                             .WithField(EventListRequest.FieldNames.DESCRIPTION)
                             .WithField(EventListRequest.FieldNames.ID)
                             .WithField(EventListRequest.FieldNames.IMAGES)
                             .WithField(EventListRequest.FieldNames.PLACE)
                             .WithField(EventListRequest.FieldNames.IS_FREE)
                             .WithField(EventListRequest.FieldNames.PRICE)
                             .WithField(EventListRequest.FieldNames.TITLE)
                             .WithField(EventListRequest.FieldNames.DATES)
                             .WithField(EventListRequest.FieldNames.CATEGORIES)
                             .WithField(EventListRequest.FieldNames.AGE_RESTRICTION).Build();
            request.ActualSince = DateTime.Today;
            request.Location    = _location;

            var res = await request.ExecuteAsync();

            return(res);
        }
コード例 #17
0
ファイル: EventTests.cs プロジェクト: SnapMD/twilio-csharp
        public void ShouldListEventsUsingFilters()
        {
            IRestRequest savedRequest = null;
            mockClient.Setup(trc => trc.Execute<EventResult>(It.IsAny<IRestRequest>()))
                .Callback<IRestRequest>((request) => savedRequest = request)
                .Returns(new EventResult());
            var client = mockClient.Object;
            var options = new EventListRequest();
            options.Minutes = 15;
            options.StartDate = DateTime.UtcNow;
            options.EndDate = DateTime.UtcNow;
            options.ResourceSid = "WK123";
            options.EventType = "update";
            options.Count = 10;
            options.PageToken = "pageToken";

            client.ListEvents(WORKSPACE_SID, options);

            mockClient.Verify(trc => trc.Execute<EventResult>(It.IsAny<IRestRequest>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Accounts/{AccountSid}/Workspaces/{WorkspaceSid}/Events", savedRequest.Resource);
            Assert.AreEqual(Method.GET, savedRequest.Method);
            Assert.AreEqual(8, savedRequest.Parameters.Count);
            var workspaceSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkspaceSid");
            Assert.IsNotNull(workspaceSidParam);
            Assert.AreEqual(WORKSPACE_SID, workspaceSidParam.Value);
            var minutesNameParam = savedRequest.Parameters.Find(x => x.Name == "Minutes");
            Assert.IsNotNull(minutesNameParam);
            Assert.AreEqual(options.Minutes, minutesNameParam.Value);
            var startDateNameParam = savedRequest.Parameters.Find(x => x.Name == "StartDate");
            Assert.IsNotNull(startDateNameParam);
            Assert.AreEqual(options.StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), startDateNameParam.Value);
            var endDateNameParam = savedRequest.Parameters.Find(x => x.Name == "EndDate");
            Assert.IsNotNull(endDateNameParam);
            Assert.AreEqual(options.EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), endDateNameParam.Value);
            var ResourceSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ResourceSid");
            Assert.IsNotNull(ResourceSidNameParam);
            Assert.AreEqual(options.ResourceSid, ResourceSidNameParam.Value);
            var eventTypeNameParam = savedRequest.Parameters.Find(x => x.Name == "EventType");
            Assert.IsNotNull(eventTypeNameParam);
            Assert.AreEqual(options.EventType, eventTypeNameParam.Value);
            var countNameParam = savedRequest.Parameters.Find(x => x.Name == "PageSize");
            Assert.IsNotNull(countNameParam);
            Assert.AreEqual(options.Count, countNameParam.Value);
            var pageTokenNameParam = savedRequest.Parameters.Find(x => x.Name == "PageToken");
            Assert.IsNotNull(pageTokenNameParam);
            Assert.AreEqual(options.PageToken, pageTokenNameParam.Value);
        }
コード例 #18
0
 public EventListViewModel Get(EventListRequest request)
 {
     var events = session.Query<Event>().OrderBy(e => e.Number);
     return new EventListViewModel {Events = events};
 }
コード例 #19
0
ファイル: EventTests.cs プロジェクト: SnapMD/twilio-csharp
        public void ShouldListEventsUsingFiltersAsynchronously()
        {
            IRestRequest savedRequest = null;
            mockClient.Setup(trc => trc.ExecuteAsync<EventResult>(It.IsAny<IRestRequest>(), It.IsAny<Action<EventResult>>()))
                .Callback<IRestRequest, Action<EventResult>>((request, action) => savedRequest = request);
            var client = mockClient.Object;
            manualResetEvent = new ManualResetEvent(false);
            var options = new EventListRequest();
            options.ActorSid = "AC123";
            options.StartDate = DateTime.UtcNow;
            options.EndDate = DateTime.UtcNow;
            options.ResourceSid = "WK123";
            options.EventType = "update";
            options.Count = 10;
            options.PageToken = "pageToken";

            client.ListEvents(options, workers => {
                manualResetEvent.Set();
            });

            manualResetEvent.WaitOne(1);

            mockClient.Verify(trc => trc.ExecuteAsync<EventResult>(It.IsAny<IRestRequest>(), It.IsAny<Action<EventResult>>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Events", savedRequest.Resource);
            Assert.AreEqual(Method.GET, savedRequest.Method);
            Assert.AreEqual(7, savedRequest.Parameters.Count);
            var actorSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ActorSid");
            Assert.IsNotNull(actorSidNameParam);
            Assert.AreEqual(options.ActorSid, actorSidNameParam.Value);
            var startDateNameParam = savedRequest.Parameters.Find(x => x.Name == "StartDate");
            Assert.IsNotNull(startDateNameParam);
            Assert.AreEqual(options.StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), startDateNameParam.Value);
            var endDateNameParam = savedRequest.Parameters.Find(x => x.Name == "EndDate");
            Assert.IsNotNull(endDateNameParam);
            Assert.AreEqual(options.EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssK"), endDateNameParam.Value);
            var ResourceSidNameParam = savedRequest.Parameters.Find(x => x.Name == "ResourceSid");
            Assert.IsNotNull(ResourceSidNameParam);
            Assert.AreEqual(options.ResourceSid, ResourceSidNameParam.Value);
            var eventTypeNameParam = savedRequest.Parameters.Find(x => x.Name == "EventType");
            Assert.IsNotNull(eventTypeNameParam);
            Assert.AreEqual(options.EventType, eventTypeNameParam.Value);
            var countNameParam = savedRequest.Parameters.Find(x => x.Name == "PageSize");
            Assert.IsNotNull(countNameParam);
            Assert.AreEqual(options.Count, countNameParam.Value);
            var pageTokenNameParam = savedRequest.Parameters.Find(x => x.Name == "PageToken");
            Assert.IsNotNull(pageTokenNameParam);
            Assert.AreEqual(options.PageToken, pageTokenNameParam.Value);
        }