/// <summary> /// Capture requirements related to SchemaLock sub response. /// </summary> /// <param name="schemaLockSubResponse">The schemaLock response.</param> /// <param name="site">An object provides logging, assertions, and SUT adapters for test code onto its execution context.</param> public static void ValidateSchemaLockSubResponse(SchemaLockSubResponseType schemaLockSubResponse, ITestSite site) { ValidateSubResponseType(schemaLockSubResponse as SubResponseType, site); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1120 // if can launch this method, the schema matches site.CaptureRequirement( "MS-FSSHTTP", 1120, @"[In SchemaLock Subrequest][The protocol client sends a schema lock SubRequest message, which is of type SchemaLockSubRequestType,] The protocol server responds with a schema lock SubResponse message, which is of type SchemaLockSubResponseType as specified in section 2.3.1.16."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R4690 // if can launch this method, the schema matches site.CaptureRequirementIfAreEqual<Type>( typeof(SchemaLockSubResponseType), schemaLockSubResponse.GetType(), "MS-FSSHTTP", 4690, @"[In SubResponseElementGenericType] Depending on the Type attribute specified in the SubRequest element, the SubResponseElementGenericType MUST take one of the forms: SchemaLockSubResponseType."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R5743 // if can launch this method, the schema matches site.CaptureRequirementIfAreEqual<Type>( typeof(SchemaLockSubResponseType), schemaLockSubResponse.GetType(), "MS-FSSHTTP", 5743, @"[In SubResponseType] The SubResponseElementGenericType takes one of the following forms: SchemaLockSubResponseType."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R725 // if can launch this method, the schema matches site.CaptureRequirement( "MS-FSSHTTP", 725, @"[In SchemaLockSubResponseType][SchemaLockSubResponseType schema is:] <xs:complexType name=""SchemaLockSubResponseType""> <xs:complexContent> <xs:extension base=""tns:SubResponseType""> <xs:sequence minOccurs=""1"" maxOccurs=""1""> <xs:element name=""SubResponseData"" type=""tns:SchemaLockSubResponseDataType"" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>"); if (string.Compare("Success", schemaLockSubResponse.ErrorCode, StringComparison.OrdinalIgnoreCase) == 0) { // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R265 // if can launch this method, the schema matches bool isVerifyR265 = schemaLockSubResponse.SubResponseData != null; // If popup the assert, the case run fail. site.Assert.IsTrue( isVerifyR265, "For requirement MS-FSSHTTPB_R265, the SubResponseData should not be NULL."); // If the above logic is right, MS-FSSHTTP_R265 can be captured. site.CaptureRequirement( "MS-FSSHTTP", 265, @"[In SubResponseElementGenericType][The SubResponseData element MUST be sent as part of the SubResponse element in a cell storage service response message if the ErrorCode attribute that is part of the SubResponse element is set to a value of ""Success"" and one of the following conditions is true:] The Type attribute that is specified in the SubRequest element is set to a value of ""SchemaLock""."); } if (schemaLockSubResponse.SubResponseData != null) { ValidateSchemaLockSubResponseDataType(schemaLockSubResponse.SubResponseData, site); } }