コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }