コード例 #1
0
        /// <summary>
        /// Verify RopGetStoreState Failure Response
        /// </summary>
        /// <param name="ropGetStoreStateResponse">The failure response of RopGetStoreState request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetStoreState request</param>
        private void VerifyRopGetStoreStateFailureResponse(RopGetStoreStateResponse ropGetStoreStateResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R243");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R243
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetStoreStateResponse.RopId.GetType(),
                243,
                @"[In RopGetStoreState ROP Failure Response Buffer] RopId (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R245
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopGetStoreState,
                ropGetStoreStateResponse.RopId,
                245,
                @"[In RopGetStoreState ROP Failure Response Buffer] RopId (1 byte): For this operation[RopGetStoreState], this field[RopId (1 byte)] is set to 0x7B.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R246
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetStoreStateResponse.InputHandleIndex.GetType(),
                246,
                @"[In RopGetStoreState ROP Failure Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R247
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropGetStoreStateResponse.InputHandleIndex,
                247,
                @"[In RopGetStoreState ROP Failure Response Buffer] InputHandleIndex (1 byte): This index MUST be set to the value specified in the InputHandleIndex field in the request.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R248
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropGetStoreStateResponse.ReturnValue.GetType(),
                248,
                @"[In RopGetStoreState ROP Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R250
            Site.CaptureRequirementIfAreNotEqual<uint>(
                SuccessReturnValue,
                ropGetStoreStateResponse.ReturnValue,
                250,
                @"[In RopGetStoreState ROP Failure Response Buffer] ReturnValue (4 bytes): For this response[Failure Response], this field[ReturnValue (4 bytes)] is set to a value other than 0x00000000.");
        }
コード例 #2
0
        /// <summary>
        /// Verify RopGetStoreState Success Response
        /// </summary>
        /// <param name="ropGetStoreStateResponse">The success response of RopGetStoreState request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetStoreState request</param>
        private void VerifyRopGetStoreStateSuccessResponse(RopGetStoreStateResponse ropGetStoreStateResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R232");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R232
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetStoreStateResponse.RopId.GetType(),
                232,
                @"[In RopGetStoreState ROP Success Response Buffer] RopId (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R234
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopGetStoreState,
                ropGetStoreStateResponse.RopId,
                234,
                @"[In RopGetStoreState ROP Success Response Buffer] RopId (1 byte): For this operation[RopGetStoreState], this field[RopId (1 byte)] is set to 0x7B.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R235
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetStoreStateResponse.InputHandleIndex.GetType(),
                235,
                @"[In RopGetStoreState ROP Success Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R236
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropGetStoreStateResponse.InputHandleIndex,
                236,
                @"[In RopGetStoreState ROP Success Response Buffer] InputHandleIndex (1 byte): This index MUST be set to the value specified in the InputHandleIndex field in the request. ");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R237
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropGetStoreStateResponse.ReturnValue.GetType(),
                237,
                @"[In RopGetStoreState ROP Success Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R239
            Site.CaptureRequirementIfAreEqual<uint>(
                SuccessReturnValue,
                ropGetStoreStateResponse.ReturnValue,
                239,
                @"[In RopGetStoreState ROP Success Response Buffer] ReturnValue (4 bytes): For this response[Success Response], this field is set to 0x00000000.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R240
            Site.CaptureRequirementIfAreEqual<int>(
                4,
                Marshal.SizeOf(ropGetStoreStateResponse.StoreState.GetType()),
                240,
                @"[In RopGetStoreState ROP Success Response Buffer] StoreState (4 bytes): A flags structure that contains flags that indicate the state of the mailbox for the logged on user.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R241,StoreState:{0}", ropGetStoreStateResponse.StoreState);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R241
            // The possible values' condition is in MS-OXCSTOR, verify StoreState is either 0x01000000 or 0x00000000. 
            bool isVerifyR241 = (ropGetStoreStateResponse.StoreState == (uint)StoreState.StoreHasSearches)
                || (ropGetStoreStateResponse.StoreState == (uint)StoreState.None);

            Site.CaptureRequirementIfIsTrue(
                isVerifyR241,
                241,
                @"[In RopGetStoreState ROP Success Response Buffer] StoreState (4 bytes): The possible values[0x01000000(STORE_HAS_SEARCHES), if the mailbox currently has any active search folders. Otherwise, 0x00000000.]are specified in [MS-OXCSTOR] section 2.2.1.5.2.");
        }