private static void Init() { //Configuration initialisation des différents objets var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", true) .AddJsonFile("appsettings.Development.json", true, false); var configuration = configurationBuilder.Build(); //initialisation du système de log var loggerFactory = new LoggerFactory().AddConsole(configuration); //initialisation des files d'attente var settings = new AzureQueueSettings(); configuration.GetSection("InputQueue").Bind(settings); _inputQueueService = new AzureQueueService(settings); _outputQueueSettings = new AzureQueueSettings(); configuration.GetSection("OutputQueue").Bind(_outputQueueSettings); _outputQueueService = new AzureQueueService(_outputQueueSettings); //initialisation du repository _dataMapper = new DataMapper(); var productRepositorySettings = new RepositorySettings(); configuration.GetSection("Repositories:Product").Bind(productRepositorySettings); var modelRepositorySettings = new RepositorySettings(); configuration.GetSection("Repositories:Model").Bind(modelRepositorySettings); var diagnosticSource = new MyDiagnosticSource(); var productRepository = new RepositoryStoreFactory <ProductModel>(productRepositorySettings.Provider, new ConnectionOptions { Provider = productRepositorySettings.ProviderType, ConnectionString = JsonConvert.SerializeObject(productRepositorySettings.ConnectionString) }, loggerFactory, diagnosticSource); var modelRepository = new RepositoryStoreFactory <ProductModel>(modelRepositorySettings.Provider, new ConnectionOptions { Provider = productRepositorySettings.ProviderType, ConnectionString = JsonConvert.SerializeObject(modelRepositorySettings.ConnectionString) }, loggerFactory, diagnosticSource); _dataRepo = new DataRepository(productRepository, modelRepository, diagnosticSource, loggerFactory.CreateLogger <DataRepository>()); //initialisation du partage Azure var azureBlobSettings = new AzureBlobSettings(); configuration.Bind(azureBlobSettings); new AzureStorageAccess(azureBlobSettings); }
public void StartTestVoid() { _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.FileStore", new ConnectionOptions { Provider = "FileDb", ConnectionString = new FileInfo($"data\\data_{Guid.NewGuid()}.json").FullName }, _loggerFactory, new MyDiagnosticSource()); }
public DataRepository(RepositoryStoreFactory <ProductModel> productRepository, RepositoryStoreFactory <ProductModel> modelRepository, DiagnosticSource diagnosticSource, ILogger <DataRepository> logger) { ProductRepository = productRepository; ModelRepository = modelRepository; _diagnosticSource = diagnosticSource; _logger = logger; }
public void StartTestVoid() { var config = new NoSqlConnectionString { Url = "localhost" }; _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.NoSql", new ConnectionOptions { Provider = "ECommerce.Data.RedisProvider", ConnectionString = JsonConvert.SerializeObject(config) }, _loggerFactory, new MyDiagnosticSource()); }
public void StartTestVoid() { var sqlConnection = new SqlConnectionOptions { ConnectionString = @"Server=(localdb)\mssqllocaldb;Database=EFProviders.InMemory;Trusted_Connection=True;ConnectRetryCount=3" }; _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.EntityFramework", new ConnectionOptions { Provider = "ECommerce.Data.EntityFramework.InMemory", ConnectionString = JsonConvert.SerializeObject(sqlConnection) }, _loggerFactory, new MyDiagnosticSource()); }
public void StartTestVoid() { var sqlConnection = new SqlConnectionOptions { ConnectionString = $"Data Source={new FileInfo("data\\data.db").FullName}" }; _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.EntityFramework", new ConnectionOptions { Provider = "ECommerce.Data.EntityFramework.SqlLite", ConnectionString = JsonConvert.SerializeObject(sqlConnection) }, _loggerFactory, new MyDiagnosticSource()); }
public void StartTestVoid() { var config = new NoSqlConnectionString { Url = "http://localhost:8080", Database = "", IsTest = true }; _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.NoSql", new ConnectionOptions { Provider = "ECommerce.Data.RavenDbProvider", ConnectionString = JsonConvert.SerializeObject(config) }, _loggerFactory, new MyDiagnosticSource()); }
public void TestInsert(RepositoryStoreFactory <TestDocument> repository, string applicationName, string key, string value) { var result = repository.AddAsync(new TestDocument { ApplicationName = applicationName, Key = key, Value = value }).Result; Assert.IsTrue(result.IsSuccessful); var searchResult = repository.SearchASingleItemAsync(x => x.Key == key).Result; Assert.IsNotNull(searchResult); Assert.IsTrue(searchResult.IsSuccessful); }
public void StartTestVoid() { var config = new NoSqlConnectionString { UserId = "chercherunproduit-mongodb", Password = "******", Url = "chercherunproduit-mongodb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb", Database = "Configuration", Collection = $"ConfigurationItem_{Guid.NewGuid()}" }; _repository = new RepositoryStoreFactory <TestDocument>("ECommerce.Data.NoSql", new ConnectionOptions { Provider = "ECommerce.Data.MongoDbProvider", ConnectionString = JsonConvert.SerializeObject(config) }, _loggerFactory, new MyDiagnosticSource()); }
public void TestDelete(RepositoryStoreFactory <TestDocument> repository, string applicationName, string key) { var searchResult = repository.SearchASingleItemAsync(x => x.Key == key).Result; Assert.IsNotNull(searchResult); Assert.IsTrue(searchResult.IsSuccessful); var item = searchResult.Result; Assert.IsNotNull(item); item.Value = "mod"; var removeResult = repository.RemoveAsync(item).Result; Assert.IsNotNull(removeResult); Assert.IsTrue(removeResult.IsSuccessful); }
public void TestUpdate(RepositoryStoreFactory <TestDocument> repository, string applicationName, string key, string value) { var searchResult = repository.SearchASingleItemAsync(x => x.Key == key).Result; Assert.IsNotNull(searchResult); Assert.IsTrue(searchResult.IsSuccessful); var item = searchResult.Result; Assert.IsNotNull(item); item.Value = "mod"; var updateResult = repository.UpdateAsync(item).Result; Assert.IsNotNull(updateResult); Assert.IsTrue(updateResult.IsSuccessful); Assert.IsTrue(updateResult.Result.Value.Equals("mod")); }
public void StartTestVoid() { var config = new NoSqlConnectionString { Url = "https://rechercherunproduit-dev-sql.documents.azure.com:443/", AuthorizationKey = "IWLYmQ6TcRhGDFVN6W2eQAYMJD8m0FFd0MKtV7wPiAQ8EDD8pnhs6b5hSvnXxbZHAhGQQWlvVCe1HqofPjnp7w==", Database = "Configuration", Collection = $"ConfigurationItem_{Guid.NewGuid()}" }; _repository = new RepositoryStoreFactory <TestDocument>( "ECommerce.Data.NoSql", new ConnectionOptions { Provider = "ECommerce.Data.DocumentDbProvider", ConnectionString = JsonConvert.SerializeObject(config) }, _loggerFactory, new MyDiagnosticSource()); }
public void TestInsertDuplicate(RepositoryStoreFactory <TestDocument> repository, string applicationName, string key, string value) { Assert.ThrowsException <DuplicateNameException>(() => { try { repository.AddAsync(new TestDocument { ApplicationName = applicationName, Key = key, Value = value }).Wait(); } catch (AggregateException ex) { if (ex is AggregateException aggregate) { aggregate.Handle((x) => throw x); } throw; } }); }