public FileMetaServiceFixture() { serviceProvider = new ServiceCollection() .AddOptions() .Configure <FileMetaServiceSettings>( fileMetaServiceSettings => new ConfigurationBuilder() .AddJsonFile("appsettings.json", false, false) .Build() .GetSection("FileMetaService") .Bind(fileMetaServiceSettings) ) .AddSingleton(Assembly.GetExecutingAssembly()) .AddSingleton <IEmbeddedResourceResolver, EmbeddedResourceResolver>() .AddSingleton <IFileMetaDbFactory, FileMetaDbFactoryImpl>() .AddSingleton <IFileRegistry, FileRegistryImpl>() .AddSingleton <IFileMetaService, FileMetaServiceImpl>() .BuildServiceProvider(); embeddedResourceResolver = serviceProvider.GetService <IEmbeddedResourceResolver>(); fileMetaDbFactory = serviceProvider.GetService <IFileMetaDbFactory>(); using (var stream = embeddedResourceResolver.GetStream($"sql/mysql_init.sql")) using (var connection = fileMetaDbFactory.CreateConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = new StreamReader(stream).ReadToEnd(); command.ExecuteNonQuery(); } } }
/// <summary> /// Constructor. /// </summary> /// <param name="fileMetaDbFactory">factory class for creating database connections</param> /// <param name="fileRepository">the domain repository for interacting with the databse for <code>File</code> information</param> public FileMetaServiceImpl( IFileMetaDbFactory fileMetaDbFactory, IFileRegistry fileRepository ) { this.fileMetaDbFactory = fileMetaDbFactory; this.fileRepository = fileRepository; }
/// <summary> /// Constructor /// </summary> /// <param name="fileMetaDbFactory"></param> public FileRegistryImpl( IFileMetaDbFactory fileMetaDbFactory ) { this.fileMetaDbFactory = fileMetaDbFactory; }