public static void ValidateGetVersionsSubResponse(GetVersionsSubResponseType getVersionsSubResponse, ITestSite site)
{
ValidateSubResponseType(getVersionsSubResponse as SubResponseType, site);
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R4694
// if can launch this method, the schema matches
site.CaptureRequirementIfAreEqual<Type>(
typeof(GetVersionsSubResponseType),
getVersionsSubResponse.GetType(),
"MS-FSSHTTP",
4695,
@"[In SubResponseElementGenericType] Depending on the Type attribute specified in the SubRequest element, the SubResponseElementGenericType MUST take one of the forms: GetVersionsSubResponseType.");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1816
// if can launch this method, the GetVersionsSubResponseType schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
1816,
@"[In GetVersionsSubResponseType][The schema of GetVersionsSubResponseType is] <xs:complexType name=""GetVersionsSubResponseType"">
<xs:complexContent>
<xs:extension base=""tns:SubResponseType"">
<xs:sequence minOccurs=""0"" maxOccurs=""1"">
<xs:element ref=""tns:GetVersionsResponse""/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2020
// if can launch this method, the GetVersionsSubResponseType schema matches.
site.CaptureRequirementIfAreEqual<Type>(
typeof(GetVersionsSubResponseType),
getVersionsSubResponse.GetType(),
"MS-FSSHTTP",
2020,
@"[In GetVersions Subrequest][The protocol client sends a GetVersions SubRequest message, which is of type GetVersionsSubRequestType] The protocol server responds with a GetVersions SubResponse message, which is of type GetVersionsSubResponseType as specified in section 2.3.1.32.");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2026
// if can launch this method, the GetVersionsSubResponseType schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
2026,
@"[In GetVersions Subrequest] The Results element, as specified in [MS-VERSS] section 2.2.4.1, is a complex type that specifies information about the file's versions.");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2301
// If isSchemaValid is true, the GetVersionsSubResponseType schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
2301,
@"[In GetVersionsSubResponseType][In Results] The DeleteAllVersions, DeleteVersion, GetVersions, and RestoreVersion methods return the Results complex type.
<s:complexType name=""Results"">
<s:sequence>
<s:element name=""list"" maxOccurs=""1"" minOccurs=""1"">
<s:complexType>
<s:attribute name=""id"" type=""s:string"" use=""required"" />
</s:complexType>
</s:element>
<s:element name=""versioning"" maxOccurs=""1"" minOccurs=""1"">
<s:complexType>
<s:attribute name=""enabled"" type=""s:unsignedByte"" use=""required"" />
</s:complexType>
</s:element>
<s:element name=""settings"" maxOccurs=""1"" minOccurs=""1"">
<s:complexType>
<s:attribute name=""url"" type=""s:string"" use=""required"" />
</s:complexType>
</s:element>
<s:element name=""result"" maxOccurs=""unbounded"" minOccurs=""1"" type=""tns:VersionData""/>
</s:sequence>
</s:complexType>");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2303
// Add the log information.
site.Log.Add(LogEntryKind.Debug, "For requirement MS-FSSHTTP_R2303, the versioning.enabled MUST be '0' or '1', the versioning.enabled value is : {0}", getVersionsSubResponse.GetVersionsResponse.GetVersionsResult.results.versioning.enabled.ToString());
// if can launch this method and the versioning.enabled schema matches and value must be 0 or 1.
bool isVerifyR2303 = getVersionsSubResponse.GetVersionsResponse.GetVersionsResult.results.versioning.enabled == 0 || getVersionsSubResponse.GetVersionsResponse.GetVersionsResult.results.versioning.enabled == 1;
site.CaptureRequirementIfIsTrue(
isVerifyR2303,
"MS-FSSHTTP",
2303,
@"[In GetVersionsSubResponseType][Results complex type] versioning.enabled: The value of this attribute [versioning.enabled] MUST be ""0"" or ""1"".");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2308
// if can launch this method, the versioning.enabled schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
2308,
@"[In GetVersionsSubResponseType][In VersionData] The VersionData complex type specifies the details about a single version of a file.
<s:complexType name=""VersionData"">
<s:attribute name=""version"" type=""s:string"" use=""required"" />
<s:attribute name=""url"" type=""s:string"" use=""required"" />
<s:attribute name=""created"" type=""s:string"" use=""required"" />
<s:attribute name=""createdRaw"" type=""s:string"" use=""required"" />
<s:attribute name=""createdBy"" type=""s:string"" use=""required"" />
<s:attribute name=""createdByName"" type=""s:string"" use=""optional"" />
<s:attribute name=""size"" type=""s:unsignedLong"" use=""required"" />
<s:attribute name=""comments"" type=""s:string"" use=""required"" />
</s:complexType>");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R3083
// if can launch this method, the versioning.enabled schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
3083,
@"[In GetVersionsResponse][The schema of GetVersionsResponse element is defined as:]
<s:element name=""GetVersionsResponse"">
<s:complexType>
<s:sequence>
<s:element minOccurs=""1"" maxOccurs=""1"" name=""GetVersionsResult"">
<s:complexType>
<s:sequence>
<s:element name=""results"" minOccurs=""1"" maxOccurs=""1"" type=""tns:Results"" />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R3084
// if can launch this method, the versioning.enabled schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
3084,
@"[In GetVersionsResponse] GetVersionsResult: An XML node that conforms to the structure specified in section 2.2.4.1. ");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R2306
// if can launch this method, the versioning.enabled schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
2306,
@"[In GetVersionsSubResponseType][Results complex type] settings.url: Specifies the URL to the webpage of versioning-related settings for the document library in which the file resides. ");
// Verify MS-FSSHTTP requirement: MS-FSSHTTP_R60101
// if can launch this method, the versioning.enabled schema matches.
site.CaptureRequirement(
"MS-FSSHTTP",
60101,
@"[In GetVersionsSubResponseType][VersionData] Implementation does contain the version of the file, including the major version and minor version numbers connected by period, for example, ""1.0"". (Microsoft SharePoint Foundation 2010/Microsoft SharePoint Server 2010 and above follow this behavior.)");
}
}