Microsoft.Protocols.TestSuites.SharedAdapter.MsfsshttpAdapterCapture.ValidateWhoAmISubResponseDataType C# (CSharp) Method

ValidateWhoAmISubResponseDataType() private static method

Capture requirements related with WhoAmISubResponseDataType
private static ValidateWhoAmISubResponseDataType ( WhoAmISubResponseDataType whoamiSubResponseData, ITestSite site ) : void
whoamiSubResponseData Microsoft.Protocols.TestSuites.Common.WhoAmISubResponseDataType The WhoAmISubResponseData information
site ITestSite Instance of ITestSite
return void
        private static void ValidateWhoAmISubResponseDataType(WhoAmISubResponseDataType whoamiSubResponseData, ITestSite site)
        {
            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R757
            site.CaptureRequirement(
                     "MS-FSSHTTP",
                     757,
                     @"[In WhoAmISubResponseDataType][WhoAmISubResponseDataType schema is:]
                     <xs:complexType name=""WhoAmISubResponseDataType"">
                     <xs:attributeGroup ref=""tns:WhoAmISubResponseDataOptionalAttributes""/>
                     </xs:complexType>");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1396
            // The SubResponseData of WhoamiSubResponse is of type WhoAmISubResponseDataType, so if whoamiSubResponse.SubResponseData is not null, then MS-FSSHTTP_R1396 can be captured.
            site.CaptureRequirementIfAreEqual<Type>(
                     typeof(WhoAmISubResponseDataType),
                     whoamiSubResponseData.GetType(),
                     "MS-FSSHTTP",
                     1396,
                     @"[In SubResponseDataGenericType][SubResponseDataGenericType MUST take one of the forms described in the following table] WhoAmISubResponseDataType: Type definition for Who Am I subresponse data.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1322
            site.CaptureRequirementIfAreEqual<Type>(
                     typeof(WhoAmISubResponseDataType),
                     whoamiSubResponseData.GetType(),
                     "MS-FSSHTTP",
                     1322,
                     @"[In WhoAmI Subrequest] The WhoAmISubResponseDataType defines the type of the SubResponseData element inside the WhoAmI SubResponse element.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1543
            site.CaptureRequirement(
                     "MS-FSSHTTP",
                     1543,
                     @"[In WhoAmISubResponseDataOptionalAttributes][UserLoginType] The UserLogin attribute MUST be specified in a WhoAmI subresponse that is generated in response to a WhoAmI subrequest.");

            if (whoamiSubResponseData.UserName != null
                || whoamiSubResponseData.UserEmailAddress != null
                || whoamiSubResponseData.UserSIPAddress != null)
            {
                // Verify requirements related with WhoAmISubResponseDataOptionalAttributes
                ValidateWhoAmISubResponseDataOptionalAttributes(whoamiSubResponseData, site);
            }
        }