Files
agile.zhou 87bd8209e7 clearn code
2025-11-24 01:39:04 +08:00

46 lines
1.5 KiB
C#

using AgileConfig.Server.Common;
using AgileConfig.Server.Data.Abstraction.DbProvider;
using FreeSql;
using Microsoft.Extensions.Configuration;
namespace AgileConfig.Server.Data.Freesql.Tests;
[TestClass]
public class FreeSQLTests
{
[TestMethod]
public void GetInstanceByEnvTest()
{
var configMap = new Dictionary<string, string>
{
{ "db:provider", "sqlite" },
{ "db:conn", "Data Source=agile_config.db" },
{ "db:env:test:provider", "sqlite" },
{ "db:env:test:conn", "Data Source=agile_config1.db" }
};
var configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddInMemoryCollection(configMap);
var configuration = configurationBuilder.Build();
Global.Config = configuration;
var myfreesql = new MyFreeSQL(new DbConfigInfoFactory(configuration));
var fsq = myfreesql.GetInstanceByEnv("");
Assert.IsNotNull(fsq);
Assert.AreEqual(DataType.Sqlite, fsq.Ado.DataType);
var fsqtest = myfreesql.GetInstanceByEnv("test");
Assert.IsNotNull(fsqtest);
Assert.AreEqual(DataType.Sqlite, fsqtest.Ado.DataType);
Assert.AreNotSame(fsq, fsqtest);
var fsqtest_ag = myfreesql.GetInstanceByEnv("test");
Assert.AreSame(fsqtest, fsqtest_ag);
var fsq_none = myfreesql.GetInstanceByEnv("x");
Assert.IsNotNull(fsq_none);
Assert.AreEqual(DataType.Sqlite, fsq_none.Ado.DataType);
Assert.AreSame(fsq, fsq_none);
}
}