public void MSOXWSCORE_S01_TC30_ParentFolderIdIsReadOnly()
{
#region Create an item with setting ParentFolderId
ItemType[] createdItems = new ItemType[] { new ItemType() };
createdItems[0].Subject = Common.GenerateResourceName(
this.Site,
TestSuiteHelper.SubjectForCreateItem);
createdItems[0].ParentFolderId = new FolderIdType();
createdItems[0].ParentFolderId.Id = Common.GenerateResourceName(this.Site, "Id");
createdItems[0].ParentFolderId.ChangeKey = Common.GenerateResourceName(this.Site, "ChangeKey");
CreateItemResponseType createItemResponse = this.CallCreateItemOperation(DistinguishedFolderIdNameType.drafts, createdItems);
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R2016");
// Verify MS-OXWSCORE requirement: MS-OXWSCORE_R2016
this.Site.CaptureRequirementIfAreEqual<ResponseCodeType>(
ResponseCodeType.ErrorInvalidPropertySet,
createItemResponse.ResponseMessages.Items[0].ResponseCode,
2016,
@"[In t:ItemType Complex Type] This element [ParentFolderId] is read-only.");
#endregion
#region Update an item with setting ParentFolderId
ItemType item = new ItemType();
ItemIdType[] createdItemIds = this.CreateItemWithMinimumElements(item);
UpdateItemResponseType updateItemResponse;
ItemChangeType[] itemChanges;
itemChanges = new ItemChangeType[1];
itemChanges[0] = new ItemChangeType();
// Update the created item.
itemChanges[0].Item = createdItemIds[0];
itemChanges[0].Updates = new ItemChangeDescriptionType[1];
SetItemFieldType setItem = new SetItemFieldType();
setItem.Item = new PathToUnindexedFieldType()
{
FieldURI = UnindexedFieldURIType.itemParentFolderId
};
setItem.Item1 = new ItemType()
{
ParentFolderId = new FolderIdType
{
Id = Common.GenerateResourceName(this.Site, "Id"),
ChangeKey = Common.GenerateResourceName(this.Site, "ChangeKey")
}
};
itemChanges[0].Updates[0] = setItem;
updateItemResponse = this.CallUpdateItemOperation(
DistinguishedFolderIdNameType.drafts,
true,
itemChanges);
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R2348");
// Verify MS-OXWSCORE requirement: MS-OXWSCORE_R2348
this.Site.CaptureRequirementIfAreEqual<ResponseCodeType>(
ResponseCodeType.ErrorInvalidPropertySet,
updateItemResponse.ResponseMessages.Items[0].ResponseCode,
2348,
@"[In t:ItemType Complex Type] but if [ParentFolderId] specified in a CreateItem or UpdateItem request, an ErrorInvalidPropertySet ([MS-OXWSCDATA] section 2.2.5.24) will be returned.");
#endregion
}