public void WhenSendingRequest__ThenMustTimeout()
        {
            using (SimpleServer.Create(TestHelpers.BaseUrl,
                                       c => {
                Task.Delay(2000).Wait();
                c.Response.Close();
            }))
            {
                YouScribeClient.DefaultTimeout = TimeSpan.FromMilliseconds(200);
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var ex = Assert.Throws <AggregateException>(() =>
                {
                    client.AuthorizeAsync("test", "password").Wait();

                    var request = client.CreateProductRequest();

                    // Act
                    var response = request.GetRightAsync(42).Result;

                    // Assert
                    Assert.Equal(110, response);
                });
            }
        }
        public void WhenPublishDocumentFromUrl_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateProductRequest();

                // Act
                var product = request.PublishDocumentAsync(new Models.Products.ProductModel
                {
                    Title = "my document title"
                },
                                                           new[] {
                    new Uri("http://exemple.com/test.pdf")
                }).Result;

                // Assert
                Assert.NotNull(product);
                Assert.Equal(42, product.Id);
                Assert.Equal("my document title", product.Title);
                Assert.Equal("{\"Id\":0,\"Title\":\"my document title\",\"Description\":null,\"Collection\":null,\"PublishDate\":null,\"EAN13\":null,\"Public\":true,\"IsFree\":true,\"Price\":null,\"People\":null,\"Languages\":null,\"Tags\":null,\"CategoryId\":0,\"ThemeId\":0,\"AllowPasteAndCut\":false,\"AllowPrint\":false,\"AllowPrintOnDemand\":false,\"AllowDownload\":true,\"AllowStreaming\":true,\"IsAdultContent\":false,\"PreviewNbPage\":null,\"PreviewPercentPage\":null,\"PreviewRange\":null,\"CopyrightInformation\":0,\"LicenceName\":null}",
                             requestContent);
            }
        }
        public void WhenSendingRequest__ThenMustTimeout()
        {
            using (SimpleServer.Create(TestHelpers.BaseUrl,
                c => {
                    Task.Delay(2000).Wait();
                    c.Response.Close();
                }))
            {
                YouScribeClient.DefaultTimeout = TimeSpan.FromMilliseconds(200);
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var ex = Assert.Throws<AggregateException>(() =>
                    {
                        client.AuthorizeAsync("test", "password").Wait();

                        var request = client.CreateProductRequest();

                        // Act
                        var response = request.GetRightAsync(42).Result;

                        // Assert
                        Assert.Equal(110, response);
                    });

            }
        }
        public void WhenUpdateDocumentFromFile_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateProductRequest();

                // Act
                bool ok = request.UpdateDocumentAsync(42, new Models.Products.ProductUpdateModel
                {
                    Description = "ok"
                },
                                                      new[] {
                    new YouScribe.Rest.Models.FileModel {
                        Content = new MemoryStream(), FileName = "test2.pdf", ContentType = "application/pdf"
                    }
                }).Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenSearching_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateProductSearchRequest();

                // Act
                var results = request.SearchProductsAsync(
                    new ProductSearchInputModel()
                    {
                        id = new List<int>() { 5, 9, 18 },
                        domain_language = "fr",
                        quicksearch = "pouet$&"
                    }).Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.NotNull(results);
                Assert.Equal(1, results.TotalResults);
                Assert.NotEmpty(results.Products);
                Assert.Equal("bouh", results.Products.First().Title);
                Assert.Equal(2, results.Products.First().ExtractPublicFormatExtensions.Count());
                Assert.Equal(2, results.Products.First().PublicFormatExtensions.Count());
                var theme = results.Products.First().Theme;
                Assert.NotNull(theme);
                Assert.Equal(138, theme.Id);
                Assert.Equal("{\"id\":[5,9,18],\"theme_id\":null,\"category_id\":null,\"quicksearch\":\"pouet$&\",\"author\":null,\"offer_type\":[],\"title\":null,\"domain_language\":\"fr\",\"is_adult_content\":null,\"skip\":0,\"take\":10,\"sort\":[],\"language_id\":null,\"price_group\":null,\"access_type\":null,\"excluded_theme_id\":[]}", postData);
            }
        }
        public void WhenSettingClientTimeout__ThenCheckValue()
        {
            YouScribeClient.DefaultTimeout = TimeSpan.FromSeconds(123);
            ClientsPoolProvider.ClearDefaults();

            var client = new YouScribeClient().clientFactory();

            Assert.Equal(TimeSpan.FromSeconds(123), client.Client.BaseClient.Timeout);
        }
        public void WhenSettingClientTimeout__ThenCheckValue()
        {
            YouScribeClient.DefaultTimeout = TimeSpan.FromSeconds(123);
            ClientsPoolProvider.ClearDefaults();

            var client = new YouScribeClient().clientFactory();

            Assert.Equal(TimeSpan.FromSeconds(123), client.Client.BaseClient.Timeout);
        }
 public void WhenDoingMultipleRequestInParallel_ThenItsOk()
 {
     Parallel.ForEach(Enumerable.Range(0, 100), new ParallelOptions() { MaxDegreeOfParallelism = 100 }, (c) =>
     {
         var client = new YouScribeClient(TestHelpers.BaseUrl);
         using (var dClient = client.clientFactory())
         {
             var id = Guid.NewGuid().ToString();
             dClient.Client.BaseClient.DefaultRequestHeaders.Add("test", id);
             dClient.Client.GetAsync(TestHelpers.BaseUrl);
             Assert.Equal(id, dClient.Client.BaseClient.DefaultRequestHeaders.GetValues("test").First());
         }
     });
 }
