/// <summary> /// Verify RopSetPropertiesNoReplicate Failure Response /// </summary> /// <param name="ropSetPropertiesNoReplicateResponse">The failure response of SetPropertiesNoReplicate request</param> /// <param name="inputHandleIndex">The field of InputHandleIndex in RopSetPropertiesNoReplicate request</param> private void VerifyRopSetPropertiesNoReplicateFailureResponse(RopSetPropertiesNoReplicateResponse ropSetPropertiesNoReplicateResponse, byte inputHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2861"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2861 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropSetPropertiesNoReplicateResponse.RopId.GetType(), 2861, @"[In RopSetPropertiesNoReplicate ROP Failure Response Buffer]RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2863"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2863 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopSetPropertiesNoReplicate, ropSetPropertiesNoReplicateResponse.RopId, 2863, @"[In RopSetPropertiesNoReplicate ROP Failure Response Buffer,RopId (1 byte)]For this operation[RopSetPropertiesNoReplicate], this field is set to 0x79."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2864"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2864 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropSetPropertiesNoReplicateResponse.InputHandleIndex.GetType(), 2864, @"[In RopSetPropertiesNoReplicate ROP Failure Response Buffer]InputHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2865"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2865 Site.CaptureRequirementIfAreEqual<byte>( inputHandleIndex, ropSetPropertiesNoReplicateResponse.InputHandleIndex, 2865, @"[In RopSetPropertiesNoReplicate 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_R2867"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2867 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropSetPropertiesNoReplicateResponse.ReturnValue.GetType(), 2867, @"[In RopSetPropertiesNoReplicate ROP Failure Response Buffer]ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2869"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2869 Site.CaptureRequirementIfAreNotEqual<uint>( SuccessReturnValue, ropSetPropertiesNoReplicateResponse.ReturnValue, 2869, @"[In RopSetPropertiesNoReplicate ROP Failure Response Buffer,ReturnValue (4 bytes)]For this response[Failure Response], this field is set to a value other than 0x00000000."); }
/// <summary> /// Verify the RopSetPropertiesNoReplicate operation related requirements. /// </summary> /// <param name="ropSetPropertiesNoReplicateResponse">The RopSetPropertiesNoReplicate response buffer structure.</param> /// <param name="objectType">Indicates which object type the RopSetPropertiesNoReplicate operation is acting on.</param> private void VerifyRopSetPropertiesNoReplicate(RopSetPropertiesNoReplicateResponse ropSetPropertiesNoReplicateResponse, ServerObjectType objectType) { if (ropSetPropertiesNoReplicateResponse.ReturnValue.Equals((uint)CPRPTErrorCode.None)) { if (objectType == ServerObjectType.Message) { // If the object type this operation acting on is Message object and this operation is performed successfully, then the following requirement can be captured. Site.CaptureRequirement( 826, @"[In RopSetPropertiesNoReplicate ROP] This ROP is supported for Message objects."); } if (objectType == ServerObjectType.Folder) { // If the object type this operation acting on is Folder object and this operation is performed successfully, then the following requirement can be captured. Site.CaptureRequirement( 828, @"[In RopSetPropertiesNoReplicate ROP] This ROP is supported for Folder objects."); } if (objectType == ServerObjectType.Attachment) { // If the object type this operation acting on is Attachment object and this operation is performed successfully, then the following requirement can be captured. Site.CaptureRequirement( 830, @"[In RopSetPropertiesNoReplicate ROP] This ROP is supported for Attachment objects."); } if (objectType == ServerObjectType.Logon) { // If the object type this operation acting on is Logon object and this operation is performed successfully, then the following requirement can be captured. Site.CaptureRequirement( 832, @"[In RopSetPropertiesNoReplicate ROP] This ROP is supported for Logon objects."); } // The parser has ensured the field satisfied the format, otherwise the response cannot be received. Site.CaptureRequirement( 83307, @"[In RopSetPropertiesNoReplicate ROP Response Buffer] propertyProblemCount: 2 bytes integer."); } ushort numberOfPropertyProblem = 0; if (ropSetPropertiesNoReplicateResponse.PropertyProblemCount != 0) { for (int counter = 0; counter < ropSetPropertiesNoReplicateResponse.PropertyProblems.Length; counter++) { this.VerifyPropertyProblemSturctureInCDATA(); } numberOfPropertyProblem = (ushort)ropSetPropertiesNoReplicateResponse.PropertyProblems.Length; } Site.CaptureRequirementIfAreEqual<ushort>( numberOfPropertyProblem, ropSetPropertiesNoReplicateResponse.PropertyProblemCount, 83308, @"[In RopSetPropertiesNoReplicate ROP Response Buffer] propertyProblemCount: An integer that specifies the number of elements contained in the PropertyProblems field."); }
/// <summary> /// Verify RopSetPropertiesNoReplicate Success Response /// </summary> /// <param name="ropSetPropertiesNoReplicateResponse">The success response of RopSetPropertiesNoReplicate request</param> /// <param name="inputHandleIndex">The field of InputHandleIndex in RopSetPropertiesNoReplicate request</param> private void VerifyRopSetPropertiesNoReplicateSuccessResponse(RopSetPropertiesNoReplicateResponse ropSetPropertiesNoReplicateResponse, byte inputHandleIndex) { // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2847"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2847 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropSetPropertiesNoReplicateResponse.RopId.GetType(), 2847, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer]RopId (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2849"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2849 Site.CaptureRequirementIfAreEqual<byte>( (byte)RopId.RopSetPropertiesNoReplicate, ropSetPropertiesNoReplicateResponse.RopId, 2849, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer,RopId (1 byte)]For this operation[RopSetPropertiesNoReplicate], this field is set to 0x79."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2850"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2850 Site.CaptureRequirementIfAreEqual<Type>( typeof(byte), ropSetPropertiesNoReplicateResponse.InputHandleIndex.GetType(), 2850, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer]InputHandleIndex (1 byte): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2851"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2851 Site.CaptureRequirementIfAreEqual<byte>( inputHandleIndex, ropSetPropertiesNoReplicateResponse.InputHandleIndex, 2851, @"[In RopSetPropertiesNoReplicate 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_R2853"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2853 Site.CaptureRequirementIfAreEqual<Type>( typeof(uint), ropSetPropertiesNoReplicateResponse.ReturnValue.GetType(), 2853, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer]ReturnValue (4 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2855"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2855 Site.CaptureRequirementIfAreEqual<uint>( SuccessReturnValue, ropSetPropertiesNoReplicateResponse.ReturnValue, 2855, @"[In RopSetPropertiesNoReplicate 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_R2856"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2856 Site.CaptureRequirementIfAreEqual<Type>( typeof(ushort), ropSetPropertiesNoReplicateResponse.PropertyProblemCount.GetType(), 2856, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer]PropertyProblemCount (2 bytes): An unsigned integer."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2858"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2858 Site.CaptureRequirementIfAreEqual<Type>( typeof(PropertyProblem[]), ropSetPropertiesNoReplicateResponse.PropertyProblems.GetType(), 2858, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer]PropertyProblems (variable): An array of PropertyProblem structures."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2859"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2859 Site.CaptureRequirementIfAreEqual<int>( ropSetPropertiesNoReplicateResponse.PropertyProblemCount, ropSetPropertiesNoReplicateResponse.PropertyProblems.Length, 2859, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer,PropertyProblems (variable)]The number of structures contained in this field is specified by the PropertyProblemCount field."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2857"); // Verify MS-OXCROPS requirement: MS-OXCROPS_R2857 Site.CaptureRequirementIfAreEqual<int>( ropSetPropertiesNoReplicateResponse.PropertyProblems.Length, ropSetPropertiesNoReplicateResponse.PropertyProblemCount, 2857, @"[In RopSetPropertiesNoReplicate ROP Success Response Buffer,PropertyProblemCount (2 bytes)]This value specifies the number of PropertyProblem structures in the PropertyProblems field."); }