Microsoft.Protocols.TestSuites.MS_OXORULE.MS_OXORULEAdapter.VerifyFolderEntryID C# (CSharp) Method

VerifyFolderEntryID() private method

Verify the FolderEntryID structure.
private VerifyFolderEntryID ( FolderEntryID folderEntryID, StoreObjectType storeObjectType ) : void
folderEntryID FolderEntryID The FolderEntryID to be verified.
storeObjectType StoreObjectType Store Object Type.
return void
        private void VerifyFolderEntryID(FolderEntryID folderEntryID, StoreObjectType storeObjectType)
        {
            // Add the debug information.
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2225");

            // Verify MS-OXCDATA requirement: MS-OXCDATA_R2225.
            Site.CaptureRequirementIfAreEqual<int>(
                0,
                BitConverter.ToInt32(folderEntryID.Flag, 0),
                "MS-OXCDATA",
                2225,
                @"[In Folder EntryID Structure] Flags (4 bytes): This value MUST be set to 0x00000000.");

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

            // Verify MS-OXCDATA requirement: MS-OXCDATA_R2229.
            Site.CaptureRequirementIfAreEqual<int>(
                16,
                folderEntryID.DataBaseGUID.Length,
                "MS-OXCDATA",
                2229,
                @"[In Folder EntryID Structure] DatabaseGuid (16 bytes): A GUID associated with the Store object and corresponding to the ReplicaId field of the FID structure.");

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

            // Verify MS-OXCDATA requirement: MS-OXCDATA_R2230.
            Site.CaptureRequirementIfAreEqual<int>(
                6,
                folderEntryID.GlobalCounter.Length,
                "MS-OXCDATA",
                2230,
                @"[In Folder EntryID Structure] GlobalCounter (6 bytes): An unsigned integer identifying the folder.");

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

            // Verify MS-OXCDATA requirement: MS-OXCDATA_R2231.
            Site.CaptureRequirementIfAreEqual<short>(
                0,
               BitConverter.ToInt16(folderEntryID.Pad, 0),
               "MS-OXCDATA",
                2231,
                @"[In Folder EntryID Structure] Pad (2 bytes): This value MUST be set to zero.");

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

            // The structure of FolderEId is verified by the requirements MS-OXCDATA_R2225, MS-OXCDATA_R2229, MS-OXCDATA_R2230, and MS-OXCDATA_R2231.
            // Verify MS-OXORULE_R301.
            Site.CaptureRequirement(
                301,
                @"[In OP_MOVE and OP_COPY ActionData Structure] [Buffer Format for Standard Rules] FolderEID (variable): A structure that identifies the destination folder.");

            if (storeObjectType == StoreObjectType.Mailbox)
            {
                // Add the debug information.
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2226");

                // Verify MS-OXCDATA requirement: MS-OXCDATA_R2226.
                Site.CaptureRequirementIfAreEqual<byte[]>(
                    this.mailboxGUID,
                    folderEntryID.ProviderUID,
                    "MS-OXCDATA",
                    2226,
                    @"[In Folder EntryID Structure] Provider UID (16 bytes): For a folder in a private mailbox, this value MUST be set to value of the MailboxGuid field from the RopLogon ROP response buffer ([MS-OXCROPS] section 2.2.3.1).");
            }
        }