public void MSWEBSS_S07_TC03_UpdateColumns_AllFieldsValid()
{
#region Set up the environment
this.InitUpdateColumn();
// Update to new interface
UpdateColumnsMethod[] newFields = new UpdateColumnsMethod[1];
newFields[0] = new UpdateColumnsMethod();
newFields[0].Field = new FieldDefinition();
newFields[0].ID = ((uint)CONST_MethodIDUNITS.One).ToString();
newFields[0].Field.Name = this.GenerateRandomString(10);
newFields[0].Field.Type = Common.GetConfigurationPropertyValue("UpdateColumns_Type", this.Site);
// Update to new interface
UpdateColumnsMethod1[] updateFields = new UpdateColumnsMethod1[1];
updateFields[0] = new UpdateColumnsMethod1();
updateFields[0].Field = new FieldDefinition();
updateFields[0].ID = ((uint)CONST_MethodIDUNITS.Three).ToString();
updateFields[0].Field.Name = this.GenerateRandomString(10);
updateFields[0].Field.Type = Common.GetConfigurationPropertyValue("UpdateColumns_Type", this.Site);
updateFields[0].Field.DisplayName = this.GenerateRandomString(10);
// Update to new interface
UpdateColumnsMethod2[] deleteFields = new UpdateColumnsMethod2[1];
deleteFields[0] = new UpdateColumnsMethod2();
deleteFields[0].Field = new FieldDefinition();
deleteFields[0].ID = ((uint)CONST_MethodIDUNITS.Five).ToString();
deleteFields[0].Field.Name = this.GenerateRandomString(10);
#endregion
UpdateColumnsResponseUpdateColumnsResult updateColumnsResult = Adapter.UpdateColumns(newFields, updateFields, deleteFields);
#region Capture All Fields Valid Related Requirement
// Verify MS-WEBSS requirement: MS-WEBSS_R465
bool isVerifiedR465 = updateColumnsResult != null;
Site.CaptureRequirementIfIsTrue(
isVerifiedR465,
465,
@"[In UpdateColumns] If the operation succeeds, it MUST return an UpdateColumnsResponse element.");
// Verify MS-WEBSS requirement: MS-WEBSS_R508
Site.CaptureRequirementIfAreEqual<string>(
newFields[0].ID,
updateColumnsResult.Results.NewFields[0].ID,
508,
@"[In UpdateColumnsResponse] Method.ID: This attribute MUST have the same value as the Method.ID attribute that was sent to the protocol server in the UpdateColumns message of this UpdateColumnsResponse for an add operation.");
// Verify MS-WEBSS requirement: MS-WEBSS_R473
Site.CaptureRequirementIfAreEqual<string>(
newFields[0].ID,
updateColumnsResult.Results.NewFields[0].ID,
473,
@"[In UpdateColumnsSoapOut] This message[UpdateColumnsSoapOut] is the response message to perform the following operations on the context site and all child sites in its hierarchy:
Adding one or more specified new columns.");
// Verify MS-WEBSS requirement: MS-WEBSS_R837
Site.CaptureRequirementIfAreEqual<string>(
updateFields[0].ID,
updateColumnsResult.Results.UpdateFields[0].ID,
837,
@"[In UpdateColumnsResponse] Method.ID: This attribute MUST have the same value as the Method.ID attribute that was sent to the protocol server in the UpdateColumns message of this UpdateColumnsResponse for an update operation.");
// Verify MS-WEBSS requirement: MS-WEBSS_R474
Site.CaptureRequirementIfAreEqual<string>(
updateFields[0].ID,
updateColumnsResult.Results.UpdateFields[0].ID,
474,
@"[In UpdateColumnsSoapOut] Updating one or more specified existing columns.");
// Verify MS-WEBSS requirement: MS-WEBSS_R838
Site.CaptureRequirementIfAreEqual<string>(
deleteFields[0].ID,
updateColumnsResult.Results.DeleteFields[0].ID,
838,
@"[In UpdateColumnsResponse] Method.ID: This attribute MUST have the same value as the Method.ID attribute that was sent to the protocol server in the UpdateColumns message of this UpdateColumnsResponse for a delete operation.");
// Verify MS-WEBSS requirement: MS-WEBSS_R475
Site.CaptureRequirementIfAreEqual<string>(
deleteFields[0].ID,
updateColumnsResult.Results.DeleteFields[0].ID,
475,
@"[In UpdateColumnsSoapOut] Deleting one or more specified existing columns.");
// Verify MS-WEBSS requirement: MS-WEBSS_R1037
Site.Assert.IsFalse(!Common.IsRequirementEnabled(1037, this.Site), "This operation UpdateColumns failed.");
if (Common.IsRequirementEnabled(1037, this.Site))
{
// If the operation UpdateColumns failed,verify MS-WEBSS requirement: MS-WEBSS_R1037
Site.CaptureRequirement(
1037,
@"[In Appendix B: Product Behavior] Implementation does support this[UpdateColumns] operation.(<21> Windows SharePoint Services 3.0 and above follow this behavior.)");
}
#endregion
}