Example #9
0
        public void WhenAuthorizeUser_ThenCheckToken()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, UserAuthorizedHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                // Act
                bool isAuthorized = client.AuthorizeAsync("test", "password").Result;

                // Assert
                Assert.True(isAuthorized);
            }
        }
Example #10
0
        public void WhenAuthorizeInvalidUser_ThenCheckToken()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, UserAuthorizedHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                // Act
                bool isAuthorized = client.AuthorizeAsync("test", "assword").Result;

                // Assert
                Assert.False(isAuthorized);
            }
        }
Example #11
0
        public void WhenDeleteProductByTypeName_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var ok = request.DeleteProductAsync("MyDownloads", 10).Result;
                // Assert
                Assert.True(ok);
            }
        }
        public void WhenAddProductWithLibId_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var ok = request.AddProductAsync(1, 10, true).Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenDownloadProductFromExtension2_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateProductRequest();

                // Act
                var response = request.PostEncryptedKeyByExtension(1, "pdf", "toto").Result;

                // Assert
                Assert.NotNull(response);
            }
        }
Example #14
0
        public void WhenAddProductWithLibId_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var ok = request.AddProductAsync(1, 10, true).Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenGettingProduct_ThenCheckResponse()
        {
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateProductRequest();

                // Act
                var response = request.GetAsync(410710).Result;

                Assert.NotNull(response);
                Assert.Equal("bouh", response.Title);
            }
        }
Example #16
0
        public void WhenSetSpokenLanguagesWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.SetSpokenLanguagesAsync(new[] { "fr", "en" }).Result;

                // Assert
                Assert.False(ok);
            }
        }
Example #17
0
        public void WhenGetLibraryByTypeName_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var library = request.GetAsync("MyDownloads").Result;

                // Assert
                Assert.NotNull(library);
                Assert.Equal("MyDownloads", library.TypeName);
            }
        }
Example #18
0
        public void WhenGetLibraries_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var libraries = request.GetAsync().Result;

                // Assert
                Assert.NotEmpty(libraries);
                Assert.Equal(3, libraries.Count());
            }
        }
Example #19
0
        public void WhenGetAccount_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateAccountRequest();

                // Act
                var account = request.GetCurrentAccountAsync().Result;

                // Assert
                Assert.NotNull(account);
                Assert.Equal("test", account.UserName);
            }
        }
Example #20
0
        public void WhenUploadPictureFromUrlWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.UploadPictureAsync(new Uri("http://exmple.com/image.jpg")).Result;

                // Assert
                Assert.False(ok);
            }
        }
        public void WhenSetUserTypeWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountUserTypeHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUserTypeRequest();

                // Act
                bool ok = request.SetUserTypeAsync(new Models.Accounts.UserTypeModel { Id = 25 }).Result;

                // Assert
                Assert.False(ok);
            }
        }
Example #22
0
        public void WhenDeletePictureWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.DeletePictureAsync().Result;

                // Assert
                Assert.False(ok);
            }
        }
        public void WhenDeletePictureWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.DeletePictureAsync().Result;

                // Assert
                Assert.False(ok);
            }
        }
        public void WhenGettingProducts_ThenCheckResponse()
        {
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateProductRequest();

                // Act
                var response = request.GetAsync(new List <int>()
                {
                    410710, 410711
                }).Result;

                Assert.Equal("[410710,410711]", requestContent);
            }
        }
        public void WhenForgotPassword_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var isOk = request.ForgotPasswordAsync("*****@*****.**").Result;

                // Assert
                Assert.True(isOk);
                Assert.Empty(request.Error.Messages);
            }
        }
        public void WhenGenerateUserNameFromEmail_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var userName = request.GetUserNameFromEmailAsync("*****@*****.**").Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.Equal("me.show", userName);
            }
        }
        public void WhenGeneratePassword_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var password = request.GeneratePasswordAsync(8, 10).Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.Equal("toto", password);
            }
        }
        public void WhenSubscribeToEvent_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.SubscribeToEventAsync("PublicaFeatured").Result;

                // Assert
                Assert.True(ok);
            }
        }
