internal override OfficeWorkerCredential AddCredential(VirtualResource resource, OfficeWorkerDetail detail) { SolutionTester tester = resource as SolutionTester; OfficeWorkerCredential credential = null; switch (tester.AccountType) { case SolutionTesterCredentialType.AccountPool: credential = ManifestAgent.UserAccounts.NextUserCredential(((OfficeWorker)resource).UserPool); credential.ResourceInstanceId = credential.UserName; //credential.ResourceInstanceId = SystemManifestAgent.CreateUniqueId(credential.UserName); break; case SolutionTesterCredentialType.DefaultDesktop: credential = new OfficeWorkerCredential(); credential.Domain = Environment.UserDomainName; credential.UserName = Environment.UserName; credential.Password = string.Empty; credential.ResourceInstanceId = SystemManifestAgent.CreateUniqueId(Environment.UserName); break; case SolutionTesterCredentialType.ManuallyEntered: credential = new OfficeWorkerCredential(); credential.Domain = tester.Domain; credential.UserName = tester.UserName; credential.Password = tester.Password; credential.ResourceInstanceId = SystemManifestAgent.CreateUniqueId(tester.UserName); break; } return(credential); }
/// <summary> /// Creates resource detail and inserts it into the manifest. /// </summary> /// <param name="resources">The resources.</param> /// <param name="manifest">The manifest.</param> internal override void AddToManifest(Collection <VirtualResource> resources, SystemManifest manifest) { // There is one Load Tester per VM, so there should only be one // resource embedded in this manifest. var resource = resources.First(); // First determine if the resource already exists in the Resource collection. If not, then // have VirtualResource create it, then update it with other data and add it to the list. var detail = manifest.Resources.GetResource <LoadTesterDetail>(resource.VirtualResourceId); if (detail == null) { detail = CreateDetail(resource); detail.CommandPortOffset = 40000; manifest.Resources.Add(detail); } // Use the system settings Administrator credentials for the AdminWorker var userCredential = new OfficeWorkerCredential(); userCredential.UserName = GlobalSettings.Items[Setting.DomainAdminUserName]; userCredential.Password = GlobalSettings.Items[Setting.DomainAdminPassword]; userCredential.Domain = GlobalSettings.Items[Setting.Domain]; userCredential.Port = detail.CommandPortOffset; userCredential.ResourceInstanceId = SystemManifestAgent.CreateUniqueId(userCredential.UserName); detail.UserCredentials.Add(userCredential); }