BotSharp/Bot.UnitTest/TestEssential.cs

52 lines
1.6 KiB
C#
Raw Normal View History

2018-03-19 02:07:36 +00:00
using Bot.Rasa.Consoles;
2017-12-30 20:26:35 +00:00
using EntityFrameworkCore.BootKit;
using Microsoft.Data.Sqlite;
2018-03-19 02:07:36 +00:00
using Microsoft.Extensions.Configuration;
2017-12-30 20:26:35 +00:00
using System;
using System.IO;
2018-03-19 02:07:36 +00:00
using System.Linq;
2017-12-30 20:26:35 +00:00
namespace Bot.UnitTest
{
public abstract class TestEssential
{
protected Database dc { get; set; }
2018-03-19 02:07:36 +00:00
protected string contentRoot;
2017-12-30 20:26:35 +00:00
public TestEssential()
{
2018-03-19 02:07:36 +00:00
contentRoot = $"{Directory.GetCurrentDirectory()}\\..\\..\\..\\..\\Bot.WebStarter";
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
var settings = Directory.GetFiles(contentRoot, "settings.*.json");
settings.ToList().ForEach(setting =>
{
configurationBuilder.AddJsonFile(setting, optional: false, reloadOnChange: true);
});
Database.Configuration = configurationBuilder.Build();
Database.Assemblies = new String[] { "Bot.Rasa" };
Database.ContentRootPath = contentRoot;
dc = new DefaultDataContextLoader().GetDefaultDc();
2017-12-30 20:26:35 +00:00
RasaConsole.Options = new RasaOptions
{
HostUrl = "http://192.168.56.101:5000",
2018-03-19 02:07:36 +00:00
ContentRootPath = contentRoot,
2017-12-30 20:26:35 +00:00
Assembles = new String[] { "Bot.Rasa" }
};
dc = new Database();
dc.BindDbContext<IDbRecord, DbContext4Sqlite>(new DatabaseBind
{
MasterConnection = new SqliteConnection($"Data Source={RasaConsole.Options.ContentRootPath}\\App_Data\\bot-rasa.db"),
2018-03-19 02:07:36 +00:00
CreateDbIfNotExist = true
2017-12-30 20:26:35 +00:00
});
}
}
}