Skip to content

Commit 4f014e5

Browse files
authored
Avoid duplicated URL in the ODataRequest.ToString method. (#153)
1 parent c7f779e commit 4f014e5

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

src/SenseNet.Client.Tests/UnitTests/ODataRequestTests.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,6 +1254,34 @@ public void ActionRequest_NoOperation()
12541254

12551255
#endregion
12561256

1257+
#region Bug fixes
1258+
1259+
[TestMethod]
1260+
public void ODataRequest_ToString_FIX_152_DuplicatedSlash()
1261+
{
1262+
var url = "https://example.com";
1263+
1264+
var server = new ServerContext { Url = url };
1265+
var request = new ODataRequest(server) { Path = "/Root/Content", ActionName = "Action1" };
1266+
Assert.AreEqual("https://example.com/OData.svc/Root('Content')/Action1?metadata=no", request.ToString());
1267+
1268+
server = new ServerContext { Url = url };
1269+
request = new ODataRequest(server) { ContentId = 42, ActionName = "Action1" };
1270+
Assert.AreEqual("https://example.com/OData.svc/content(42)/Action1?metadata=no", request.ToString());
1271+
1272+
url = "https://example.com/";
1273+
1274+
server = new ServerContext { Url = url };
1275+
request = new ODataRequest(server) { Path = "/Root/Content", ActionName = "Action1" };
1276+
Assert.AreEqual("https://example.com/OData.svc/Root('Content')/Action1?metadata=no", request.ToString());
1277+
1278+
server = new ServerContext { Url = url };
1279+
request = new ODataRequest(server) { ContentId = 42, ActionName = "Action1" };
1280+
Assert.AreEqual("https://example.com/OData.svc/content(42)/Action1?metadata=no", request.ToString());
1281+
}
1282+
1283+
#endregion
1284+
12571285
//#region LoadReferenceRequest_*
12581286

12591287
[TestMethod]

src/SenseNet.Client/ODataRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ private string GetItemUrlBase()
447447
{
448448
// short url format that contains only the id
449449
if (ContentId > 0)
450-
return $"{SiteUrl}/{SERVICE_NAME}/content({ContentId})";
450+
return $"{SiteUrl.TrimEnd('/')}/{SERVICE_NAME}/content({ContentId})";
451451

452452
// regular url that contains the content path
453453
var path = Path.TrimStart('/');

0 commit comments

Comments
 (0)