Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RemoveUsersFromCustomAudienceRequest"/> class.
 /// </summary>
 /// <param name="customAudienceId">The custom audience identifier.</param>
 /// <param name="updateUsersInCustomAudienceConfiguration">The update users in custom audience configuration.</param>
 public RemoveUsersFromCustomAudienceRequest(string customAudienceId, UpdateUsersInCustomAudienceConfiguration updateUsersInCustomAudienceConfiguration)
 {
     this.Configuration = new UpdateUsersInCustomAudienceRequestConfiguration
     {
         CustomAudienceId = customAudienceId,
         Users            = updateUsersInCustomAudienceConfiguration
     };
 }
Exemple #2
0
        public void ShouldCreateRequestWithPassedDataAndSpecifiedPollingConfiguration()
        {
            // arrange
            var configurationProvider    = Substitute.For <IConfigurationProvider>();
            var customAudienceId         = Guid.NewGuid().ToString();
            var updateUsersConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
            };

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

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

            configurationProvider.GetConfiguration().Returns(configuration);

            // act
            var removeUsersRequestBuilder = new RemoveUsersFromCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration);

            var removeUsersRequest = removeUsersRequestBuilder
                                     .WithPolling(polling => polling
                                                  .Interval(expectedPollingRequestConfiguration.Interval)
                                                  .Attempts(expectedPollingRequestConfiguration.Attempts))
                                     .Create();

            // assert
            removeUsersRequest.Should().NotBeNull();
            removeUsersRequest.Configuration.Should().NotBeNull();
            removeUsersRequest.Configuration.Users.Should().NotBeNull();
            removeUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration);
            removeUsersRequest.Configuration.Polling.Should().NotBeNull();
            removeUsersRequest.Configuration.Polling.ShouldBeEquivalentTo(expectedPollingRequestConfiguration);
        }
        public void ShouldCreateConfigurationWithPhoneNumbersAndWithoutHashing()
        {
            // arrange
            var expectedConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data     = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                DataType = UpdateUsersInCustomAudienceDataType.PhoneNumbers
            };

            // act
            var updateUsersBuilder = new UpdateUsersInCustomAudienceBuilder();

            var updateUsersConfiguration = updateUsersBuilder
                                           .PhoneNumbers(expectedConfiguration.Data)
                                           .Create();

            // assert
            updateUsersConfiguration.Should().NotBeNull();
            updateUsersConfiguration.ShouldBeEquivalentTo(expectedConfiguration);
        }
        public void ShouldCreateConfigurationWithFacebookIdsAndFacebookApplicationIds()
        {
            // arrange
            var expectedConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                DataType = UpdateUsersInCustomAudienceDataType.FacebookIds
            };

            // act
            var updateUsersBuilder = new UpdateUsersInCustomAudienceBuilder();

            var updateUsersConfiguration = updateUsersBuilder
                                           .FacebookIds(expectedConfiguration.Data)
                                           .FacebookApplicationsIds(expectedConfiguration.FacebookApplicationsIds)
                                           .Create();

            // assert
            updateUsersConfiguration.Should().NotBeNull();
            updateUsersConfiguration.ShouldBeEquivalentTo(expectedConfiguration);
        }
Exemple #5
0
        public void ShouldCreateRequestWithPassedDataAndDefaultPollingConfiguration()
        {
            // arrange
            var configurationProvider    = Substitute.For <IConfigurationProvider>();
            var customAudienceId         = Guid.NewGuid().ToString();
            var updateUsersConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
            };

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

            configurationProvider.GetConfiguration().Returns(configuration);

            // act
            var addUsersRequestBuilder = new AddUsersToCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration);

            var addUsersRequest = addUsersRequestBuilder.WithPolling().Create();

            // assert
            addUsersRequest.Should().NotBeNull();
            addUsersRequest.Configuration.Should().NotBeNull();
            addUsersRequest.Configuration.Users.Should().NotBeNull();
            addUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration);
            addUsersRequest.Configuration.Polling.Should().NotBeNull();
            addUsersRequest.Configuration.Polling.Enabled.Should().BeTrue();
            addUsersRequest.Configuration.Polling.Attempts.Should().Be(configuration.PollingConfiguration.DefaultAttemptsCount);
            addUsersRequest.Configuration.Polling.Interval.Should().Be(configuration.PollingConfiguration.DefaultTimeInterval);
        }
Exemple #6
0
        public void ShouldCreateRequestWithPassedDataAndDisabledPolling()
        {
            // arrange
            var configurationProvider    = Substitute.For <IConfigurationProvider>();
            var customAudienceId         = Guid.NewGuid().ToString();
            var updateUsersConfiguration = new UpdateUsersInCustomAudienceConfiguration
            {
                Data = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
                FacebookApplicationsIds = new[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() },
            };

            // act
            var removeUsersRequestBuilder = new RemoveUsersFromCustomAudienceRequestBuilder(configurationProvider, customAudienceId, updateUsersConfiguration);

            var removeUsersRequest = removeUsersRequestBuilder.Create();

            // assert
            removeUsersRequest.Should().NotBeNull();
            removeUsersRequest.Configuration.Should().NotBeNull();
            removeUsersRequest.Configuration.Users.Should().NotBeNull();
            removeUsersRequest.Configuration.Users.ShouldBeEquivalentTo(updateUsersConfiguration);
            removeUsersRequest.Configuration.Polling.Should().NotBeNull();
            removeUsersRequest.Configuration.Polling.Enabled.Should().BeFalse();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AddUsersToCustomAudienceRequestBuilder"/> class.
 /// </summary>
 /// <param name="configurationProvider">The configuration provider.</param>
 /// <param name="customAudienceId">The custom audience identifier.</param>
 /// <param name="updateUsersInCustomAudienceConfiguration">The update users in custom audience configuration.</param>
 public AddUsersToCustomAudienceRequestBuilder(IConfigurationProvider configurationProvider, string customAudienceId, UpdateUsersInCustomAudienceConfiguration updateUsersInCustomAudienceConfiguration)
     : base(configurationProvider)
 {
     this.Request = new AddUsersToCustomAudienceRequest(customAudienceId, updateUsersInCustomAudienceConfiguration);
 }