/// <summary> /// Capture requirements related with CoauthSubResponseDataType. /// </summary> /// <param name="coauthSubResponseData">The CoauthSubResponseDataType</param> /// <param name="site">Instance of ITestSite</param> public static void ValidateCoauthSubResponseDataType(CoauthSubResponseDataType coauthSubResponseData, ITestSite site) { // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R994 // if can launch this method, the schema matches. site.CaptureRequirement( "MS-FSSHTTP", 994, @"[In Coauth Subrequest] CoauthSubResponseDataType defines the type of the SubResponseData element inside the coauthoring SubResponse element."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R602 // If SubResponseData exists,its schema will have been validated before invoking the method CaptureJoinCoauthoringSessionRelatedRequirements. // So MS-FSSHTTP_R602 can be captured. site.CaptureRequirement( "MS-FSSHTTP", 602, @"[In CoauthSubResponseDataType][CoauthSubResponseDataType schema is:] <xs:complexType name=""CoauthSubResponseDataType""> <xs:attribute name=""LockType"" type=""tns:LockTypes"" use=""optional"" /> <xs:attribute name=""CoauthStatus"" type=""tns:CoauthStatusType"" use=""optional""/> <xs:attribute name=""TransitionID"" type=""tns:guid"" use=""optional""/> <xs:attribute name=""ExclusiveLockReturnReason"" type=""tns:ExclusiveLockReturnReasonTypes"" use=""optional"" /> </xs:complexType>"); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R999 // if can launch this method, the schema matches. site.CaptureRequirement( "MS-FSSHTTP", 999, @"[In Coauth Subrequest] The SubResponseData element returned for a coauthoring subrequest is of type CoauthSubResponseDataType."); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1392 // if can launch this method, the schema matches site.CaptureRequirement( "MS-FSSHTTP", 1392, @"[In SubResponseDataGenericType][SubResponseDataGenericType MUST take one of the forms described in the following table] CoauthSubResponseDataType: Type definition for coauthoring subresponse data."); if (coauthSubResponseData.LockTypeSpecified) { ValidateLockTypes(site); // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R998 // if can launch this method, the schema matches. site.CaptureRequirement( "MS-FSSHTTP", 998, @"[In Coauth Subrequest] The lock type is specified in the LockType attribute in the coauthoring SubResponseData element."); } if (coauthSubResponseData.CoauthStatusSpecified) { // Verify the CoauthStatusType schema related requirements. ValidateCoauthStatusType(site); } if (coauthSubResponseData.TransitionID != null) { // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2075, since TransitionID is marked as "tns:guid" type, the following // 2 requirements can be capture if the schema is valid. site.CaptureRequirement( "MS-FSSHTTP", 2075, @"[In SubResponseDataOptionalAttributes] TransitionID: A guid that specifies the file identifier stored for that file on the protocol server."); // Verify the GUID schema related requirements. ValidateGUID(site); } if (coauthSubResponseData.ExclusiveLockReturnReasonSpecified) { // Verify the ExclusiveLockReturnReasonTypes schema related requirements. ValidateExclusiveLockReturnReasonTypes(site); } }