public void SetActionGroupCommandParametersProcessing()
        {
            cmdlet.Name = "ActionGroupName";
            cmdlet.ResourceGroupName = Utilities.ResourceGroup;
            cmdlet.ShortName         = "AgShortName";
            cmdlet.Receiver          = new List <PSActionGroupReceiverBase>
            {
                new PSEmailReceiver(
                    ActionGroupsUtilities.CreateEmailReceiver(name: "email", emailAddress: "*****@*****.**")),

                new PSEmailReceiver(
                    ActionGroupsUtilities.CreateEmailReceiver("email1", "*****@*****.**", true)),

                new PSEmailReceiver(
                    ActionGroupsUtilities.CreateEmailReceiver("email2", "*****@*****.**", false)),

                new PSSmsReceiver(
                    ActionGroupsUtilities.CreateSmsReceiver(name: "sms", phoneNumber: "4254251234")),

                new PSWebhookReceiver(
                    ActionGroupsUtilities.CreateWebhookReceiver(name: "webhook", serviceUri: "http://test.com")),

                new PSWebhookReceiver(
                    ActionGroupsUtilities.CreateWebhookReceiver("webhook1", "http://test1.com", true)),

                new PSWebhookReceiver(
                    ActionGroupsUtilities.CreateWebhookReceiver("webhook2", "http://test2.com", true, false)),

                new PSWebhookReceiver(
                    ActionGroupsUtilities.CreateWebhookReceiver("webhook3", "http://test3.com", true, true, "someObjectId", "someIdentifierId", "someTenantId")),

                new PSItsmReceiver(
                    ActionGroupsUtilities.CreateItsmReceiver("itsm", "someWorkspaceId", "someConnectionId", "sometickerConfiguration", "someRegion")),

                new PSVoiceReceiver(
                    ActionGroupsUtilities.CreateVoiceReceiver("voice", "someCountryCode", "somePhoeNumber")),

                new PSArmRoleReceiver(
                    ActionGroupsUtilities.CreateArmRoleReceiver("armRole", "someRoleId")),

                new PSArmRoleReceiver(
                    ActionGroupsUtilities.CreateArmRoleReceiver("armRole1", "someRoleId1", true)),

                new PSAzureFunctionReceiver(
                    ActionGroupsUtilities.CreateAzureFunctionReceiver("azureFunctionReceiver", "somefuncappresourceId", "somefunctionName", "some trigeerURl")),

                new PSAzureFunctionReceiver(
                    ActionGroupsUtilities.CreateAzureFunctionReceiver("azureFunctionReceiver1", "somefuncappresourceId1", "somefunctionName2", "some trigeerURl2", true)),

                new PSLogicAppReceiver(
                    ActionGroupsUtilities.CreateLogicAppReceiver("logicAppReceveir", "someresourceId", "someCallback")),

                new PSLogicAppReceiver(
                    ActionGroupsUtilities.CreateLogicAppReceiver("logicAppReceveir1", "someresourceId1", "someCallback1", true)),

                new PSAutomationRunbookReceiver(
                    ActionGroupsUtilities.CreateAutomationRunbookReceiver("runbookReceiver", "someAutomationId", "someRunbook", "somewebhookresourceId", false, "someServiceUri")),

                new PSAutomationRunbookReceiver(
                    ActionGroupsUtilities.CreateAutomationRunbookReceiver("runbookReceiver1", "someAutomationId1", "someRunbook1", "somewebhookresourceId1", true, "someServiceUri1", true)),

                new PSAzureAppPushReceiver(
                    ActionGroupsUtilities.CreateAzureAppPushReceiver("apppushreceiver", "someEmailAddress"))
            };



            cmdlet.ExecuteCmdlet();

            Assert.Equal(Utilities.ResourceGroup, this.resourceGroup);
            Assert.Equal("ActionGroupName", this.name);
            Assert.Null(this.createOrUpdatePrms.Id);
            Assert.Equal(Location, this.createOrUpdatePrms.Location);
            Assert.Equal("AgShortName", this.createOrUpdatePrms.GroupShortName);

            Assert.Equal(3, this.createOrUpdatePrms.EmailReceivers.Count);

            Assert.Equal("email", this.createOrUpdatePrms.EmailReceivers[0].Name);
            Assert.Equal("*****@*****.**", this.createOrUpdatePrms.EmailReceivers[0].EmailAddress);
            Assert.False(this.createOrUpdatePrms.EmailReceivers[0].UseCommonAlertSchema);

            Assert.Equal("email1", this.createOrUpdatePrms.EmailReceivers[1].Name);
            Assert.Equal("*****@*****.**", this.createOrUpdatePrms.EmailReceivers[1].EmailAddress);
            Assert.True(this.createOrUpdatePrms.EmailReceivers[1].UseCommonAlertSchema);

            Assert.Equal("email2", this.createOrUpdatePrms.EmailReceivers[2].Name);
            Assert.Equal("*****@*****.**", this.createOrUpdatePrms.EmailReceivers[2].EmailAddress);
            Assert.False(this.createOrUpdatePrms.EmailReceivers[2].UseCommonAlertSchema);


            Assert.Equal(1, this.createOrUpdatePrms.SmsReceivers.Count);

            Assert.Equal("sms", this.createOrUpdatePrms.SmsReceivers[0].Name);
            Assert.Equal("1", this.createOrUpdatePrms.SmsReceivers[0].CountryCode);
            Assert.Equal("4254251234", this.createOrUpdatePrms.SmsReceivers[0].PhoneNumber);

            Assert.Equal(4, this.createOrUpdatePrms.WebhookReceivers.Count);

            Assert.Equal("webhook", this.createOrUpdatePrms.WebhookReceivers[0].Name);
            Assert.Equal("http://test.com", this.createOrUpdatePrms.WebhookReceivers[0].ServiceUri);
            Assert.False(this.createOrUpdatePrms.WebhookReceivers[0].UseCommonAlertSchema);
            Assert.False(this.createOrUpdatePrms.WebhookReceivers[0].UseAadAuth);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[0].ObjectId);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[0].IdentifierUri);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[0].TenantId);

            Assert.Equal("webhook1", this.createOrUpdatePrms.WebhookReceivers[1].Name);
            Assert.Equal("http://test1.com", this.createOrUpdatePrms.WebhookReceivers[1].ServiceUri);
            Assert.True(this.createOrUpdatePrms.WebhookReceivers[1].UseCommonAlertSchema);
            Assert.False(this.createOrUpdatePrms.WebhookReceivers[1].UseAadAuth);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[1].ObjectId);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[1].IdentifierUri);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[1].TenantId);

            Assert.Equal("webhook2", this.createOrUpdatePrms.WebhookReceivers[2].Name);
            Assert.Equal("http://test2.com", this.createOrUpdatePrms.WebhookReceivers[2].ServiceUri);
            Assert.True(this.createOrUpdatePrms.WebhookReceivers[2].UseCommonAlertSchema);
            Assert.False(this.createOrUpdatePrms.WebhookReceivers[2].UseAadAuth);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[2].ObjectId);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[2].IdentifierUri);
            Assert.Equal("", this.createOrUpdatePrms.WebhookReceivers[2].TenantId);

            Assert.Equal("webhook3", this.createOrUpdatePrms.WebhookReceivers[3].Name);
            Assert.Equal("http://test3.com", this.createOrUpdatePrms.WebhookReceivers[3].ServiceUri);
            Assert.True(this.createOrUpdatePrms.WebhookReceivers[3].UseCommonAlertSchema);
            Assert.True(this.createOrUpdatePrms.WebhookReceivers[3].UseAadAuth);
            Assert.Equal("someObjectId", this.createOrUpdatePrms.WebhookReceivers[3].ObjectId);
            Assert.Equal("someIdentifierId", this.createOrUpdatePrms.WebhookReceivers[3].IdentifierUri);
            Assert.Equal("someTenantId", this.createOrUpdatePrms.WebhookReceivers[3].TenantId);

            Assert.Equal(1, this.createOrUpdatePrms.ItsmReceivers.Count);

            Assert.Equal("itsm", this.createOrUpdatePrms.ItsmReceivers[0].Name);
            Assert.Equal("someWorkspaceId", this.createOrUpdatePrms.ItsmReceivers[0].WorkspaceId);
            Assert.Equal("someConnectionId", this.createOrUpdatePrms.ItsmReceivers[0].ConnectionId);
            Assert.Equal("sometickerConfiguration", this.createOrUpdatePrms.ItsmReceivers[0].TicketConfiguration);
            Assert.Equal("someRegion", this.createOrUpdatePrms.ItsmReceivers[0].Region);

            Assert.Equal(1, this.createOrUpdatePrms.VoiceReceivers.Count);
            Assert.Equal("voice", this.createOrUpdatePrms.VoiceReceivers[0].Name);
            Assert.Equal("someCountryCode", this.createOrUpdatePrms.VoiceReceivers[0].CountryCode);
            Assert.Equal("somePhoeNumber", this.createOrUpdatePrms.VoiceReceivers[0].PhoneNumber);

            Assert.Equal(2, this.createOrUpdatePrms.ArmRoleReceivers.Count);

            Assert.Equal("armRole", this.createOrUpdatePrms.ArmRoleReceivers[0].Name);
            Assert.Equal("someRoleId", this.createOrUpdatePrms.ArmRoleReceivers[0].RoleId);
            Assert.False(this.createOrUpdatePrms.ArmRoleReceivers[0].UseCommonAlertSchema);

            Assert.Equal("armRole1", this.createOrUpdatePrms.ArmRoleReceivers[1].Name);
            Assert.Equal("someRoleId1", this.createOrUpdatePrms.ArmRoleReceivers[1].RoleId);
            Assert.True(this.createOrUpdatePrms.ArmRoleReceivers[1].UseCommonAlertSchema);

            Assert.Equal(2, this.createOrUpdatePrms.AzureFunctionReceivers.Count);

            Assert.Equal("azureFunctionReceiver", this.createOrUpdatePrms.AzureFunctionReceivers[0].Name);
            Assert.Equal("somefuncappresourceId", this.createOrUpdatePrms.AzureFunctionReceivers[0].FunctionAppResourceId);
            Assert.Equal("somefunctionName", this.createOrUpdatePrms.AzureFunctionReceivers[0].FunctionName);
            Assert.Equal("some trigeerURl", this.createOrUpdatePrms.AzureFunctionReceivers[0].HttpTriggerUrl);
            Assert.False(this.createOrUpdatePrms.AzureFunctionReceivers[0].UseCommonAlertSchema);

            Assert.Equal("azureFunctionReceiver1", this.createOrUpdatePrms.AzureFunctionReceivers[1].Name);
            Assert.Equal("somefuncappresourceId1", this.createOrUpdatePrms.AzureFunctionReceivers[1].FunctionAppResourceId);
            Assert.Equal("somefunctionName2", this.createOrUpdatePrms.AzureFunctionReceivers[1].FunctionName);
            Assert.Equal("some trigeerURl2", this.createOrUpdatePrms.AzureFunctionReceivers[1].HttpTriggerUrl);
            Assert.True(this.createOrUpdatePrms.AzureFunctionReceivers[1].UseCommonAlertSchema);

            Assert.Equal(2, this.createOrUpdatePrms.LogicAppReceivers.Count);

            Assert.Equal("logicAppReceveir", this.createOrUpdatePrms.LogicAppReceivers[0].Name);
            Assert.Equal("someresourceId", this.createOrUpdatePrms.LogicAppReceivers[0].ResourceId);
            Assert.Equal("someCallback", this.createOrUpdatePrms.LogicAppReceivers[0].CallbackUrl);
            Assert.False(this.createOrUpdatePrms.LogicAppReceivers[0].UseCommonAlertSchema);

            Assert.Equal("logicAppReceveir1", this.createOrUpdatePrms.LogicAppReceivers[1].Name);
            Assert.Equal("someresourceId1", this.createOrUpdatePrms.LogicAppReceivers[1].ResourceId);
            Assert.Equal("someCallback1", this.createOrUpdatePrms.LogicAppReceivers[1].CallbackUrl);
            Assert.True(this.createOrUpdatePrms.LogicAppReceivers[1].UseCommonAlertSchema);

            Assert.Equal(2, this.createOrUpdatePrms.AutomationRunbookReceivers.Count);

            Assert.Equal("runbookReceiver", this.createOrUpdatePrms.AutomationRunbookReceivers[0].Name);
            Assert.Equal("someAutomationId", this.createOrUpdatePrms.AutomationRunbookReceivers[0].AutomationAccountId);
            Assert.Equal("someRunbook", this.createOrUpdatePrms.AutomationRunbookReceivers[0].RunbookName);
            Assert.Equal("somewebhookresourceId", this.createOrUpdatePrms.AutomationRunbookReceivers[0].WebhookResourceId);
            Assert.Equal("someServiceUri", this.createOrUpdatePrms.AutomationRunbookReceivers[0].ServiceUri);
            Assert.False(this.createOrUpdatePrms.AutomationRunbookReceivers[0].IsGlobalRunbook);
            Assert.False(this.createOrUpdatePrms.AutomationRunbookReceivers[0].UseCommonAlertSchema);

            Assert.Equal("runbookReceiver1", this.createOrUpdatePrms.AutomationRunbookReceivers[1].Name);
            Assert.Equal("someAutomationId1", this.createOrUpdatePrms.AutomationRunbookReceivers[1].AutomationAccountId);
            Assert.Equal("someRunbook1", this.createOrUpdatePrms.AutomationRunbookReceivers[1].RunbookName);
            Assert.Equal("somewebhookresourceId1", this.createOrUpdatePrms.AutomationRunbookReceivers[1].WebhookResourceId);
            Assert.Equal("someServiceUri1", this.createOrUpdatePrms.AutomationRunbookReceivers[1].ServiceUri);
            Assert.True(this.createOrUpdatePrms.AutomationRunbookReceivers[1].IsGlobalRunbook);
            Assert.True(this.createOrUpdatePrms.AutomationRunbookReceivers[1].UseCommonAlertSchema);

            Assert.Equal(1, this.createOrUpdatePrms.AzureAppPushReceivers.Count);

            Assert.Equal("apppushreceiver", this.createOrUpdatePrms.AzureAppPushReceivers[0].Name);
            Assert.Equal("someEmailAddress", this.createOrUpdatePrms.AzureAppPushReceivers[0].EmailAddress);

            Assert.True(this.createOrUpdatePrms.Enabled);
            Assert.Null(this.createOrUpdatePrms.Type);
            Assert.Null(this.createOrUpdatePrms.Tags);

            cmdlet.DisableGroup = true;
            cmdlet.Tag          = new Dictionary <string, string>();
            cmdlet.ExecuteCmdlet();

            Assert.False(this.createOrUpdatePrms.Enabled);
            Assert.Null(this.createOrUpdatePrms.Type);
            Assert.NotNull(this.createOrUpdatePrms.Tags);
        }