/// <summary> /// Verify RopGetPerUserGuid Failure Response /// </summary> /// <param name="ropGetPerUserGuidResponse">The failure response of RopGetPerUserGuid request</param> /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetPerUserGuid request</param> private void VerifyRopGetPerUserGuidFailureResponse(RopGetPerUserGuidResponse ropGetPerUserGuidResponse, byte inputHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R445"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R445 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropGetPerUserGuidResponse.RopId.GetType(), 445, @"[In RopGetPerUserGuid ROP Failure Response Buffer] RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R447"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R447 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopGetPerUserGuid, ropGetPerUserGuidResponse.RopId, 447, @"[In RopGetPerUserGuid ROP Failure Response Buffer] RopId (1 byte): For this operation[RopGetPerUserGuid], this field[RopId (1 byte)] is set to 0x61."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R448"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R448 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropGetPerUserGuidResponse.InputHandleIndex.GetType(), 448, @"[In RopGetPerUserGuid ROP Failure Response Buffer] InputHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R449"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R449 Site.CaptureRequirementIfAreEqual<byte>( inputHandleIndex, ropGetPerUserGuidResponse.InputHandleIndex, 449, @"[In RopGetPerUserGuid 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_R450"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R450 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropGetPerUserGuidResponse.ReturnValue.GetType(), 450, @"[In RopGetPerUserGuid ROP Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R452"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R452 Site.CaptureRequirementIfAreNotEqual<uint>( SuccessReturnValue, ropGetPerUserGuidResponse.ReturnValue, 452, @"[In RopGetPerUserGuid 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."); }
/// <summary> /// Verify the response by sending the ROP RopGetPerUserGuid. /// </summary> /// <param name="response">The structure of ROP RopGetPerUserGuid response.</param> private void VerifyRopGetPerUserGuid(RopGetPerUserGuidResponse response) { if (response.ReturnValue == 0) { // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R484"); // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R484 // If the response can be parsed successfully and the return value is success, indicates the ROP's functionality is consistent with its description. this.Site.CaptureRequirement( 484, @"[In RopGetPerUserGuid ROP] The RopGetPerUserGuid ROP ([MS-OXCROPS] section 2.2.3.11) obtains the REPLGUID of the public message store that previously provided the now cached per-user read/unread data for a specific public folder."); } }
/// <summary> /// Verify RopGetPerUserGuid Success Response /// </summary> /// <param name="ropGetPerUserGuidResponse">The success response of RopGetPerUserGuid request</param> /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetPerUserGuid request</param> private void VerifyRopGetPerUserGuidSuccessResponse(RopGetPerUserGuidResponse ropGetPerUserGuidResponse, byte inputHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R435"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R435 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropGetPerUserGuidResponse.RopId.GetType(), 435, @"[In RopGetPerUserGuid ROP Success Response Buffer] RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R437"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R437 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopGetPerUserGuid, ropGetPerUserGuidResponse.RopId, 437, @"[In RopGetPerUserGuid ROP Success Response Buffer] RopId (1 byte): For this operation[RopGetPerUserGuid], this field[RopId (1 byte)] is set to 0x61."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R438"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R438 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropGetPerUserGuidResponse.InputHandleIndex.GetType(), 438, @"[In RopGetPerUserGuid ROP Success Response Buffer] InputHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R439"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R439 Site.CaptureRequirementIfAreEqual<byte>( inputHandleIndex, ropGetPerUserGuidResponse.InputHandleIndex, 439, @"[In RopGetPerUserGuid 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_R440"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R440 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropGetPerUserGuidResponse.ReturnValue.GetType(), 440, @"[In RopGetPerUserGuid ROP Success Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R442"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R442 Site.CaptureRequirementIfAreEqual<uint>( SuccessReturnValue, ropGetPerUserGuidResponse.ReturnValue, 442, @"[In RopGetPerUserGuid ROP Success Response Buffer] ReturnValue (4 bytes): For this response[Success Response], this field[ReturnValue (4 bytes)] is set to 0x00000000."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R443, the actual type of DatabaseGuid is :{0}", ropGetPerUserGuidResponse.DatabaseGuid.GetType().Name); // Verify MS-OXCROPS requirement: MS-OXCROPS_R443 bool isVerifyR443 = this.IsGUID(ropGetPerUserGuidResponse.DatabaseGuid); Site.CaptureRequirementIfIsTrue( isVerifyR443, 443, @"[In RopGetPerUserGuid ROP Success Response Buffer] DatabaseGuid (16 bytes): A GUID."); }