/// <summary> /// Overrides IAdapter's Initialize(), to set default protocol short name of the testSite. /// </summary> /// <param name="testSite">Transfer ITestSite into Adapter,Make adapter can use ITestSite's function.</param> public override void Initialize(ITestSite testSite) { base.Initialize(testSite); // Set the protocol name of current test suite testSite.DefaultProtocolDocShortName = "MS-CPSWS"; // Load Common configuration this.LoadCommonConfiguration(); Common.CheckCommonProperties(this.Site, true); // Load SHOULDMAY configuration Common.MergeSHOULDMAYConfig(this.Site); // Initialize the proxy. this.cpswsClient = this.GetClaimProviderWebServiceClient(); // Set Credentials information Common.AcceptServerCertificate(); }
/// <summary> /// A method used to get the claim provider web service client /// </summary> /// <returns>A return value represents the claim provider web service client.</returns> private ClaimProviderWebServiceClient GetClaimProviderWebServiceClient() { TransportProtocol currentTransportValue = Common.GetConfigurationPropertyValue <TransportProtocol>("TransportType", this.Site); string endpointName = string.Empty; string targetAddressValue = string.Empty; switch (currentTransportValue) { case TransportProtocol.HTTP: { endpointName = Common.GetConfigurationPropertyValue("HttpEndPointName", this.Site); targetAddressValue = Common.GetConfigurationPropertyValue("TargetHTTPServiceUrl", this.Site); break; } case TransportProtocol.HTTPS: { endpointName = Common.GetConfigurationPropertyValue("HttpsEndPointName", this.Site); targetAddressValue = Common.GetConfigurationPropertyValue("TargetHTTPSServiceUrl", this.Site); break; } } EndpointAddress targetAddress = new EndpointAddress(targetAddressValue); ClaimProviderWebServiceClient protocolClient = WcfClientFactory.CreateClient <ClaimProviderWebServiceClient, IClaimProviderWebService>(this.Site, endpointName, targetAddress); // Setting credential string userName = Common.GetConfigurationPropertyValue("UserName", this.Site); string password = Common.GetConfigurationPropertyValue("Password", this.Site); string domain = Common.GetConfigurationPropertyValue("Domain", this.Site); protocolClient.ClientCredentials.Windows.ClientCredential.UserName = userName; protocolClient.ClientCredentials.Windows.ClientCredential.Password = password; protocolClient.ClientCredentials.Windows.ClientCredential.Domain = domain; protocolClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; protocolClient.Open(); return(protocolClient); }