/// <summary> /// Capture requirements related with CellSubResponseDataType. /// </summary> /// <param name="cellSubResponseData">The cellSubResponseData</param> /// <param name="site">Instance of ITestSite</param> private static void ValidateCellSubResponseDataType(CellSubResponseDataType cellSubResponseData, ITestSite site) { // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1391 // The SubResponseData of CellSubResponse is of type CellSubResponseDataType, so if cellSubResponse.SubResponseData is not null, then MS-FSSHTTP_R1391 can be captured. site.CaptureRequirementIfAreEqual <Type>( typeof(CellSubResponseDataType), cellSubResponseData.GetType(), "MS-FSSHTTP", 1391, @"[In SubResponseDataGenericType][SubResponseDataGenericType MUST take one of the forms described in the following table] CellSubResponseDataType: Type definition for cell subresponse data."); if (cellSubResponseData.LockTypeSpecified) { // Verified LockTypes ValidateLockTypes(site); } // Verify requirements related with CellSubResponseDataOptionalAttributes if (cellSubResponseData.Etag != null || cellSubResponseData.LastModifiedTime != null || cellSubResponseData.CreateTime != null || cellSubResponseData.ModifiedBy != null || cellSubResponseData.CoalesceErrorMessage != null) { ValidateCellSubResponseDataOptionalAttributes(cellSubResponseData, site); } }
/// <summary> /// Capture requirements related with CellSubResponseDataOptionalAttributes. /// </summary> /// <param name="cellSubResponseData">The cellSubResponseData</param> /// <param name="site">Instance of ITestSite</param> private static void ValidateCellSubResponseDataOptionalAttributes(CellSubResponseDataType cellSubResponseData, ITestSite site) { if (cellSubResponseData.ModifiedBy != null) { // Verify requirements related with UserNameTypes ValidateUserNameTypes(site); } // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1465 site.CaptureRequirement( "MS-FSSHTTP", 1465, @"[In CellSubResponseDataOptionalAttributes] The CellSubResponseDataOptionalAttributes attribute group contains attributes that is used in SubResponseData elements associated with a SubResponse for a cell subrequest."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1497 site.CaptureRequirement( "MS-FSSHTTP", 1497, @"[In SubResponseDataOptionalAttributes] CellSubResponseDataOptionalAttributes: An attribute group that specifies attributes that MUST be used for SubResponseData elements associated with a subresponse for a cell subrequest."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R839 site.CaptureRequirement( "MS-FSSHTTP", 839, @"[In CellSubResponseDataOptionalAttributes] The definition of the CellSubResponseDataOptionalAttributes attribute group is as follows: <xs:attributeGroup name=""CellSubResponseDataOptionalAttributes""> <xs:attribute name=""Etag"" type=""xs:string"" use=""optional"" /> <xs:attribute name=""CreateTime"" type=""xs:integer"" use=""optional""/> <xs:attribute name=""LastModifiedTime"" type=""xs:integer"" use=""optional""/> <xs:attribute name=""ModifiedBy"" type=""tns:UserNameType"" use=""optional"" /> <xs:attribute name=""CoalesceErrorMessage"" type=""xs:string"" use=""optional""/> <xs:attribute name=""CoalesceHResult"" type=""xs:integer"" use=""optional""/> <xs:attribute name=""ContainsHotboxData"" type=""tns:TRUEFALSE"" use=""optional""/> <xs:attribute name=""HaveOnlyDemotionChanges"" type=""tns:TRUEFALSE"" use=""optional""/> </xs:attributeGroup>"); }