Example #29
0
 public void WhenDoingMultipleRequestInParallel_ThenItsOk()
 {
     Parallel.ForEach(Enumerable.Range(0, 100), new ParallelOptions()
     {
         MaxDegreeOfParallelism = 100
     }, (c) =>
     {
         var client = new YouScribeClient(TestHelpers.BaseUrl);
         using (var dClient = client.clientFactory())
         {
             var id = Guid.NewGuid().ToString();
             dClient.Client.BaseClient.DefaultRequestHeaders.Add("test", id);
             dClient.Client.GetAsync(TestHelpers.BaseUrl);
             Assert.Equal(id, dClient.Client.BaseClient.DefaultRequestHeaders.GetValues("test").First());
         }
     });
 }
        public void WhenSetEventFrequency_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.SetEventFrequencyAsync(Models.Accounts.NotificationFrequency.ByWeek).Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenGenerateUserNameFromEmail_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var userName = request.GetUserNameFromEmailAsync("*****@*****.**").Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.Equal("me.show", userName);
            }
        }
Example #32
0
        public void WhenGetByProductId_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, LibraryRequestHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateLibraryRequest();

                // Act
                var data = request.GetByProductIdAsync(1).Result;

                // Assert
                Assert.NotEmpty(data);
                Assert.Equal(123, data.FirstOrDefault());
                Assert.Equal(456, data.LastOrDefault());
            }
        }
        public void WhenForgotPassword_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var isOk = request.ForgotPasswordAsync("*****@*****.**").Result;

                // Assert
                Assert.True(isOk);
                Assert.Empty(request.Error.Messages);
            }
        }
        public void WhenGeneratePassword_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUtilRequest();

                // Act
                var password = request.GeneratePasswordAsync(8, 10).Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.Equal("toto", password);
            }
        }
        public void WhenSetEventFrequency_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.SetEventFrequencyAsync(Models.Accounts.NotificationFrequency.ByWeek).Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenGenerateEmbedIframeTag_ThenCheckCode()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, GenerateEmbledHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateEmbedRequest();

                int productId = 1;

                // Act
                var tag = request.GenerateIframeTagAsync(productId).Result;

                // Assert
                Assert.NotEmpty(tag);
                Assert.Equal("embed1", tag);
            }
        }
        public void WhenGenerateEmbedIframeTagWithFeatures_ThenCheckCode()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, GenerateEmbledHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateEmbedRequest();

                int productId = 1;

                // Act
                var tag = request.GenerateIframeTagAsync(productId, new Models.Products.EmbedGenerateModel { Width = 600, Height = 300 }).Result;

                // Assert
                Assert.NotEmpty(tag);
                Assert.Equal("embed2", tag);
            }
        }
        public void WhenSetUserTypeWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountUserTypeHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountUserTypeRequest();

                // Act
                bool ok = request.SetUserTypeAsync(new Models.Accounts.UserTypeModel {
                    Id = 25
                }).Result;

                // Assert
                Assert.False(ok);
            }
        }
        public void WhenSuggest_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateProductSuggestRequest();

                // Act
                var results = request.GetSuggestAsync(1470).Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.NotNull(results);
                Assert.NotEmpty(results);
                Assert.Equal("bouh", results.First().Title);
            }
        }
Example #40
0
        public void WhenSetAsTransferPublisherWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, Publisherandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountPublisherRequest();

                // Act
                bool ok = request.SetAsTransferPublisherAsync(new Models.Accounts.AccountPublisherTransferModel()).Result;

                // Assert
                Assert.False(ok);
                Assert.NotEmpty(request.Error.Messages);
                Assert.Contains("Not connected", request.Error.Messages.First());
            }
        }
Example #41
0
        public void WhenSetAsPaypalPublisher_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, Publisherandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountPublisherRequest();

                // Act
                bool ok = request.SetAsPaypalPublisherAsync(new Models.Accounts.AccountPublisherPaypalModel()).Result;

                // Assert
                Assert.True(ok);
                Assert.Equal("{\"PaypalEmail\":null,\"IsProfessional\":false,\"CorporateName\":null,\"SiretNumber\":null,\"VATNumber\":null,\"Street\":null,\"Street2\":null,\"ZipCode\":null,\"State\":null,\"City\":null,\"CountryCode\":null,\"Civility\":0,\"FirstName\":null,\"LastName\":null,\"PhoneNumber\":null}", requestContent);
            }
        }
