public void MSASCMD_S21_TC02_CommonStatusCode_173() { Site.Assume.AreNotEqual <string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "Status value 173 is not returned when the MS-ASProtocolVersion header is set to 12.1. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual <string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "Status value 173 is not returned when the MS-ASProtocolVersion header is set to 14.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); #region Call method ResolveRecipients to resolve a list of supplied recipients, to retrieve their free/busy information, or retrieve their S/MIME certificates so that clients can send encrypted S/MIME e-mail messages. string displayName = this.User3Information.UserName; ResolveRecipientsRequest resolveRecipientsRequest = new ResolveRecipientsRequest(); Request.ResolveRecipients requestResolveRecipients = new Request.ResolveRecipients(); Request.ResolveRecipientsOptions requestResolveRecipientsOption = new Request.ResolveRecipientsOptions { Picture = new Request.ResolveRecipientsOptionsPicture { MaxPictures = 3 } }; requestResolveRecipients.Items = new object[] { requestResolveRecipientsOption, displayName }; resolveRecipientsRequest.RequestData = requestResolveRecipients; ResolveRecipientsResponse resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); #endregion // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4970"); Site.Log.Add(LogEntryKind.Debug, "When the contact picture does not exit, server returns status {0}", resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Status); // Verify MS-ASCMD requirement: MS-ASCMD_R4970 Site.CaptureRequirementIfAreEqual <string>( "173", resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Status, 4970, @"[In Common Status Codes] [The meaning of the status value 173 is] The user does not have a contact photo.<107>"); }
public void MSASCMD_S13_TC17_ResolveRecipients_Picture_Success() { Site.Assume.AreNotEqual<string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Picture element is not supported when the MS-ASProtocolVersion header is set to 12.1. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual<string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Picture element is not supported when the MS-ASProtocolVersion header is set to 14.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); // Call ResolveRecipients command to resolve the special recipient who has a contact photo. Request.ResolveRecipientsOptions requestResolveRecipientsOption = new Request.ResolveRecipientsOptions { Picture = new Request.ResolveRecipientsOptionsPicture { MaxSizeSpecified = true, MaxSize = 102400, MaxPicturesSpecified = true, MaxPictures = 3 } }; ResolveRecipientsRequest resolveRecipientsRequest = new ResolveRecipientsRequest { RequestData = new Request.ResolveRecipients { Items = new object[] { requestResolveRecipientsOption, Common.GetConfigurationPropertyValue("User1Name", Site) } } }; ResolveRecipientsResponse resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4310"); // Verify MS-ASCMD requirement: MS-ASCMD_R4311 Site.CaptureRequirementIfAreEqual<string>( "1", resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Status, 4310, @"[In Status(ResolveRecipients)] [The meaning of the status value] 1 [is] The contact photo was retrieved successfully."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R2133"); // Verify MS-ASCMD requirement: MS-ASCMD_R2133 // The Data element value indicates the contact photo size, if the Data element value is not null then MS-ASCMD_R2133 is verified. Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Data, 2133, @"[In Data(ResolveRecipients)] The Data element<27> is an optional child element of the Picture element in ResolveRecipients command responses that contains the binary data of the contact photo."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R5350"); // Verify MS-ASCMD requirement: MS-ASCMD_R5350 // If the Data element value is less than MaxSize value set in request, then MS-ASCMD_R5350 is verified. Site.CaptureRequirementIfIsTrue( Convert.ToInt32(resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Data) <= requestResolveRecipientsOption.Picture.MaxSize, 5350, @"[In MaxSize] The MaxSize element specifies the maximum size of an individual contact photo that is returned in the response, in bytes."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R5351"); // Verify MS-ASCMD requirement: MS-ASCMD_R5351 Site.CaptureRequirementIfIsTrue( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture.Length <= requestResolveRecipientsOption.Picture.MaxPictures, 5351, @"[In MaxSize] The MaxPictures element (section 2.2.3.94) specifies the maximum number of contact photos to return in the server response."); }
public void MSASCMD_S13_TC01_ResolveRecipients_CertificateRetrieval() { #region Call ResolveRecipients command and set the CertificateRetrieval value to 1 that specifies server does not retrieve certificates for the recipient. Request.ResolveRecipientsOptions requestResolveRecipientsOption = new Request.ResolveRecipientsOptions { CertificateRetrieval = "1" }; ResolveRecipientsRequest resolveRecipientsRequest = new ResolveRecipientsRequest { RequestData = new Request.ResolveRecipients { Items = new object[] { requestResolveRecipientsOption, Common.GetConfigurationPropertyValue("User3Name", Site) } } }; ResolveRecipientsResponse resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R856"); // If CertificateRetrieval value is set to 1 , server returns a null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R856 Site.CaptureRequirementIfIsNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates, 856, @"[In CertificateRetrieval] Value 1 means do not retrieve certificates for the recipient (default)."); #endregion #region Call ResolveRecipients command and set the CertificateRetrieval value to 2 that specifies server should return the full certificate for each resolved recipient. requestResolveRecipientsOption.CertificateRetrieval = "2"; resolveRecipientsRequest.RequestData.Items = new object[] { requestResolveRecipientsOption, Common.GetConfigurationPropertyValue("User3Name", Site) }; resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R843"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R843 Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates, 843, @"[In Certificate(ResolveRecipients)] This element [Certificate] is returned by the server only if the client specifies a value of 2 in the CertificateRetrieval element (section 2.2.3.22) in the ResolveRecipients command request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R857"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R857 Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates, 857, @"[In CertificateRetrieval] Value 2 means retrieve the full certificate for each resolved recipient."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R3825"); // Resolve a list of supplied recipients, server returns a non-null Type. // Verify MS-ASCMD requirement: MS-ASCMD_R3825 Site.CaptureRequirementIfIsTrue( (resolveRecipientsResponse.ResponseData.Response[0].Recipient.Length > (int)0) && (resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].EmailAddress != null) && (resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates != null), 3825, @"[In Response(ResolveRecipients)] If the recipient was resolved, the element also contains the type of recipient, the email address that the recipient resolved to, and, optionally, the S/MIME certificate for the recipient."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R3764"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R3764 Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates, 3764, @"[In Recipient] A Certificates element is returned as a child element of the Recipient element if the client requested certificates to be returned in the response."); #endregion #region Call ResolveRecipients command and set the CertificateRetrieval value to 3 that specifies server should return the mini certificate for each resolved recipient. requestResolveRecipientsOption.CertificateRetrieval = "3"; resolveRecipientsRequest.RequestData.Items = new object[] { requestResolveRecipientsOption, Common.GetConfigurationPropertyValue("User3Name", Site) }; resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); Site.Assert.AreEqual<string>("1", resolveRecipientsResponse.ResponseData.Status, "The server should return a status code 1 in the ResolveRecipients command response to indicate success."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R858"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R858 Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates.MiniCertificate, 858, @"[In CertificateRetrieval] Value 3 means retrieve the mini certificate for each resolved recipient."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R3435"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R3435 Site.CaptureRequirementIfIsNotNull( resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates.MiniCertificate, 3435, @"[In MiniCertificate] This [MiniCertificate] element is returned only if the client specifies a value of 3 in the CertificateRetrieval element (section 2.2.3.22) in the ResolveRecipients command request and the resolved recipient has a valid S/MIME certificate."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4302"); // Resolve a list of supplied recipients, server returns a non-null Certificates. // Verify MS-ASCMD requirement: MS-ASCMD_R4302 Site.CaptureRequirementIfAreEqual<int>( 1, int.Parse(resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Certificates.Status), 4302, @"[In Status(ResolveRecipients)] [The meaning of the status value] 1 [is] One or more certificates were successfully returned."); #endregion }
public void MSASCMD_S13_TC19_ResolveRecipients_Picture_Status175() { Site.Assume.AreNotEqual<string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Picture element is not supported when the MS-ASProtocolVersion header is set to 12.1. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); Site.Assume.AreNotEqual<string>("14.0", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "The Picture element is not supported when the MS-ASProtocolVersion header is set to 14.0. MS-ASProtocolVersion header value is determined using Common PTFConfig property named ActiveSyncProtocolVersion."); // Call ResolveRecipients command with MaxPictures element set to "0" to resolve the special recipient who has one contact photo. ResolveRecipientsRequest resolveRecipientsRequest = new ResolveRecipientsRequest(); Request.ResolveRecipients requestResolveRecipients = new Request.ResolveRecipients(); Request.ResolveRecipientsOptions requestResolveRecipientsOption = new Request.ResolveRecipientsOptions { Picture = new Request.ResolveRecipientsOptionsPicture { MaxPicturesSpecified = true, MaxPictures = 0 } }; requestResolveRecipients.Items = new object[] { requestResolveRecipientsOption, Common.GetConfigurationPropertyValue("User2Name", Site) }; resolveRecipientsRequest.RequestData = requestResolveRecipients; ResolveRecipientsResponse resolveRecipientsResponse = this.CMDAdapter.ResolveRecipients(resolveRecipientsRequest); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4313"); // Verify MS-ASCMD requirement: MS-ASCMD_R4313 Site.CaptureRequirementIfAreEqual<string>( "175", resolveRecipientsResponse.ResponseData.Response[0].Recipient[0].Picture[0].Status, 4313, @"[In Status(ResolveRecipients)] [The meaning of the status value] 175 [is] The number of contact photos returned exceeded the size limit set by the MaxPictures element (section 2.2.3.94.1)."); }