Microsoft.Protocols.TestSuites.MS_OXCSTOR.MS_OXCSTORAdapter.VerifyRopLogonForPrivateMailbox C# (CSharp) Method

VerifyRopLogonForPrivateMailbox() private method

Verify the response by sending the ROP RopLogon for the private mailbox.
private VerifyRopLogonForPrivateMailbox ( RopLogonRequest request, RopLogonResponse response ) : void
request Microsoft.Protocols.TestSuites.Common.RopLogonRequest The structure of ROP RopLogon request.
response Microsoft.Protocols.TestSuites.Common.RopLogonResponse The structure of ROP RopLogon response.
return void
        private void VerifyRopLogonForPrivateMailbox(RopLogonRequest request, RopLogonResponse response)
        {
            if (response.ReturnValue == 0)
            {
                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R13");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R13
                // If calling RopLogon ROP successfully, indicates the logon session is established.
                this.Site.CaptureRequirement(
                    13,
                    @"[In RopLogon ROP] The RopLogon ROP ([MS-OXCROPS] section 2.2.3.1) establishes a logon session between the client and the server.");

                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R106");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R106
                // If calling RopLogon ROP successfully, indicates the Essdn is right identifier to log on to mailbox.
                this.Site.CaptureRequirement(
                    106,
                    @"[In RopLogon ROP Request Buffer] Essdn: In the case of a private mailbox logon, this field contains an ASCII string that uniquely identifies a mailbox to log on to.");

                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R123");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R123
                this.Site.CaptureRequirementIfAreEqual<byte>(
                    0x01,
                    (byte)(response.ResponseFlags & (byte)0x01),
                    123,
                    @"[In RopLogon ROP Success Response Buffer for Private Mailbox] [Response Flags] The description of flag Reserved: This bit [Reserved] MUST be set.");

                // Add the debug information
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R122");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R122
                // Check if the flag Reserved is 0x01. 
                Site.CaptureRequirementIfAreEqual<byte>(
                    0x01,
                    (byte)(response.ResponseFlags & (byte)0x01),
                    122,
                    @"[In RopLogon ROP Success Response Buffer for Private Mailbox] [Response Flags] The value of flag Reserved: 0x01.");

                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R1062");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R1062
                this.Site.CaptureRequirementIfAreEqual<byte>(
                    request.LogonFlags,
                    response.LogonFlags,
                    1062,
                    @"[In RopLogon ROP Success Response Buffer for Private Mailbox] LogonFlags: The server returns these flags [Private, Undercover, and Ghostedflags] unchanged from the LogonFlags field of the RopLogon request (section 2.2.1.1.1).");

                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R118");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R118
                this.Site.CaptureRequirementIfAreEqual<byte>(
                    request.LogonFlags,
                    response.LogonFlags,
                    118,
                    @"[In RopLogon ROP Success Response Buffer for Private Mailbox] LogonFlags: This field is composed of the Private, Undercover, and Ghosted flags.");

                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R117");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R117
                // The RopLogon ROP response structure for public folders is designated
                Site.CaptureRequirement(
                    117,
                    @"[In RopLogon ROP Success Response Buffer for Private Mailbox] The following field values [LogonFlags, FolderIds, Response Flags, ReplId, ReplGuid, Logon Time, GwartTime, StoreState] are included in the RopLogon response only when the Private bit is set in the LogonFlags field of the RopLogon request (section 2.2.1.1.1).");
            }
        }