Example #1
0
        public async Task DeleteWebLinkSharedLink_ValidResponse_ValidFile()
        {
            /*** Arrange ***/
            var         responseString = "{ \"type\": \"web_link\", \"id\": \"5000948880\", \"sequence_id\": \"3\", \"etag\": \"3\", \"sha1\": \"134b65991ed521fcfe4724b7d814ab8ded5185dc\", \"name\": \"tigers.jpeg\", \"description\": \"a picture of tigers\", \"size\": 629644, \"path_collection\": { \"total_count\": 2, \"entries\": [ { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" }, { \"type\": \"folder\", \"id\": \"11446498\", \"sequence_id\": \"1\", \"etag\": \"1\", \"name\": \"Pictures\" } ] }, \"created_at\": \"2012-12-12T10:55:30-08:00\", \"modified_at\": \"2012-12-12T11:04:26-08:00\", \"created_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"modified_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"owned_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"shared_link\": null, \"parent\": { \"type\": \"folder\", \"id\": \"11446498\", \"sequence_id\": \"1\", \"etag\": \"1\", \"name\": \"Pictures\" }, \"item_status\": \"active\" }";
            IBoxRequest boxRequest     = null;
            var         webLinksUri    = new Uri(Constants.WebLinksEndpointString);

            Config.SetupGet(x => x.WebLinksEndpointUri).Returns(webLinksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxWebLink>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxWebLink> >(new BoxResponse <BoxWebLink>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            BoxWebLink w = await _webLinkManager.DeleteSharedLinkAsync("12345");

            /*** Assert ***/
            Assert.AreEqual(new Uri("https://api.box.com/2.0/web_links/12345"), boxRequest.AbsoluteUri);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual("{\"shared_link\":null}", boxRequest.Payload);

            Assert.AreEqual("5000948880", w.Id);
            Assert.AreEqual("3", w.SequenceId);
            Assert.AreEqual("3", w.ETag);
            Assert.AreEqual("web_link", w.Type);
            Assert.IsNull(w.SharedLink);
        }
        public async Task CreateWebLinkSharedLink_ValidResponse_ValidFile()
        {
            /*** Arrange ***/
            string      responseString = "{ \"type\": \"web_link\", \"id\": \"5000948880\", \"sequence_id\": \"3\", \"etag\": \"3\", \"sha1\": \"134b65991ed521fcfe4724b7d814ab8ded5185dc\", \"name\": \"tigers.jpeg\", \"description\": \"a picture of tigers\", \"size\": 629644, \"path_collection\": { \"total_count\": 2, \"entries\": [ { \"type\": \"folder\", \"id\": \"0\", \"sequence_id\": null, \"etag\": null, \"name\": \"All Files\" }, { \"type\": \"folder\", \"id\": \"11446498\", \"sequence_id\": \"1\", \"etag\": \"1\", \"name\": \"Pictures\" } ] }, \"created_at\": \"2012-12-12T10:55:30-08:00\", \"modified_at\": \"2012-12-12T11:04:26-08:00\", \"created_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"modified_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"owned_by\": { \"type\": \"user\", \"id\": \"17738362\", \"name\": \"sean rose\", \"login\": \"[email protected]\" }, \"shared_link\": { \"url\": \"https://www.box.com/s/rh935iit6ewrmw0unyul\", \"download_url\": \"https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg\", \"vanity_url\": null, \"is_password_enabled\": false, \"unshared_at\": null, \"download_count\": 0, \"preview_count\": 0, \"access\": \"open\", \"permissions\": { \"can_download\": true, \"can_preview\": true } }, \"parent\": { \"type\": \"folder\", \"id\": \"11446498\", \"sequence_id\": \"1\", \"etag\": \"1\", \"name\": \"Pictures\" }, \"item_status\": \"active\" }";
            IBoxRequest boxRequest     = null;
            Uri         webLinksUri    = new Uri(Constants.WebLinksEndpointString);

            Config.SetupGet(x => x.WebLinksEndpointUri).Returns(webLinksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxWebLink>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxWebLink> >(new BoxResponse <BoxWebLink>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            BoxSharedLinkRequest sharedLink = new BoxSharedLinkRequest()
            {
                Access = BoxSharedLinkAccessType.collaborators
            };

            /*** Act ***/
            BoxWebLink w = await _webLinkManager.CreateSharedLinkAsync("12345", sharedLink);

            /*** Assert ***/
            Assert.AreEqual(new Uri("https://api.box.com/2.0/web_links/12345"), boxRequest.AbsoluteUri);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual("{\"shared_link\":{\"access\":\"collaborators\"}}", boxRequest.Payload);

            Assert.AreEqual("5000948880", w.Id);
            Assert.AreEqual("3", w.SequenceId);
            Assert.AreEqual("3", w.ETag);
            Assert.AreEqual("https://www.box.com/s/rh935iit6ewrmw0unyul", w.SharedLink.Url);
        }
        public async Task <string> Execute(IBoxClient client)
        {
            var webLinkRequest = new BoxWebLinkRequest()
            {
                Url         = new Uri("http://www.box.com"),
                Name        = _name,
                Description = "A weblink to Box.com",
                Parent      = new BoxRequestEntity()
                {
                    Id = _parentFolderId
                }
            };

            WebLink = await client.WebLinksManager.CreateWebLinkAsync(webLinkRequest);

            _webLinkId = WebLink.Id;

            return(_webLinkId);
        }
        public async Task UpdateWeblink_ValidResponse()
        {
            /*** Arrange ***/
            string      responseString = @"{
                                        ""type"": ""web_link"",
                                        ""id"": ""6742981"",
                                        ""sequence_id"": ""2"",
                                        ""etag"": ""2"",
                                        ""name"": ""Box Marketing Web Page"",
                                        ""url"": ""https://www.box.com"",
                                        ""created_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""created_at"": ""2015-05-07T14:31:16-07:00"",
                                        ""modified_at"": ""2015-05-07T15:45:04-07:00"",
                                        ""parent"": {
                                            ""type"": ""folder"",
                                            ""id"": ""848123342"",
                                            ""sequence_id"": ""1"",
                                            ""etag"": ""1"",
                                            ""name"": ""Documentation""
                                        },
                                        ""description"": ""Cloud Content Management"",
                                        ""item_status"": ""active"",
                                        ""trashed_at"": null,
                                        ""purged_at"": null,
                                        ""shared_link"": null,
                                        ""path_collection"": {
                                            ""total_count"": 2,
                                            ""entries"": [
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""0"",
                                                    ""sequence_id"": null,
                                                    ""etag"": null,
                                                    ""name"": ""All Files""
                                                },
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""848123342"",
                                                    ""sequence_id"": ""1"",
                                                    ""etag"": ""1"",
                                                    ""name"": ""Documentation""
                                                }
                                            ]
                                        },
                                        ""modified_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""owned_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        }
                                    }";
            IBoxRequest boxRequest     = null;
            Uri         webLinksUri    = new Uri(Constants.WebLinksEndpointString);

            _config.SetupGet(x => x.WebLinksEndpointUri).Returns(webLinksUri);
            _handler.Setup(h => h.ExecuteAsync <BoxWebLink>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxWebLink> >(new BoxResponse <BoxWebLink>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            BoxWebLinkRequest updateWebLinkRequest = new BoxWebLinkRequest()
            {
                Name = "Box Marketing Web Page"
            };
            BoxWebLink result = await _webLinkManager.UpdateWebLinkAsync("6742981", updateWebLinkRequest);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Put, boxRequest.Method);
            Assert.AreEqual(webLinksUri + "6742981", boxRequest.AbsoluteUri.AbsoluteUri);
            BoxWebLinkRequest payload = JsonConvert.DeserializeObject <BoxWebLinkRequest>(boxRequest.Payload);

            Assert.AreEqual("Box Marketing Web Page", payload.Name);


            //Response check
            Assert.AreEqual("web_link", result.Type);
            Assert.AreEqual("6742981", result.Id);
            Assert.AreEqual(new Uri("https://www.box.com"), result.Url);
            Assert.AreEqual("Box Marketing Web Page", result.Name);
            Assert.AreEqual("Cloud Content Management", result.Description);
            Assert.AreEqual("0", result.PathCollection.Entries[0].Id);
            Assert.AreEqual("All Files", result.PathCollection.Entries[0].Name);
            Assert.AreEqual("848123342", result.PathCollection.Entries[1].Id);
            Assert.AreEqual("Documentation", result.PathCollection.Entries[1].Name);
            Assert.AreEqual("10523870", result.ModifiedBy.Id);
            Assert.AreEqual("10523870", result.OwnedBy.Id);
        }
Example #5
0
        public async Task Copy_ValidResponse()
        {
            /*** Arrange ***/
            var         responseString = @"{
                                        ""type"": ""web_link"",
                                        ""id"": ""6743065"",
                                        ""sequence_id"": ""0"",
                                        ""etag"": ""0"",
                                        ""name"": ""Box Website!"",
                                        ""url"": ""https://www.box.com"",
                                        ""created_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""created_at"": ""2015-05-07T15:00:01-07:00"",
                                        ""modified_at"": ""2015-05-07T15:00:01-07:00"",
                                        ""parent"": {
                                            ""type"": ""folder"",
                                            ""id"": ""848123342"",
                                            ""sequence_id"": ""1"",
                                            ""etag"": ""1"",
                                            ""name"": ""Documentation""
                                        },
                                        ""description"": ""Cloud Content Management"",
                                        ""item_status"": ""active"",
                                        ""trashed_at"": null,
                                        ""purged_at"": null,
                                        ""shared_link"": null,
                                        ""path_collection"": {
                                            ""total_count"": 2,
                                            ""entries"": [
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""0"",
                                                    ""sequence_id"": null,
                                                    ""etag"": null,
                                                    ""name"": ""All Files""
                                                },
                                                {
                                                    ""type"": ""folder"",
                                                    ""id"": ""848123342"",
                                                    ""sequence_id"": ""1"",
                                                    ""etag"": ""1"",
                                                    ""name"": ""Documentation""
                                                }
                                            ]
                                        },
                                        ""modified_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""owned_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""10523870"",
                                            ""name"": ""Ted Blosser"",
                                            ""login"": ""*****@*****.**""
                                        }
                                    }";
            IBoxRequest boxRequest     = null;
            var         webLinksUri    = new Uri(Constants.WebLinksEndpointString);

            Config.SetupGet(x => x.WebLinksEndpointUri).Returns(webLinksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxWebLink>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxWebLink> >(new BoxResponse <BoxWebLink>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            var webLinkId           = "11111";
            var destinationFolderId = "22222";

            /*** Act ***/
            BoxWebLink result = await _webLinkManager.CopyAsync(webLinkId, destinationFolderId);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Post, boxRequest.Method);
            Assert.AreEqual(new Uri("https://api.box.com/2.0/web_links/11111/copy"), boxRequest.AbsoluteUri);
            Assert.AreEqual("{\"parent\":{\"id\":\"22222\"}}", boxRequest.Payload);

            //Response check
            Assert.AreEqual("web_link", result.Type);
            Assert.AreEqual("6743065", result.Id);
            Assert.AreEqual(new Uri("https://www.box.com"), result.Url);
            Assert.AreEqual("Cloud Content Management", result.Description);
            Assert.AreEqual("0", result.PathCollection.Entries[0].Id);
            Assert.AreEqual("All Files", result.PathCollection.Entries[0].Name);
            Assert.AreEqual("848123342", result.PathCollection.Entries[1].Id);
            Assert.AreEqual("Documentation", result.PathCollection.Entries[1].Name);
        }