Ejemplo n.º 1
0
        public void ToString_Should_ReturnCorrectBaseUrl_When_AllQueryParametersUsed()
        {
            // Arrange
            const string baseUrl  = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";
            var          expected = $"{baseUrl}WorkItems?$select=WorkItemId,Title,WorkItemType,State,CreatedDate&$filter=startswith(Area/AreaPath,'Enterprise')&$orderby=CreatedDate";

            var request = new ODataRequest(baseUrl);

            // Act
            request.AddProperty("WorkItemId");
            request.AddProperty("Title");
            request.AddProperty("WorkItemType");
            request.AddProperty("State");
            request.AddProperty("CreatedDate");

            request.AddSorting("CreatedDate");

            request.Entity = "WorkItems";

            request.Filter = new ODataFilter().StartsWith("Area/AreaPath", "Enterprise");

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 2
0
        public void QueryString_BuildFromProperties_PropertySet3()
        {
            var expected = $"{ClientContext.Current.Server.Url}/OData.svc/Root?" +
                           $"metadata=no&$top=7&$skip=78&$select=Id,Name&$filter=isof('Folder')&" +
                           $"$orderby=Field1 desc,Field2,Field3 asc&$inlinecount=allpages&" +
                           $"enableautofilters=false&enablelifespanfilter=false&scenario=Scenario1";

            var req = new ODataRequest
            {
                Path = "/Root",
                //ContentId = 79,
                IsCollectionRequest = true,
                Metadata            = MetadataFormat.None,
                //ActionName = "Action1",
                //PropertyName = "PropertyName",
                CountOnly      = false,
                AutoFilters    = FilterStatus.Disabled,
                LifespanFilter = FilterStatus.Disabled,
                ChildrenFilter = "isof('Folder')",
                InlineCount    = InlineCountOptions.AllPages,
                OrderBy        = new[] { "Field1 desc", "Field2", "Field3 asc" },
                Scenario       = "Scenario1",
                Select         = new[] { "Id", "Name" },
                Top            = 7,
                Skip           = 78,
            };

            Assert.AreEqual(expected, req.ToString());
        }
Ejemplo n.º 3
0
        public void QueryString_BuildFromProperties_CollectionDefaults()
        {
            var expected = $"{ClientContext.Current.Server.Url}/OData.svc/Root?metadata=no";

            var req = new ODataRequest {
                Path = "/Root", IsCollectionRequest = true
            };

            Assert.AreEqual(expected, req.ToString());
        }
Ejemplo n.º 4
0
        public void ToString_Should_ReturnNullWhenNotInitialized()
        {
            // Arrange
            var request = new ODataRequest();

            // Act
            var actual = request.ToString();

            // Assert
            Assert.True(string.IsNullOrWhiteSpace(actual));
        }
Ejemplo n.º 5
0
        public void ToString_Should_ReturnCorrectBaseUrl()
        {
            // Arrange
            const string expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            // Act
            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 6
0
        public void ToString_Should_ReturnCorrectURL_When_DesendingSortingIsUsed()
        {
            var expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            expected = $"{expected}?$orderby=CreatedDate desc";

            // Act
            request.AddSorting("CreatedDate", true);

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 7
0
        public void ToString_Should_ReturnCorrectValue_When_TakingEntities()
        {
            // Arrange
            var expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            expected = $"{expected}?$top=15";

            // Act
            request.Take(15);
            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 8
0
        public void ToString_Should_ReturnCorrectURL_When_FilterIsUsed()
        {
            var expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            expected = $"{expected}?$filter=startswith(Area/AreaPath,'Enterprise')";

            // Act
            request.Filter = new ODataFilter().StartsWith("Area/AreaPath", "Enterprise");

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 9
0
        public void ToString_Should_ReturnCorrectURL_When_EntityIsUsed()
        {
            var expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            expected = $"{expected}WorkItems";

            // Act
            request.Entity = "WorkItems";

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 10
0
        public void ToString_Should_ReturnCorrectURL_When_SamePropertiesIsAddedTwice()
        {
            var expected = "https://analytics.dev.azure.com/Contoso/Enterprise/_odata/v3.0-preview/";

            var request = new ODataRequest(expected);

            expected = $"{expected}?$select=WorkItemId,Title";

            // Act
            request.AddProperty("WorkItemId");
            request.AddProperty("Title");
            request.AddProperty("WorkItemId");

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 11
0
        public void QueryString_BuildFromProperties_PropertySet2()
        {
            var expected = $"{ClientContext.Current.Server.Url}/OData.svc/content(79)/PropertyName?" +
                           $"metadata=minimal&$expand=Field1,Field2&$select=Id,Name,Field1,Field2&version=V16.78D";

            var req = new ODataRequest
            {
                //Path = "/Root",
                ContentId           = 79,
                IsCollectionRequest = false,
                Metadata            = MetadataFormat.Minimal,
                //ActionName = "Action1",
                PropertyName = "PropertyName",
                CountOnly    = false,
                Expand       = new[] { "Field1", "Field2" },
                Select       = new[] { "Id", "Name", "Field1", "Field2" },
                Version      = "V16.78D",
            };

            Assert.AreEqual(expected, req.ToString());
        }
Ejemplo n.º 12
0
        public void ToString_Should_ReturnCorrectString_When_UrlIsNotProvided()
        {
            // Arrange
            const string expected = "WorkItems?$select=WorkItemId,Title,State,CreatedDate&$orderby=CreatedDate";

            var request = new ODataRequest();

            // Act
            request.AddProperty("WorkItemId");
            request.AddProperty("Title");
            request.AddProperty("State");
            request.AddProperty("CreatedDate");

            request.AddSorting("CreatedDate");

            request.Entity = "WorkItems";

            var actual = request.ToString();

            // Assert
            Assert.Equal(expected, actual);
        }
Ejemplo n.º 13
0
        public void QueryString_Parameters()
        {
            var request = new ODataRequest(new ServerContext
            {
                Url = "https://example.com",
            })
            {
                Path = "/Root/MyContent",
                IsCollectionRequest = false
            };

            request.Parameters.Add("Id", "1");
            request.Parameters.Add("Name", "Value");

            var expected = "https://example.com/OData.svc/Root('MyContent')?metadata=no&Id=1&Name=Value";

            // ACTION
            var actual = request.ToString();

            // ASSERT
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 14
0
        public void QueryString_BuildFromProperties_PropertySet4()
        {
            var expected = $"{ClientContext.Current.Server.Url}/OData.svc/Root/$count?" +
                           $"metadata=no&$filter=isof('Folder')&$inlinecount=allpages&" +
                           $"enableautofilters=false&enablelifespanfilter=false&scenario=Scenario1";

            var req = new ODataRequest
            {
                Path = "/Root",
                //ContentId = 79,
                IsCollectionRequest = true,
                //Metadata = MetadataFormat.None,
                //ActionName = "Action1",
                //PropertyName = "PropertyName",
                CountOnly      = true,
                AutoFilters    = FilterStatus.Disabled,
                LifespanFilter = FilterStatus.Disabled,
                ChildrenFilter = "isof('Folder')",
                InlineCount    = InlineCountOptions.AllPages,
                Scenario       = "Scenario1",
            };

            Assert.AreEqual(expected, req.ToString());
        }
Ejemplo n.º 15
0
        public void QueryString_BuildFromProperties_EmptyIsBuggy()
        {
            var req = new ODataRequest();

            Assert.AreEqual("", req.ToString());
        }