/// <summary>
 /// Initializes a new instance of the <see cref="RemoveCustomAudienceFromCampaignRequest"/> class.
 /// </summary>
 /// <param name="campaignId">The campaign identifier.</param>
 /// <param name="updateCustomAudiencesInCampaignConfiguration">The update custom audiences in campaign configuration.</param>
 public RemoveCustomAudienceFromCampaignRequest(string campaignId, UpdateCustomAudiencesInCampaignConfiguration updateCustomAudiencesInCampaignConfiguration)
 {
     this.Configuration = new UpdateCustomAudiencesInCampaignRequestConfiguration
     {
         CampaignId      = campaignId,
         CustomAudiences = updateCustomAudiencesInCampaignConfiguration
     };
 }
示例#2
0
        public void ShouldCreateRequestWithPassedDataAndSpecifiedPollingConfiguration()
        {
            // arrange
            var configurationProvider = Substitute.For <IConfigurationProvider>();
            var campaignId            = Guid.NewGuid().ToString();
            var updateCustomAudiencesConfiguration = new UpdateCustomAudiencesInCampaignConfiguration
            {
                CustomAudienceId = Guid.NewGuid().ToString()
            };

            var configuration = new Configuration
            {
                PollingConfiguration = new PollingConfiguration
                {
                    DefaultTimeInterval  = TimeSpan.FromSeconds(15.0),
                    DefaultAttemptsCount = 4
                }
            };

            var expectedPollingRequestConfiguration = new PollingRequestConfiguration
            {
                Enabled  = true,
                Attempts = 6,
                Interval = TimeSpan.FromSeconds(10.0)
            };

            configurationProvider.GetConfiguration().Returns(configuration);

            // act
            var removeCustomAudienceRequestBuilder = new RemoveCustomAudienceFromCampaignRequestBuilder(configurationProvider, campaignId, updateCustomAudiencesConfiguration);

            var removeCustomAudienceRequest = removeCustomAudienceRequestBuilder
                                              .WithPolling(polling => polling
                                                           .Interval(expectedPollingRequestConfiguration.Interval)
                                                           .Attempts(expectedPollingRequestConfiguration.Attempts))
                                              .Create();

            // assert
            removeCustomAudienceRequest.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.CampaignId.Should().Be(campaignId);
            removeCustomAudienceRequest.Configuration.CustomAudiences.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.CustomAudiences.ShouldBeEquivalentTo(updateCustomAudiencesConfiguration);
            removeCustomAudienceRequest.Configuration.Polling.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.Polling.ShouldBeEquivalentTo(expectedPollingRequestConfiguration);
        }
        public void ShouldCreateRequestWithPassedDataAndDefaultPollingConfiguration()
        {
            // arrange
            var configurationProvider = Substitute.For <IConfigurationProvider>();
            var campaignId            = Guid.NewGuid().ToString();
            var updateCustomAudiencesConfiguration = new UpdateCustomAudiencesInCampaignConfiguration
            {
                CustomAudienceId = Guid.NewGuid().ToString()
            };

            var configuration = new Configuration
            {
                PollingConfiguration = new PollingConfiguration
                {
                    DefaultAttemptsCount = 4,
                    DefaultTimeInterval  = TimeSpan.FromSeconds(15.0)
                }
            };

            configurationProvider.GetConfiguration().Returns(configuration);

            // act
            var addCustomAudienceRequestBuilder = new AddCustomAudienceToCampaignRequestBuilder(configurationProvider, campaignId, updateCustomAudiencesConfiguration);

            var addCustomAudienceRequest = addCustomAudienceRequestBuilder.WithPolling().Create();

            // assert
            addCustomAudienceRequest.Should().NotBeNull();
            addCustomAudienceRequest.Configuration.Should().NotBeNull();
            addCustomAudienceRequest.Configuration.CampaignId.Should().Be(campaignId);
            addCustomAudienceRequest.Configuration.CustomAudiences.Should().NotBeNull();
            addCustomAudienceRequest.Configuration.CustomAudiences.ShouldBeEquivalentTo(updateCustomAudiencesConfiguration);
            addCustomAudienceRequest.Configuration.Polling.Should().NotBeNull();
            addCustomAudienceRequest.Configuration.Polling.Enabled.Should().BeTrue();
            addCustomAudienceRequest.Configuration.Polling.Attempts.Should().Be(configuration.PollingConfiguration.DefaultAttemptsCount);
            addCustomAudienceRequest.Configuration.Polling.Interval.Should().Be(configuration.PollingConfiguration.DefaultTimeInterval);
        }
示例#4
0
        public void ShouldCreateRequestWithPassedDataAndDisabledPolling()
        {
            // arrange
            var configurationProvider = Substitute.For <IConfigurationProvider>();
            var campaignId            = Guid.NewGuid().ToString();
            var updateCustomAudiencesConfiguration = new UpdateCustomAudiencesInCampaignConfiguration
            {
                CustomAudienceId = Guid.NewGuid().ToString()
            };

            // act
            var removeCustomAudienceRequestBuilder = new RemoveCustomAudienceFromCampaignRequestBuilder(configurationProvider, campaignId, updateCustomAudiencesConfiguration);

            var removeCustomAudienceRequest = removeCustomAudienceRequestBuilder.Create();

            // assert
            removeCustomAudienceRequest.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.CampaignId.Should().Be(campaignId);
            removeCustomAudienceRequest.Configuration.CustomAudiences.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.CustomAudiences.ShouldBeEquivalentTo(updateCustomAudiencesConfiguration);
            removeCustomAudienceRequest.Configuration.Polling.Should().NotBeNull();
            removeCustomAudienceRequest.Configuration.Polling.Enabled.Should().BeFalse();
        }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AddCustomAudienceToCampaignRequestBuilder"/> class.
 /// </summary>
 /// <param name="configurationProvider">The configuration provider.</param>
 /// <param name="campaignId">The campaign identifier.</param>
 /// <param name="updateCustomAudiencesInCampaignConfiguration">The update custom audiences in campaign configuration.</param>
 public AddCustomAudienceToCampaignRequestBuilder(IConfigurationProvider configurationProvider, string campaignId, UpdateCustomAudiencesInCampaignConfiguration updateCustomAudiencesInCampaignConfiguration)
     : base(configurationProvider)
 {
     this.Request = new AddCustomAudienceToCampaignRequest(campaignId, updateCustomAudiencesInCampaignConfiguration);
 }