/// <summary> /// Verify RopCopyFolder Null Destination Failure Response /// </summary> /// <param name="ropCopyFolderResponse">The response of RopCopyFolder request</param> /// <param name="sourceHandleIndex">The field of SourceHandleIndex in RopCopyFolder request</param> /// <param name="destHandleIndex">The field of DestHandleIndex in RopCopyFolder request</param> private void VerifyRopCopyFolderNullDestinationFailureResponse(RopCopyFolderResponse ropCopyFolderResponse, byte sourceHandleIndex, uint destHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R870"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R870 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropCopyFolderResponse.RopId.GetType(), 870, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R872"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R872 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopCopyFolder, ropCopyFolderResponse.RopId, 872, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): For this operation[RopCopyFolder], this field[RopId (1 byte)] is set to 0x36."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R873"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R873 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropCopyFolderResponse.SourceHandleIndex.GetType(), 873, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] SourceHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R874"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R874 Site.CaptureRequirementIfAreEqual<byte>( sourceHandleIndex, ropCopyFolderResponse.SourceHandleIndex, 874, @"[In RopCopyFolder 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_R875"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R875 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropCopyFolderResponse.ReturnValue.GetType(), 875, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R877"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R877 Site.CaptureRequirementIfAreEqual<uint>( ReturnValueForRopMoveFolderResponseAndMoveCopyMessage, ropCopyFolderResponse.ReturnValue, 877, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): For this response[Null Destination Failure Response], this field is set to 0x00000503."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R878"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R878 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropCopyFolderResponse.DestHandleIndex.GetType(), 878, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R879"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R879 Site.CaptureRequirementIfAreEqual<uint>( destHandleIndex, ropCopyFolderResponse.DestHandleIndex, 879, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): This index[DestHandleIndex (4 bytes)] 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_R880,PartialCompletion:{0}", ropCopyFolderResponse.PartialCompletion); // Verify MS-OXCROPS requirement: MS-OXCROPS_R880 // If PartialCompletion is byte type and can be boolean type representation, then verify R880 bool isVerifyR880 = (typeof(byte) == ropCopyFolderResponse.PartialCompletion.GetType()) && ((Convert.ToBoolean(ropCopyFolderResponse.PartialCompletion) == true) || (Convert.ToBoolean(ropCopyFolderResponse.PartialCompletion) == false)); Site.CaptureRequirementIfIsTrue( isVerifyR880, 880, @"[In RopCopyFolder ROP Null Destination Failure Response Buffer] PartialCompletion (1 byte): A Boolean."); }
/// <summary> /// Verify the response of RopCopyFolder ROP operation. /// </summary> /// <param name="copyFolderResponse">The response of RopCopyFolder operation</param> private void VerifyRopCopyFolder(RopCopyFolderResponse copyFolderResponse) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R217"); // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R217 Site.CaptureRequirementIfAreEqual<uint>( Constants.SuccessCode, copyFolderResponse.ReturnValue, 217, @"[In RopCopyFolder 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_R196"); // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R196 Site.CaptureRequirementIfAreEqual<uint>( Constants.SuccessCode, copyFolderResponse.ReturnValue, 196, @"[In RopCopyFolder ROP] The RopCopyFolder ROP ([MS-OXCROPS] section 2.2.4.8) copies a folder from one parent folder to another parent folder."); }
/// <summary> /// Verify RopCopyFolder Response /// </summary> /// <param name="ropCopyFolderResponse">The response of RopCopyFolder request</param> /// <param name="sourceHandleIndex">The field SourceHandleIndex in RopCopyFolder request</param> private void VerifyRopCopyFolderResponse(RopCopyFolderResponse ropCopyFolderResponse, byte sourceHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R860"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R860 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropCopyFolderResponse.RopId.GetType(), 860, @"[In RopCopyFolder ROP Response Buffer] RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R862"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R862 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopCopyFolder, ropCopyFolderResponse.RopId, 862, @"[In RopCopyFolder ROP Response Buffer] RopId (1 byte): For this operation[RopCopyFolder], this field[RopId (1 byte)] is set to 0x36."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R863"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R863 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropCopyFolderResponse.SourceHandleIndex.GetType(), 863, @"[In RopCopyFolder ROP Response Buffer] SourceHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R864"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R864 Site.CaptureRequirementIfAreEqual<byte>( sourceHandleIndex, ropCopyFolderResponse.SourceHandleIndex, 864, @"[In RopCopyFolder ROP Response Buffer] SourceHandleIndex (1 byte): This index[SourceHandleIndex (1 byte)] 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_R865"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R865 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropCopyFolderResponse.ReturnValue.GetType(), 865, @"[In RopCopyFolder ROP Response Buffer] ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R867"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R867 Site.CaptureRequirementIfAreNotEqual<uint>( ReturnValueForRopMoveFolderResponseAndMoveCopyMessage, ropCopyFolderResponse.ReturnValue, 867, @"[In RopCopyFolder 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_R868,PartialCompletion:{0}", ropCopyFolderResponse.PartialCompletion); // Verify MS-OXCROPS requirement: MS-OXCROPS_R868 // If PartialCompletion is byte type and can be boolean type representation, then verify R868 bool isVerifyR868 = (typeof(byte) == ropCopyFolderResponse.PartialCompletion.GetType()) && ((Convert.ToBoolean(ropCopyFolderResponse.PartialCompletion) == true) || (Convert.ToBoolean(ropCopyFolderResponse.PartialCompletion) == false)); Site.CaptureRequirementIfIsTrue( isVerifyR868, 868, @"[In RopCopyFolder ROP Response Buffer] PartialCompletion (1 byte): A Boolean."); }