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();
                    }
                }
        }
Exemple #2
0
 /// <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;
 }
Exemple #3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="fileMetaDbFactory"></param>
 public FileRegistryImpl(
     IFileMetaDbFactory fileMetaDbFactory
     )
 {
     this.fileMetaDbFactory = fileMetaDbFactory;
 }