public async Task EnterpriseEventsStreamingAsync_ValidResponse() { var responseString = "{\"chunk_size\": 1, \"next_stream_position\": 123, \"entries\": [{\"source\":{\"group_id\":\"942617509\",\"group_name\":\"Groupies\"},\"created_by\":{\"type\":\"user\",\"id\":\"11111\",\"name\":\"Test User\",\"login\":\"[email protected]\"},\"action_by\":{\"type\":\"user\",\"id\":\"12345\",\"name\":\"Test User\",\"login\":\"[email protected]\"},\"created_at\":\"2018-03-16T15:12:52-07:00\",\"event_id\":\"85c57bf3-bc15-4d24-93bc-955c796217c8\",\"event_type\":\"GROUP_EDITED\",\"ip_address\":\"UnknownIP\",\"type\":\"event\",\"session_id\":null,\"additional_details\":null}]}"; IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxEventCollection <BoxEnterpriseEvent> >(It.IsAny <IBoxRequest>())) .Returns(Task.FromResult <IBoxResponse <BoxEventCollection <BoxEnterpriseEvent> > >(new BoxResponse <BoxEventCollection <BoxEnterpriseEvent> >() { Status = ResponseStatus.Success, ContentString = responseString })).Callback <IBoxRequest>(r => boxRequest = r); /*** Act ***/ var events = await _eventsManager.EnterpriseEventsStreamingAsync(); var firstEvent = events.Entries.First <BoxEnterpriseEvent>(); /*** Assert ***/ Assert.AreEqual("stream_type=admin_logs_streaming&limit=500", boxRequest.GetQueryString()); Assert.AreEqual("12345", firstEvent.ActionBy.Id); Assert.AreEqual("user", firstEvent.ActionBy.Type); Assert.AreEqual("Test User", firstEvent.ActionBy.Name); Assert.AreEqual("*****@*****.**", firstEvent.ActionBy.Login); Assert.AreEqual("942617509", firstEvent.Source.Id); Assert.AreEqual("85c57bf3-bc15-4d24-93bc-955c796217c8", firstEvent.EventId); }
public async Task GetGroupItems_ValidResponse_ValidGroups() { IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxCollection <BoxGroup> >(It.IsAny <IBoxRequest>())) .Returns(() => Task.FromResult <IBoxResponse <BoxCollection <BoxGroup> > >(new BoxResponse <BoxCollection <BoxGroup> >() { Status = ResponseStatus.Success, ContentString = @"{""total_count"": 14, ""entries"": [ {""type"": ""group"", ""id"": ""26477"", ""name"": ""adfasdf"", ""created_at"": ""2011-02-15T14:07:22-08:00"", ""modified_at"": ""2011-10-05T19:04:40-07:00"", ""invitability_level"": ""none""}, {""type"": ""group"", ""id"": ""1263"", ""name"": ""Enterprise Migration"", ""created_at"": ""2009-04-20T19:36:17-07:00"", ""modified_at"": ""2011-10-05T19:05:10-07:00"", ""invitability_level"": ""admins_only""}], ""limit"": 2, ""offset"": 0}" })) .Callback <IBoxRequest>(r => boxRequest = r); /*** Act ***/ BoxCollection <BoxGroup> items = await _groupsManager.GetAllGroupsAsync(filterTerm : "test"); /*** Assert ***/ // Request check Assert.AreEqual("filter_term=test", boxRequest.GetQueryString()); // Response check Assert.AreEqual(items.TotalCount, 14, "Wrong total count"); Assert.AreEqual(items.Entries.Count, 2, "Wrong count of entries"); Assert.AreEqual(items.Entries[0].Type, "group", "Wrong type"); Assert.AreEqual(items.Entries[0].Id, "26477", "Wrong id"); Assert.AreEqual(items.Entries[0].Name, "adfasdf", "Wrong name"); Assert.AreEqual(items.Entries[0].InvitabilityLevel, "none"); Assert.AreEqual(items.Entries[0].CreatedAt, DateTimeOffset.Parse("2011-02-15T14:07:22-08:00"), "Wrong created at"); Assert.AreEqual(items.Entries[0].ModifiedAt, DateTimeOffset.Parse("2011-10-05T19:04:40-07:00"), "Wrong modified at"); Assert.AreEqual(items.Offset, 0, "Wrong offset"); Assert.AreEqual(items.Limit, 2, "Wrong limit"); }
public async Task SearchWithOpenDateRanges_ValidResponse_ValidResults() { /*** Arrange ***/ string responseString = "{\"total_count\":4,\"entries\":[{\"type\":\"file\",\"id\":\"1874102965\",\"sequence_id\":\"0\",\"etag\":\"0\",\"sha1\":\"63a112a4567fb556f5269735102a2f24f2cbea56\",\"name\":\"football.jpg\",\"description\":\"\",\"size\":260271,\"path_collection\":{\"total_count\":1,\"entries\":[{\"type\":\"folder\",\"id\":\"0\",\"sequence_id\":null,\"etag\":null,\"name\":\"All Files\"}]},\"created_at\":\"2012-03-22T18:25:07-07:00\",\"modified_at\":\"2012-10-25T14:40:05-07:00\",\"created_by\":{\"type\":\"user\",\"id\":\"175065494\",\"name\":\"Andrew Luck\",\"login\":\"[email protected]\"},\"modified_by\":{\"type\":\"user\",\"id\":\"175065494\",\"name\":\"Andrew Luck\",\"login\":\"[email protected]\"},\"owned_by\":{\"type\":\"user\",\"id\":\"175065494\",\"name\":\"Andrew Luck\",\"login\":\"[email protected]\"},\"shared_link\":null,\"parent\":{\"type\":\"folder\",\"id\":\"0\",\"sequence_id\":null,\"etag\":null,\"name\":\"All Files\"},\"item_status\":\"active\", \"sort\":\"modified_at\", \"direction\":\"ASC\"}],\"offset\":0,\"limit\":1}"; IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxCollection <BoxItem> >(It.IsAny <IBoxRequest>())) .Returns(Task.FromResult <IBoxResponse <BoxCollection <BoxItem> > >(new BoxResponse <BoxCollection <BoxItem> >() { Status = ResponseStatus.Success, ContentString = responseString })) .Callback <IBoxRequest>(r => boxRequest = r); /*** Act ***/ var startDate = new DateTime(1988, 11, 18, 9, 30, 0, DateTimeKind.Utc); var endDate = new DateTime(2018, 11, 18, 9, 30, 0, DateTimeKind.Utc); var results = await _searchManager.SearchAsync("test", createdAtRangeFromDate : startDate, updatedAtRangeToDate : endDate); /*** Assert ***/ Assert.AreEqual("query=test&created_at_range=1988-11-18T09%3A30%3A00Z%2C&updated_at_range=%2C2018-11-18T09%3A30%3A00Z&limit=30&offset=0", boxRequest.GetQueryString()); }
public async Task QueryWithSharedLinks_ValidResponse_ValidResults() { /*** Arrange ***/ string responseString = "{\"entries\":[{\"accessible_via_shared_link\":\"https://www.box.com/s/vspke7y05sb214wjokpk\",\"item\":{\"type\":\"file\",\"id\":\"11111\",\"file_version\":{\"type\":\"file_version\",\"id\":\"111110\",\"sha1\":\"97cc02de7c356f94e3beeb1e0c63f78a6edb01fd\"},\"sequence_id\":\"9\",\"etag\":\"9\",\"sha1\":\"97cc02de7c356f94e3beeb1e0c63f78a6edb01fd\",\"name\":\"test file.txt\",\"description\":\"\",\"size\":16,\"path_collection\":{\"total_count\":1,\"entries\":[{\"type\":\"folder\",\"id\":\"0\",\"sequence_id\":null,\"etag\":null,\"name\":\"All Files\"}]},\"created_at\":\"2016-12-07T15:53:59-08:00\",\"modified_at\":\"2018-04-24T15:08:58-07:00\",\"trashed_at\":null,\"purged_at\":null,\"content_created_at\":\"2016-12-07T15:53:59-08:00\",\"content_modified_at\":\"2016-12-07T15:59:32-08:00\",\"created_by\":{\"type\":\"user\",\"id\":\"33333\",\"name\":\"Test User\",\"login\":\"[email protected]\"},\"modified_by\":{\"type\":\"user\",\"id\":\"33333\",\"name\":\"Test User\",\"login\":\"[email protected]\"},\"owned_by\":{\"type\":\"user\",\"id\":\"33333\",\"name\":\"Test User\",\"login\":\"[email protected]\"},\"shared_link\":null,\"parent\":{\"type\":\"folder\",\"id\":\"0\",\"sequence_id\":null,\"etag\":null,\"name\":\"All Files\"},\"item_status\":\"active\"},\"type\":\"search_result\"}],\"limit\":30,\"offset\":0,\"total_count\":1}"; IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxCollection <BoxSearchResult> >(It.IsAny <IBoxRequest>())) .Returns(Task.FromResult <IBoxResponse <BoxCollection <BoxSearchResult> > >(new BoxResponse <BoxCollection <BoxSearchResult> >() { Status = ResponseStatus.Success, ContentString = responseString })) .Callback <IBoxRequest>(r => boxRequest = r); /*** Act ***/ BoxCollection <BoxSearchResult> results = await _searchManager.QueryAsyncWithSharedLinks("test"); /*** Assert ***/ Assert.AreEqual("query=test&limit=30&offset=0&include_recent_shared_links=true", boxRequest.GetQueryString()); Assert.AreEqual(1, results.TotalCount); Assert.AreEqual("file", results.Entries[0].Item.Type); Assert.AreEqual("11111", results.Entries[0].Item.Id); }
public async Task GetEnterpriseUsers_EmailSpecialCharacters_ValidReponse() { IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxCollection <BoxUser> >(It.IsAny <IBoxRequest>())) .Returns(() => Task.FromResult <IBoxResponse <BoxCollection <BoxUser> > >(new BoxResponse <BoxCollection <BoxUser> >() { Status = ResponseStatus.Success, ContentString = "{\"total_count\":2,\"entries\":[{\"type\":\"user\",\"id\":\"1923882\",\"name\":\"Joey Burns\",\"role\":\"coadmin\"},{\"type\":\"user\",\"id\":\"23412412\",\"name\":\"John Covertino\",\"role\":\"coadmin\"}]}" })) .Callback <IBoxRequest>(r => boxRequest = r); BoxCollection <BoxUser> items = await _usersManager.GetEnterpriseUsersAsync(filterTerm : "*****@*****.**"); Assert.AreEqual("filter_term=user%2Balias%40example.com&offset=0&limit=100", boxRequest.GetQueryString()); }
public async Task EnterpriseEventsAsync_DateEncodingUTC_ValidResponse() { string responseString = "{\"chunk_size\": 1, \"next_stream_position\": 123, \"entries\": [{\"source\":{\"group_id\":\"942617509\",\"group_name\":\"Groupies\"},\"created_by\":{\"type\":\"user\",\"id\":\"275035869\",\"name\":\"MattWiller\",\"login\":\"mwiller + [email protected]\"},\"created_at\":\"2018-03-16T15:12:52-07:00\",\"event_id\":\"85c57bf3-bc15-4d24-93bc-955c796217c8\",\"event_type\":\"GROUP_EDITED\",\"ip_address\":\"UnknownIP\",\"type\":\"event\",\"session_id\":null,\"additional_details\":null}]}"; IBoxRequest boxRequest = null; Handler.Setup(h => h.ExecuteAsync <BoxEventCollection <BoxEnterpriseEvent> >(It.IsAny <IBoxRequest>())) .Returns(Task.FromResult <IBoxResponse <BoxEventCollection <BoxEnterpriseEvent> > >(new BoxResponse <BoxEventCollection <BoxEnterpriseEvent> >() { Status = ResponseStatus.Success, ContentString = responseString })).Callback <IBoxRequest>(r => boxRequest = r); /*** Act ***/ var events = await _eventsManager.EnterpriseEventsAsync(createdAfter : new DateTime(1988, 11, 18, 9, 30, 0, DateTimeKind.Utc), createdBefore : new DateTime(2018, 11, 18, 9, 30, 0, DateTimeKind.Utc)); /*** Assert ***/ Assert.AreEqual("stream_type=admin_logs&limit=500&created_after=1988-11-18T09%3A30%3A00Z&created_before=2018-11-18T09%3A30%3A00Z", boxRequest.GetQueryString()); }