Esempio n. 1
0
        /// <summary>
        /// Gets the customer user scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The customer user scenarios.</returns>
        private static IPartnerScenario GetCustomerUserScenarios(ScenarioContext context)
        {
            var sortScenarios = new IPartnerScenario[]
            {
                new SortCustomerUsers("Ascending order", SortDirection.Ascending, context),
                new SortCustomerUsers("Descending order", SortDirection.Descending, context)
            };

            var customerUserScenarios = new IPartnerScenario[]
            {
                new GetCustomerUserCollection(context),
                new AggregatePartnerScenario("Get sorted customer users", sortScenarios, context),
                new CreateCustomerUser(context),
                new DeleteCustomerUser(context),
                new GetCustomerUserDetails(context),
                new UpdateCustomerUser(context),
                new GetPagedCustomerUsers(context),
                new GetCustomerUserDirectoryRoles(context),
                new CustomerUserAssignedLicenses(context),
                new CustomerUserAssignedGroup1AndGroup2Licenses(context),
                new CustomerUserAssignedGroup1Licenses(context),
                new CustomerUserAssignedGroup2Licenses(context),
                new CustomerUserAssignLicenses(context),
                new CustomerUserAssignGroup1Licenses(context),
                new CustomerUserAssignGroup2Licenses(context),
                new GetCustomerInactiveUsers(context),
                new CustomerUserRestore(context)
            };

            return(new AggregatePartnerScenario("Customer User samples", customerUserScenarios, context));
        }
