Skip to content

Commit 60af09e

Browse files
committed
Add workspaceRef to create()
1 parent 662890a commit 60af09e

3 files changed

Lines changed: 11 additions & 10 deletions

File tree

Rally.RestApi.Test/RallyRestApiTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public void CreateTest()
120120
RallyRestApi restApi = GetRallyRestApi();
121121
var dynamicJson = new DynamicJsonObject();
122122
dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
123-
CreateResult response = restApi.Create("defect", dynamicJson);
123+
CreateResult response = restApi.Create(null, "defect", dynamicJson);
124124
Assert.AreEqual(0, response.Errors.Count);
125125
Assert.AreEqual(0, response.Warnings.Count);
126126
Assert.IsTrue(response.Reference.ToLower().Contains("defect"));
@@ -136,7 +136,7 @@ public void CreateSadPathTest()
136136
var defect = new DynamicJsonObject();
137137
defect["Name"] = "Sample Defect with invalid field";
138138
defect["Iteration"] = "Foo";
139-
CreateResult creationResult = restApi.Create("defect", defect);
139+
CreateResult creationResult = restApi.Create(null, "defect", defect);
140140
Assert.IsNull(creationResult.Reference);
141141
Assert.AreEqual(1, creationResult.Errors.Count);
142142
Assert.IsFalse(creationResult.Success);
@@ -148,7 +148,7 @@ public void DeleteTest()
148148
RallyRestApi restApi = GetRallyRestApi();
149149
var dynamicJson = new DynamicJsonObject();
150150
dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
151-
CreateResult response = restApi.Create("defect", dynamicJson);
151+
CreateResult response = restApi.Create(null, "defect", dynamicJson);
152152
Assert.AreEqual(0, response.Errors.Count);
153153
Assert.AreEqual(0, response.Warnings.Count);
154154
Assert.IsTrue(response.Reference.ToLower().Contains("defect"));
@@ -273,7 +273,7 @@ public void TestAttribute()
273273
public void FormatCreateString()
274274
{
275275
RallyRestApi restApi = GetRallyRestApi();
276-
Uri result = restApi.FormatCreateString("defect");
276+
Uri result = restApi.FormatCreateString(null,"defect");
277277
var expected = new Uri(IntegrationTestInfo.SERVER + "/slm/webservice/" + RallyRestApi.DEFAULT_WSAPI_VERSION + "/defect/create.js");
278278
Assert.AreEqual(expected, result);
279279
}

Rally.RestApi/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("1.0.14.0")]
35-
[assembly: AssemblyFileVersion("1.0.14.0")]
34+
[assembly: AssemblyVersion("1.0.15.0")]
35+
[assembly: AssemblyFileVersion("1.0.15.0")]
3636

3737
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Rally.RestApi.Test")]

Rally.RestApi/RallyRestApi.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,10 @@ protected Uri GetFullyQualifiedUri(string aRef)
167167
return new Uri(GetFullyQualifiedRef(aRef));
168168
}
169169

170-
internal Uri FormatCreateString(string typePath)
170+
internal Uri FormatCreateString(string workspaceRef, string typePath)
171171
{
172-
return new Uri(Service.Server.AbsoluteUri + "slm/webservice/" + wsapiVersion + "/" + typePath + "/create.js");
172+
String workspaceClause = workspaceRef == null ? "" : "?workspace=" + workspaceRef;
173+
return new Uri(Service.Server.AbsoluteUri + "slm/webservice/" + wsapiVersion + "/" + typePath + "/create.js" + workspaceClause);
173174
}
174175

175176
internal Uri FormatUpdateString(string typePath, long objectId)
@@ -422,14 +423,14 @@ public OperationResult Delete(string aRef)
422423
/// <param name="typePath">the type to be created</param>
423424
/// <param name="obj">the object to be created</param>
424425
/// <returns></returns>
425-
public CreateResult Create(string typePath, DynamicJsonObject obj)
426+
public CreateResult Create(string workspaceRef, string typePath, DynamicJsonObject obj)
426427
{
427428
var createResponse = new CreateResult();
428429
var data = new DynamicJsonObject();
429430
data[typePath] = obj;
430431
string postData = serializer.Serialize(data);
431432
dynamic response =
432-
serializer.Deserialize(Service.Post(FormatCreateString(typePath), postData, GetProcessedHeaders()));
433+
serializer.Deserialize(Service.Post(FormatCreateString(workspaceRef,typePath), postData, GetProcessedHeaders()));
433434
if(response.CreateResult.HasMember("Object"))
434435
{
435436
createResponse.Reference = response.CreateResult.Object._ref as string;

0 commit comments

Comments
 (0)