/// <summary> /// Verify RopMoveFolder Null Destination Failure Response /// </summary> /// <param name="ropMoveFolderResponse">The response of RopMoveFolder request</param> /// <param name="sourceHandleIndex">The field of SourceHandleIndex in RopMoveFolder request</param> /// <param name="destHandleIndex">The field of DestHandleIndex in RopMoveFolder request</param> private void VerifyRopMoveFolderNullDestinationFailureResponse(RopMoveFolderResponse ropMoveFolderResponse, byte sourceHandleIndex, uint destHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R825"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R825 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropMoveFolderResponse.RopId.GetType(), 825, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): ): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R827"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R827 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopMoveFolder, ropMoveFolderResponse.RopId, 827, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): For this operation[RopMoveFolder], this field[RopId (1 byte)] is set to 0x35."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R828"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R828 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropMoveFolderResponse.SourceHandleIndex.GetType(), 828, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] SourceHandleIndex (1 byte): ): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R829"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R829 Site.CaptureRequirementIfAreEqual<byte>( sourceHandleIndex, ropMoveFolderResponse.SourceHandleIndex, 829, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] SourceHandleIndex (1 byte): This index MUST be set to the value specified in the SourceHandleIndex field in the request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R830"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R830 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropMoveFolderResponse.ReturnValue.GetType(), 830, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R832"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R832 Site.CaptureRequirementIfAreEqual<uint>( ReturnValueForRopMoveFolderResponseAndMoveCopyMessage, ropMoveFolderResponse.ReturnValue, 832, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): For this response[Null Destination Failure Response], this field[ReturnValue (4 bytes)] is set to 0x00000503."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R833"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R833 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropMoveFolderResponse.DestHandleIndex.GetType(), 833, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R834"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R834 Site.CaptureRequirementIfAreEqual<uint>( destHandleIndex, ropMoveFolderResponse.DestHandleIndex, 834, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): This index MUST be set to the value specified in the DestHandleIndex field in the request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R835,PartialCompletion:{0}", ropMoveFolderResponse.PartialCompletion); // Verify MS-OXCROPS requirement: MS-OXCROPS_R835 // If PartialCompletion is byte type and can be boolean type representation, then verify R835 bool isVerifyR835 = (typeof(byte) == ropMoveFolderResponse.PartialCompletion.GetType()) && ((Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == true) || (Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == false)); Site.CaptureRequirementIfIsTrue( isVerifyR835, 835, @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] PartialCompletion (1 byte): A Boolean."); }
/// <summary> /// Verify the response of RopMoveFolder ROP operation. /// </summary> /// <param name="moveFolderResponse">The response package of RopMoveFolder operation</param> private void VerifyRopMoveFolder(RopMoveFolderResponse moveFolderResponse) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R188"); // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R188 Site.CaptureRequirementIfAreEqual<uint>( Constants.SuccessCode, moveFolderResponse.ReturnValue, 188, @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): The server returns 0x00000000 to indicate success."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R169"); // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R169 Site.CaptureRequirementIfAreEqual<uint>( Constants.SuccessCode, moveFolderResponse.ReturnValue, 169, @"[In RopMoveFolder ROP] The RopMoveFolder ROP ([MS-OXCROPS] section 2.2.4.7) moves a folder from one parent folder to another parent folder."); }
/// <summary> /// Verify RopMoveFolder Response /// </summary> /// <param name="ropMoveFolderResponse">The response of RopMoveFolder request</param> /// <param name="sourceHandleIndex">The field of SourceHandleIndex in RopMoveFolder request</param> private void VerifyRopMoveFolderResponse(RopMoveFolderResponse ropMoveFolderResponse, byte sourceHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R815"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R815 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropMoveFolderResponse.RopId.GetType(), 815, @"[In RopMoveFolder ROP Response Buffer] RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R817"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R817 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopMoveFolder, ropMoveFolderResponse.RopId, 817, @"[In RopMoveFolder ROP Response Buffer] RopId (1 byte): For this operation[RopMoveFolder], this field is set to 0x35."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R818"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R818 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropMoveFolderResponse.SourceHandleIndex.GetType(), 818, @"[In RopMoveFolder ROP Response Buffer] SourceHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R819"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R819 Site.CaptureRequirementIfAreEqual<byte>( sourceHandleIndex, ropMoveFolderResponse.SourceHandleIndex, 819, @"[In RopMoveFolder ROP Response Buffer] SourceHandleIndex (1 byte): This index MUST be set to the value specified in the SourceHandleIndex field in the request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R820"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R820 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropMoveFolderResponse.ReturnValue.GetType(), 820, @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R822"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R822 Site.CaptureRequirementIfAreNotEqual<uint>( ReturnValueForRopMoveFolderResponseAndMoveCopyMessage, ropMoveFolderResponse.ReturnValue, 822, @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): For this response[Response Buffer], this field[ReturnValue (4 bytes)] is set to a value other than 0x00000503."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R823,PartialCompletion:{0}", ropMoveFolderResponse.PartialCompletion); // Verify MS-OXCROPS requirement: MS-OXCROPS_R823 // If PartialCompletion is byte type and can be boolean type, then verify R823 bool isVerifyR823 = (typeof(byte) == ropMoveFolderResponse.PartialCompletion.GetType()) && ((Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == true) || (Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == false)); Site.CaptureRequirementIfIsTrue( isVerifyR823, 823, @"[In RopMoveFolder ROP Response Buffer] PartialCompletion (1 byte): A Boolean."); }