Microsoft.Protocols.TestSuites.MS_OXWSCORE.S01_ManageBaseItems.MSOXWSCORE_S01_TC30_ParentFolderIdIsReadOnly C# (CSharp) Method

MSOXWSCORE_S01_TC30_ParentFolderIdIsReadOnly() private method

private MSOXWSCORE_S01_TC30_ParentFolderIdIsReadOnly ( ) : void
return void
        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
        }
S01_ManageBaseItems