Esempio n. 2
0
        /// <summary>
        /// Determines whether the scenario is complete or it should be repeated.
        /// </summary>
        /// <param name="scenario">The scenario under consideration.</param>
        /// <returns>True is the scenario is complete, False is it should be repeated.</returns>
        public bool IsScenarioComplete(IPartnerScenario scenario)
        {
            if (scenario == null)
            {
                throw new ArgumentNullException("scenario");
            }

            if (scenario.Children == null || scenario.Children.Count <= 0)
            {
                throw new ArgumentException("childScenarios must not be empty.");
            }

            int scenarioNumber = AggregateScenarioExecutionStrategy.ReadScenarioNumberFromConsole(scenario.Children.Count);

            if (scenarioNumber > 0)
            {
                // run the selected child scenario
                scenario.Children[scenarioNumber - 1].Run();

                // the current scenario should be restarted
                return(false);
            }
            else
            {
                // user pressed escape, exit scenario
                return(true);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Gets the customer scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The customer scenarios.</returns>
        private static IPartnerScenario GetCustomerScenarios(IScenarioContext context)
        {
            var customerFilteringScenarios = new IPartnerScenario[]
            {
                new FilterCustomers("Filter by company name", CustomerSearchField.CompanyName, context),
                new FilterCustomers("Filter by domain name", CustomerSearchField.Domain, context)
            };

            var customerScenarios = new IPartnerScenario[]
            {
                new CreateCustomer(context),
                new CheckDomainAvailability(context),
                new GetPagedCustomers(context, context.Configuration.Scenario.CustomerPageSize),
                new AggregatePartnerScenario("Customer filtering", customerFilteringScenarios, context),
                new GetCustomerDetails(context),
                new GetCustomerQualification(context),
                new UpdateCustomerQualification(context),
                new UpdateCustomerQualificationWithGCC(context),
                new DeleteCustomerFromTipAccount(context),
                new GetCustomerManagedServices(context),
                new GetCustomerRelationshipRequest(context),
                new UpdateCustomerBillingProfile(context),
                new ValidateCustomerAddress(context),
                new DeletePartnerCustomerRelationship(context)
            };

            return(new AggregatePartnerScenario("Customer samples", customerScenarios, context));
        }
Esempio n. 4
0
        /// <summary>
        /// Gets the subscription scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The subscription scenarios.</returns>
        private static IPartnerScenario GetSubscriptionScenarios(IScenarioContext context)
        {
            var subscriptionScenarios = new IPartnerScenario[]
            {
                new GetSubscription(context),
                new GetSubscriptions(context),
                new GetSubscriptionsByOrder(context),
                new GetSubscriptionSupportContact(context),
                new UpdateSubscriptionSupportContact(context),
                new GetSubscriptionProvisioningStatus(context),
                new UpdateSubscription(context),
                new UpgradeSubscription(context),
                new AddSubscriptionAddOn(context),
                new ConvertTrialSubscription(context),
                new UpdateSubscriptionScheduledChange(context),
                new CancelSaaSSubscription(context),
                new ToggleSubscriptionAutoRenew(context),
                new ActivateSandboxThirdPartySubscription(context),
                new TransitionSubscription(context),
                new GetSubscriptionTransitions(context),
                new UpdateOverage(context),
            };

            return(new AggregatePartnerScenario("Subscription samples", subscriptionScenarios, context));
        }
Esempio n. 5
0
        /// <summary>
        /// Gets the compliance scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The compliance scenarios.</returns>
        private static IPartnerScenario GetComplianceScenarios(IScenarioContext context)
        {
            var complianceScenarios = new IPartnerScenario[]
            {
                new GetAgreementSignatureStatus(context)
            };

            return(new AggregatePartnerScenario("Compliance samples", complianceScenarios, context));
        }
Esempio n. 6
0
        /// <summary>
        /// Gets the New-Commerce migration scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The New-Commerce migration scenarios.</returns>
        private static IPartnerScenario GetNewCommerceMigrationScenarios(IScenarioContext context)
        {
            var profileScenarios = new IPartnerScenario[]
            {
                new ValidateAndCreateNewCommerceMigration(context),
            };

            return(new AggregatePartnerScenario("New-Commerce migration samples", profileScenarios, context));
        }
Esempio n. 7
0
        /// <summary>
        /// Gets the post promotion eligibilities scenarios.
        /// </summary>
        /// <param name="context">A scenario context</param>
        /// <returns>The post promotion eligibilities scenarios.</returns>
        private static IPartnerScenario PostPromotionEligibilitiesScenarios(IScenarioContext context)
        {
            var postPromotionEligibilitiesScenarios = new IPartnerScenario[]
            {
                new PostPromotionEligibilities(context)
            };

            return(new AggregatePartnerScenario("Post Promotion Eligibilities Scenarios", postPromotionEligibilitiesScenarios, context));
        }
Esempio n. 8
0
        /// <summary>
        /// Gets the address validation scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The address validation scenarios.</returns>
        private static IPartnerScenario GetAddressValidationsScenarios(IScenarioContext context)
        {
            var addressValidationScenarios = new IPartnerScenario[]
            {
                new AddressValidation(context)
            };

            return(new AggregatePartnerScenario("Address validation samples", addressValidationScenarios, context));
        }
Esempio n. 9
0
        /// <summary>
        /// Gets the Customer Subscribed SKUs scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The Customer Subscribed SKUs scenarios.</returns>
        private static IPartnerScenario GetCustomerSubscribedSkus(ScenarioContext context)
        {
            var customerSubscribedSkusScenarios = new IPartnerScenario[]
            {
                new GetCustomerSubscribedSkus(context)
            };

            return(new AggregatePartnerScenario("Customer Subscribed Skus", customerSubscribedSkusScenarios, context));
        }
Esempio n. 10
0
        /// <summary>
        /// Gets the Entitlement scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The Entitlement scenarios.</returns>
        private static IPartnerScenario GetEntitlementScenarios(ScenarioContext context)
        {
            var entitlementScenarios = new IPartnerScenario[]
            {
                new GetEntitlements(context),
            };

            return(new AggregatePartnerScenario("Entitlements", entitlementScenarios, context));
        }
Esempio n. 11
0
        /// <summary>
        /// Gets the auditing scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The auditing scenarios.</returns>
        private static IPartnerScenario GetAuditingScenarios(IScenarioContext context)
        {
            var profileScenarios = new IPartnerScenario[]
            {
                new QueryAuditRecords(context),
                new SearchAuditRecords("Filter by company name", AuditRecordSearchField.CompanyName, context)
            };

            return(new AggregatePartnerScenario("Auditing samples", profileScenarios, context));
        }
Esempio n. 12
0
        /// <summary>
        /// Gets the customer service costs scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The customer service costs scenarios.</returns>
        private static IPartnerScenario GetCustomerServiceCostsScenarios(IScenarioContext context)
        {
            var customerServiceCostsScenarios = new IPartnerScenario[]
            {
                new GetCustomerServiceCostsSummary(context),
                new GetCustomerServiceCostsLineItems(context),
            };

            return(new AggregatePartnerScenario("Customer service costs samples", customerServiceCostsScenarios, context));
        }
        /// <summary>
        /// Gets the agreements scenario.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The agreements scenarios.</returns>
        private static IPartnerScenario GetAgreementsScenarios(ScenarioContext context)
        {
            var agreementsScenario = new IPartnerScenario[]
            {
                new GetAgreementDetails(context),
                new GetCustomerAgreements(context),
                new CreateCustomerAgreement(context),
            };

            return(new AggregatePartnerScenario("Agreements", agreementsScenario, context));
        }
Esempio n. 14
0
        /// <summary>
        /// Gets the self serve policies scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The self serve policyes scenarios.</returns>
        private static IPartnerScenario GetSelfServePoliciesScenarios(IScenarioContext context)
        {
            var profileScenarios = new IPartnerScenario[]
            {
                new GetSelfServePolicies(context),
                new CreateSelfServePolicies(context),
                new DeleteSelfServePolicies(context)
            };

            return(new AggregatePartnerScenario("Self Serve Policies samples", profileScenarios, context));
        }
        /// <summary>
        /// Gets the order scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The order scenarios.</returns>
        private static IPartnerScenario GetOrderScenarios(IScenarioContext context)
        {
            var orderScenarios = new IPartnerScenario[]
            {
                new CreateOrder(context),
                new GetOrderDetails(context),
                new GetOrders(context)
            };

            return(new AggregatePartnerScenario("Order samples", orderScenarios, context));
        }
Esempio n. 16
0
        /// <summary>
        /// Gets the cart scenarios of create, update and checkout
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The cart scenarios.</returns>
        private static IPartnerScenario GetCartScenarios(IScenarioContext context)
        {
            var cartScenarios = new IPartnerScenario[]
            {
                new CreateCart(context),
                new UpdateCart(context),
                new CheckoutCart(context)
            };

            return(new AggregatePartnerScenario("Cart Scenarios", cartScenarios, context));
        }
Esempio n. 17
0
        /// <summary>
        /// Gets the cart with add on items scenarios of create and checkout
        /// </summary>
        /// <param name="context">A scenario context</param>
        /// <returns>The cart with add on items scenarios.</returns>
        private static IPartnerScenario GetCartWithAddonItemsScenarios(IScenarioContext context)
        {
            var cartScenarios = new IPartnerScenario[]
            {
                new CreateCartWithAddons(context),
                new CheckoutCart(context),
                new CreateCartAddonWithExistingSubscription(context)
            };

            return(new AggregatePartnerScenario("Cart With Addon Items Scenarios", cartScenarios, context));
        }
Esempio n. 18
0
        /// <summary>
        /// Gets the service request scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The service request scenarios.</returns>
        private static IPartnerScenario GetServiceRequestsScenarios(IScenarioContext context)
        {
            var serviceRequestsScenarios = new IPartnerScenario[]
            {
                new GetCustomerServiceRequests(context),
                new GetPagedPartnerServiceRequests(context, context.Configuration.Scenario.ServiceRequestPageSize),
                new GetPartnerServiceRequestDetails(context),
                new UpdatePartnerServiceRequest(context)
            };

            return(new AggregatePartnerScenario("Service request samples", serviceRequestsScenarios, context));
        }
Esempio n. 19
0
        /// <summary>
        /// Gets the rated usage scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The rated usage scenarios.</returns>
        private static IPartnerScenario GetRatedUsageScenarios(IScenarioContext context)
        {
            var ratedUsageScenarios = new IPartnerScenario[]
            {
                new GetCustomerUsageSummary(context),
                new GetCustomerSubscriptionsUsage(context),
                new GetSubscriptionUsageRecords(context),
                new GetSubscriptionUsageSummary(context)
            };

            return(new AggregatePartnerScenario("Rated usage samples", ratedUsageScenarios, context));
        }
        /// <summary>
        /// Gets the invoice scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The invoice scenarios.</returns>
        private static IPartnerScenario GetInvoiceScenarios(IScenarioContext context)
        {
            var invoiceScenarios = new IPartnerScenario[]
            {
                new GetAccountBalance(context),
                new GetInvoice(context),
                new GetInvoiceLineItems(context, context.Configuration.Scenario.InvoicePageSize),
                new GetPagedInvoices(context)
            };

            return(new AggregatePartnerScenario("Invoice samples", invoiceScenarios, context));
        }
Esempio n. 21
0
        /// <summary>
        /// Gets the auditing scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The auditing scenarios.</returns>
        private static IPartnerScenario GetAuditingScenarios(IScenarioContext context)
        {
            var profileScenarios = new IPartnerScenario[]
            {
                new QueryAuditRecords(context),
                new SearchAuditRecords("Filter by company name", AuditRecordSearchField.CompanyName, context),
                new SearchAuditRecordsByCustomerId("Filter by Customer Id", AuditRecordSearchField.CustomerId, context),
                new SearchAuditRecordsByResourceType("Filter by Resource Type (Eg. Order, Customer, or Subscription)", AuditRecordSearchField.ResourceType, context)
            };

            return(new AggregatePartnerScenario("Auditing samples", profileScenarios, context));
        }
Esempio n. 22
0
        /// <summary>
        /// Gets the Customer Directory Roles scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The Customer Directory Roles scenarios.</returns>
        private static IPartnerScenario GetCustomerDirectoryRolesScenarios(ScenarioContext context)
        {
            var customerDirectoryRolesScenarios = new IPartnerScenario[]
            {
                new GetCustomerDirectoryRoles(context),
                new AddUserMemberToDirectoryRole(context),
                new GetCustomerDirectoryRoleUserMembers(context),
                new RemoveCustomerUserMemberFromDirectoryRole(context)
            };

            return(new AggregatePartnerScenario("Customer Directory Roles", customerDirectoryRolesScenarios, context));
        }
        /// <summary>
        /// Gets the offer scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The offer scenarios.</returns>
        private static IPartnerScenario GetOfferScenarios(IScenarioContext context)
        {
            var offerScenarios = new IPartnerScenario[]
            {
                new GetOffer(context),
                new GetOfferCategories(context),
                new GetOffers(context),
                new GetPagedOffers(context, context.Configuration.Scenario.DefaultOfferPageSize),
            };

            return(new AggregatePartnerScenario("Offer samples", offerScenarios, context));
        }
Esempio n. 24
0
        /// <summary>
        /// Gets the partner analytics scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The Partner Analytics scenarios.</returns>
        private static IPartnerScenario GetPartnerAnalyticsScenarios(IScenarioContext context)
        {
            var partnerAnalyticsScenarios = new IPartnerScenario[]
            {
                new GetPartnerLicensesDeploymentAnalytics(context),
                new GetPartnerLicensesUsageAnalytics(context),
                new GetCustomerLicensesDeploymentAnalytics(context),
                new GetCustomerLicensesUsageAnalytics(context)
            };

            return(new AggregatePartnerScenario("Partner Analytics samples", partnerAnalyticsScenarios, context));
        }
        /// <summary>
        /// Determines whether the scenario is complete or it should be repeated.
        /// </summary>
        /// <param name="scenario">The scenario under consideration.</param>
        /// <returns>True is the scenario is complete, False is it should be repeated.</returns>
        public bool IsScenarioComplete(IPartnerScenario scenario)
        {
            ConsoleHelper.Instance.Warning("Press Q return to the previous screen or R to repeat the current scenario:", false);

            ConsoleKeyInfo keyRead = Console.ReadKey(true);

            while (keyRead.Key != ConsoleKey.R && keyRead.Key != ConsoleKey.Q)
            {
                keyRead = Console.ReadKey(true);
            }

            return(keyRead.Key == ConsoleKey.Q);
        }
        /// <summary>
        /// Gets the subscription scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The subscription scenarios.</returns>
        private static IPartnerScenario GetSubscriptionScenarios(IScenarioContext context)
        {
            var subscriptionScenarios = new IPartnerScenario[]
            {
                new GetSubscription(context),
                new GetSubscriptions(context),
                new GetSubscriptionsByOrder(context),
                new UpdateSubscription(context),
                new UpgradeSubscription(context),
                new AddSubscriptionAddOn(context)
            };

            return(new AggregatePartnerScenario("Subscription samples", subscriptionScenarios, context));
        }
        /// <summary>
        /// Gets the order scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The order scenarios.</returns>
        private static IPartnerScenario GetOrderScenarios(IScenarioContext context)
        {
            var orderScenarios = new IPartnerScenario[]
            {
                new CreateOrder(context),
                new GetOrderDetails(context),
                new GetOrders(context),
                new CreateAzureReservationOrder(context),
                new GetOrdersByBillingCycleType(context),
                new GetOrderProvisioningStatus(context),
                new UpdateOrder(context)
            };

            return(new AggregatePartnerScenario("Order samples", orderScenarios, context));
        }
Esempio n. 28
0
        /// <summary>
        /// Gets the agreements scenario.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The agreements scenarios.</returns>
        private static IPartnerScenario GetAgreementsScenarios(ScenarioContext context)
        {
            var agreementsScenario = new IPartnerScenario[]
            {
                new GetAgreementDetails(context),
                new GetAgreementDocument(context),
                new GetCustomerAgreements(context),
                new GetAllCustomersAgreements(context),
                new CreateCustomerAgreement(context),
                new GetDirectSignedCustomerAgreementStatus(context),
                new ImportCustomersAgreement(context)
            };

            return(new AggregatePartnerScenario("Agreements", agreementsScenario, context));
        }
Esempio n. 29
0
        /// <summary>
        /// Gets the indirect model scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The invoice scenarios.</returns>
        private static IPartnerScenario GetIndirectModelScenarios(IScenarioContext context)
        {
            var indirectModelScenarios = new IPartnerScenario[]
            {
                new GetIndirectResellers(context),
                new CreateCustomerForIndirectReseller(context),
                new GetIndirectResellersOfCustomer(context),
                new PlaceOrderForCustomer(context),
                new GetCustomersOfIndirectReseller(context),
                new VerifyPartnerMpnId(context),
                new GetSubscriptionsByMpnId(context)
            };

            return(new AggregatePartnerScenario("Indirect model samples", indirectModelScenarios, context));
        }
Esempio n. 30
0
        /// <summary>
        /// Gets the profile scenarios.
        /// </summary>
        /// <param name="context">A scenario context.</param>
        /// <returns>The profile scenarios.</returns>
        private static IPartnerScenario GetProfileScenarios(IScenarioContext context)
        {
            var profileScenarios = new IPartnerScenario[]
            {
                new GetBillingProfile(context),
                new GetLegalBusinessProfile(context),
                new GetOrganizationProfile(context),
                new GetMPNProfile(context),
                new GetSupportProfile(context),
                new UpdateBillingProfile(context),
                new UpdateLegalBusinessProfile(context),
                new UpdateOrganizationProfile(context),
                new UpdateSupportProfile(context)
            };

            return(new AggregatePartnerScenario("Partner profile samples", profileScenarios, context));
        }