public void MSASCMD_S21_TC14_CommonStatusCode_145() { Site.Assume.AreNotEqual <string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "This test case 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."); #region User calls Provision command to download policies from server // Calls Provision command to download policies ProvisionRequest provisionRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); ProvisionResponse provisionResponse = this.CMDAdapter.Provision(provisionRequest); // Get policyKey, policyType and statusCode from server response string policyKey = null; if (null != provisionResponse.ResponseData.Policies) { Response.ProvisionPoliciesPolicy policyInResponse = provisionResponse.ResponseData.Policies.Policy; if (policyInResponse != null) { policyKey = policyInResponse.PolicyKey; } } string policyType = provisionResponse.ResponseData.Policies.Policy.PolicyType; Response.ProvisionPoliciesPolicyData data = provisionResponse.ResponseData.Policies.Policy.Data; byte statusCode = provisionResponse.ResponseData.Status; #endregion #region User calls Provision command to acknowledge policies. // Set acknowledgeStatus value to 1, means accept the policy. ProvisionRequest provisionAcknowledgeRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); provisionAcknowledgeRequest.RequestData.Policies.Policy.PolicyKey = policyKey; provisionAcknowledgeRequest.RequestData.Policies.Policy.Status = "4"; // Calls Provision command ProvisionResponse provisionAcknowledgeResponse = this.CMDAdapter.Provision(provisionAcknowledgeRequest); statusCode = provisionAcknowledgeResponse.ResponseData.Status; this.Site.CaptureRequirementIfAreEqual <byte>( 145, statusCode, 4917, @"[In Common Status Codes] When the protocol version is 14.0, 14.1 or 16.0, [The meaning of the status value 145 is] The device claimed to be externally managed, but the server doesn't allow externally managed devices to sync."); #endregion }
public void MSASCMD_S12_TC02_Provision_WithoutPolicyTypeElement() { #region User calls Provision command to download policies without policy type element in request. ProvisionRequest provisionRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); // Set the policy type Element value to null provisionRequest.RequestData.Policies.Policy.PolicyType = null; ProvisionResponse provisionResponse = this.CMDAdapter.Provision(provisionRequest); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4989"); // Verify MS-ASCMD requirement: MS-ASCMD_R4989 Site.CaptureRequirementIfAreEqual <int>( 2, provisionResponse.ResponseData.Status, 4989, @"[In Downloading Policy Settings] If the provision:PolicyType element is not included in the initial Provision command request, the server responds with a provision:Status element value of 2."); #endregion }
public void MSASCMD_S21_TC03_CommonStatusCode_165() { Site.Assume.AreNotEqual <string>("12.1", Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site), "Status value 165 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 165 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 User calls Provision command without the DeviceInformation element ProvisionRequest provisionRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); provisionRequest.RequestData.DeviceInformation = null; ProvisionResponse provisionResponse = this.CMDAdapter.Provision(provisionRequest); #endregion // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4954"); // Verify MS-ASCMD requirement: MS-ASCMD_R4954 Site.CaptureRequirementIfAreEqual <byte>( 165, provisionResponse.ResponseData.Status, 4954, @"[In Common Status Codes] [The meaning of the status value 165 is] The required DeviceInformation element (as specified in [MS-ASPROV] section 2.2.2.52) is missing in the Provision request.<99>"); }
public void MSASCMD_S12_TC01_Provision_DownloadPolicy() { #region User calls Provision command to download policies from server // Calls Provision command to download policies ProvisionRequest provisionRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); ProvisionResponse provisionResponse = this.CMDAdapter.Provision(provisionRequest); // Get policyKey, policyType and statusCode from server response string policyKey = GetPolicyKeyFromResponse(provisionResponse); string policyType = provisionResponse.ResponseData.Policies.Policy.PolicyType; Response.ProvisionPoliciesPolicyData data = provisionResponse.ResponseData.Policies.Policy.Data; byte statusCode = provisionResponse.ResponseData.Status; #endregion #region Verify Requirements MS-ASCMD_R5026, MS-ASCMD_R4990, MS-ASCMD_R4992 // If User calls Provision command to download policies successful, server will return policyKey, policyType, data and statusCode in response, then MS-ASCMD_R5026, MS-ASCMD_R4990, MS-ASCMD_R4992 are verified. // The policy settings with the format specified in PolicyType element, are contained in Data element of Provision command response. // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R5026"); // Verify MS-ASCMD requirement: MS-ASCMD_R5026 Site.CaptureRequirementIfIsTrue( policyKey != null && policyType != null && data != null && statusCode == 1, 5026, @"[In Downloading Policy Settings] [Provision sequence for downloading policy settings, order 1:] The server responds with the policy type, policy key, data, and status code."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4990"); // Verify MS-ASCMD requirement: MS-ASCMD_R4990 Site.CaptureRequirementIfIsTrue( policyKey != null && policyType != null && data != null, 4990, @"[In Downloading Policy Settings] The server then responds with the provision:PolicyType, provision:PolicyKey (as specified in [MS-ASPROV] section 2.2.2.41), and provision:Data ([MS-ASPROV] section 2.2.2.23) elements."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4992"); // Verify MS-ASCMD requirement: MS-ASCMD_R4992 Site.CaptureRequirementIfIsTrue( policyType != null && data != null, 4992, @"[In Downloading Policy Settings] The policy settings, in the format specified in the provision:PolicyType element, are contained in the provision:Data element."); #endregion #region User calls Provision command to acknowledge policies. // Set acknowledgeStatus value to 1, means accept the policy. string acknowledgeStatus = "1"; ProvisionRequest provisionAcknowledgeRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); provisionAcknowledgeRequest.RequestData.Policies.Policy.PolicyKey = policyKey; provisionAcknowledgeRequest.RequestData.Policies.Policy.Status = acknowledgeStatus; // Calls Provision command ProvisionResponse provisionAcknowledgeResponse = this.CMDAdapter.Provision(provisionAcknowledgeRequest); // Get policyKey, policyType and status code from server response policyKey = GetPolicyKeyFromResponse(provisionAcknowledgeResponse); policyType = provisionAcknowledgeResponse.ResponseData.Policies.Policy.PolicyType; statusCode = provisionAcknowledgeResponse.ResponseData.Policies.Policy.Status; // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R5028"); // Verify MS-ASCMD requirement: MS-ASCMD_R5028 Site.CaptureRequirementIfIsTrue( policyKey != null && policyType != null && statusCode == 1, 5028, @"[In Downloading Policy Settings] [Provision sequence for downloading policy settings, order 2:] The server responds with the policy type, policy key, and status code to indicate that the server recorded the client's acknowledgement."); #endregion }
public void MSASCMD_S12_TC03_Provision_Status144() { #region User calls Provision command to download policies from server // Calls Provision command to download policies ProvisionRequest provisionRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); ProvisionResponse provisionResponse = this.CMDAdapter.Provision(provisionRequest); Site.Assert.AreEqual(1, provisionResponse.ResponseData.Status, "If Provision operation executes successfully, server should return status 1"); // Get policyKey string policyKey = GetPolicyKeyFromResponse(provisionResponse); #endregion #region User calls Provision command to acknowledge policies. // Set acknowledgeStatus value to 1, means accept the policy. string acknowledgeStatus = "1"; ProvisionRequest provisionAcknowledgeRequest = TestSuiteBase.GenerateDefaultProvisionRequest(); provisionAcknowledgeRequest.RequestData.Policies.Policy.PolicyKey = policyKey; provisionAcknowledgeRequest.RequestData.Policies.Policy.Status = acknowledgeStatus; // Calls Provision command ProvisionResponse provisionAcknowledgeResponse = this.CMDAdapter.Provision(provisionAcknowledgeRequest); Site.Assert.AreEqual(1, provisionResponse.ResponseData.Status, "If Provision operation executes successfully, server should return status 1"); // Get policyKey string finalPolicyKey = GetPolicyKeyFromResponse(provisionAcknowledgeResponse); #endregion #region Call FolderSync command with an invalid PolicyKey which is different from the one got from last step. this.CMDAdapter.ChangePolicyKey(finalPolicyKey.Substring(0, 1)); this.RecordPolicyKeyChanged(); if ("12.1" == Common.GetConfigurationPropertyValue("ActiveSyncProtocolVersion", this.Site)) { string httpErrorCode = null; try { // Call FolderSync command this.CMDAdapter.FolderSync(Common.CreateFolderSyncRequest("0")); } catch (WebException exception) { httpErrorCode = Common.GetErrorCodeFromException(exception); } Site.Assert.AreEqual("449", httpErrorCode, "[In MS-ASPROV Appendix A: Product Behavior] <2> Section 3.1.5.1: When the MS-ASProtocolVersion header is set to 12.1, the server sends an HTTP 449 response to request a Provision command from the client."); } else { // Call FolderSync command FolderSyncResponse folderSyncResponse = this.CMDAdapter.FolderSync(Common.CreateFolderSyncRequest("0")); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASCMD_R4912"); // Verify MS-ASCMD requirement: MS-ASCMD_R4912 Site.CaptureRequirementIfAreEqual <int>( 144, int.Parse(folderSyncResponse.ResponseData.Status), 4912, @"[In Common Status Codes] [The meaning of the status value 144 is] The device's policy key is invalid."); } #endregion }