Example #42
0
        public void WhenUpdateAccountWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.UpdateAsync(new Models.Accounts.AccountModel {
                    Id = 42, FirstName = "kikou"
                }).Result;

                // Assert
                Assert.False(ok);
            }
        }
Example #43
0
        public void WhenUploadPictureFromLocalFileWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.UploadPictureAsync(new Models.FileModel {
                    Content = new MemoryStream(), ContentType = "image/png", FileName = "test.png"
                }).Result;

                // Assert
                Assert.False(ok);
            }
        }
        public void WhenSuggest_ThenOk()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateProductSuggestRequest();

                // Act
                var results = request.GetSuggestAsync(1470).Result;

                // Assert
                Assert.Empty(request.Error.Messages);
                Assert.NotNull(results);
                Assert.NotEmpty(results);
                Assert.Equal("bouh", results.First().Title);
            }
        }
Example #45
0
        public void WhenGenerateEmbedIframeTag_ThenCheckCode()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, GenerateEmbledHandler))
            {
                var client  = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateEmbedRequest();

                int productId = 1;

                // Act
                var tag = request.GenerateIframeTagAsync(productId).Result;

                // Assert
                Assert.NotEmpty(tag);
                Assert.Equal("embed1", tag);
            }
        }
        public void WhenDeletePicture_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountRequest();

                // Act
                bool ok = request.DeletePictureAsync().Result;

                // Assert
                Assert.True(ok);
            }
        }
        public void WhenSetAsPaypalPublisher_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, Publisherandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountPublisherRequest();

                // Act
                bool ok = request.SetAsPaypalPublisherAsync(new Models.Accounts.AccountPublisherPaypalModel()).Result;

                // Assert
                Assert.True(ok);
                Assert.Equal("{\"PaypalEmail\":null,\"IsProfessional\":false,\"CorporateName\":null,\"SiretNumber\":null,\"VATNumber\":null,\"Street\":null,\"Street2\":null,\"ZipCode\":null,\"State\":null,\"City\":null,\"CountryCode\":null,\"Civility\":0,\"FirstName\":null,\"LastName\":null,\"PhoneNumber\":null}", requestContent);
            }
        }
        public void WhenSetEventFrequencyWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.SetEventFrequencyAsync(Models.Accounts.NotificationFrequency.ByWeek).Result;

                // Assert
                Assert.False(ok);
                Assert.NotEmpty(request.Error.Messages);
                Assert.Contains("Not connected", request.Error.Messages.First());
            }
        }
        public void WhenSetAsTransferPublisherWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, Publisherandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountPublisherRequest();

                // Act
                bool ok = request.SetAsTransferPublisherAsync(new Models.Accounts.AccountPublisherTransferModel()).Result;

                // Assert
                Assert.False(ok);
                Assert.NotEmpty(request.Error.Messages);
                Assert.Contains("Not connected", request.Error.Messages.First());
            }
        }
        public void WhenCheckForProductRight_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateProductRequest();

                // Act
                var response = request.GetRightAsync(42).Result;

                // Assert
                Assert.Equal(110, response);
            }
        }
        public void WhenSetUserType_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountUserTypeHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountUserTypeRequest();

                // Act
                bool ok = request.SetUserTypeAsync(new Models.Accounts.UserTypeModel { Id = 25 }).Result;

                // Assert
                Assert.True(ok);
                Assert.Equal("{\"Id\":25,\"Name\":null,\"Label\":null}", requestContent);
            }
        }
        public void WhenListAllUserTypes_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountUserTypeHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateAccountUserTypeRequest();

                // Act
                var userTypes = request.ListAllUserTypesAsync().Result;

                // Assert
                Assert.NotNull(userTypes);
                Assert.NotEmpty(userTypes);
                Assert.Equal(25, userTypes.First().Id);
                Assert.Equal("Traducteur", userTypes.First().Label);
                Assert.Equal("Traducteur", userTypes.First().Name);
            }
        }
        public void WhenCreateAccount_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, AccountHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateAccountRequest();

                // Act
                var account = request.CreateAsync(new Models.Accounts.AccountModel { UserName = "******", Password = "******" }).Result;

                // Assert
                Assert.NotNull(account);
                Assert.Equal("test", account.UserName);
                Assert.Equal("CAAGp95NMpY8BAOtOD7F4gxpkrMnmUZCpPBWHyZAOcX723Pfez7VEQvrjZAtrDZCXPRC0wPZCxrC", account.YsAuthToken);
                Assert.Equal("{\"Id\":0,\"UserName\":\"test\",\"Password\":\"password\",\"Email\":null,\"FirstName\":null,\"LastName\":null,\"Gender\":null,\"Civility\":null,\"BirthDate\":null,\"CountryCode\":null,\"BlogUrl\":null,\"WebSiteUrl\":null,\"FacebookPage\":null,\"TwitterPage\":null,\"City\":null,\"Biography\":null,\"PhoneNumber\":null,\"EmailIsPublic\":false,\"DomainLanguageIsoCode\":null,\"TrackingId\":\"00000000-0000-0000-0000-000000000000\",\"YsAuthToken\":null}",
                    requestContent);
            }
        }
        public void WhenListAllEvents_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateAccountEventRequest();

                // Act
                var events = request.ListAllEventsAsync().Result;

                // Assert
                Assert.NotEmpty(events);
                Assert.Equal(1, events.Count());
                Assert.Equal(6, events.First().Id);
                Assert.Equal("MemberHasSameInterest", events.First().Label);
                Assert.Equal("MemberHasSameInterest", events.First().Name);
            }
        }
        public void WhenRequest_ThenHeadersOk()
        {
            ClientsPoolProvider.ClearDefaults();
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var encoding = new System.Text.UnicodeEncoding();
                byte[] secretKey = encoding.GetBytes("DummyKey");
                int applicationId = 1;
                IHMAC hmac = new TestHMAC();
                var client = new YouScribeClient(TestHelpers.BaseUrl, YousScribeHMACHttpClientDecorator.GetBaseClientFactory(secretKey, applicationId, hmac));
                YousScribeHMACHttpClientDecorator httpClient = (YousScribeHMACHttpClientDecorator)((DisposableClient)client.clientFactory()).Client;

                // Act
                httpClient.GetAsync(TestHelpers.BaseUrl);

                // Assert
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.Authorization);
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.Date);
                Assert.NotNull(httpClient.BaseClient.DefaultRequestHeaders.GetValues(ApiUrls.HMACAuthenticateRandomKeyHeader));
            }
        }
        public void WhenDownloadProductExtractFromExtension_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductRequestHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateProductRequest();

                // Act
                var response = request.DownloadExtractAsync(43, "pdf").Result;

                // Assert
                Assert.NotNull(response);
                using (var stream = new MemoryStream())
                {
                    response.CopyTo(stream);
                    Assert.Equal(57210, stream.Length);
                }
            }
        }
        public void WhenAskForComments_ThenCommentsAreGiven()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, ProductCommentRequesttHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                var request = client.CreateProductCommentRequest();

                int id = 5;

                // Act
                var comments = request.GetCommentsAsync(id, 0, 5, 3).Result;

                // Assert
                Assert.NotEmpty(comments.Comments);
                Assert.Equal(8, comments.Count);
                Assert.Equal(5, comments.Comments.Count());

                var first = comments.Comments.First();
                Assert.Equal("test", first.Message);
                Assert.Equal(0, first.NbReplies);
                Assert.Equal(7, first.Writer.Id);
            }
        }
        public void WhenGeneratePrivateEmbedIframeTagWithUnauthorizedUser_ThenCheckCode()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, GenerateEmbledHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateEmbedRequest();

                int productId = 1;

                // Act
                var tag = request.GeneratePrivateIframeTagAsync(productId).Result;

                // Assert
                Assert.Empty(tag);
                Assert.NotEmpty(request.Error.Messages);
                Assert.Contains("Not connected", request.Error.Messages.First());
            }
        }
        public void WhenSubscribeToEventWithUnathorizedUser_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.SubscribeToEventAsync("PublicaFeatured").Result;

                // Assert
                Assert.False(ok);
                Assert.NotEmpty(request.Error.Messages);
                Assert.Contains("Not connected", request.Error.Messages.First());
            }
        }
        public void WhenUnSubscribeToEvent_ThenCheckResponse()
        {
            // Arrange
            using (SimpleServer.Create(TestHelpers.BaseUrl, EventHandler))
            {
                var client = new YouScribeClient(TestHelpers.BaseUrl);
                client.AuthorizeAsync("test", "password").Wait();

                var request = client.CreateAccountEventRequest();

                // Act
                bool ok = request.UnSubscribeToEventAsync(new Models.Accounts.AccountEventModel { Id = 6 }).Result;

                // Assert
                Assert.True(ok);
            }
        }