增加TDengine单元测试

This commit is contained in:
d4ilys
2024-11-30 11:15:58 +08:00
parent 05b53c531c
commit 73b17b2609
4 changed files with 171 additions and 12 deletions

View File

@@ -1,4 +1,5 @@
using System;
using FreeSql.Tests.Provider.TDengine.TDengine.Tables;
using Xunit;
namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
@@ -8,10 +9,96 @@ namespace FreeSql.Tests.Provider.TDengine.TDengine.TDengineAdo
IFreeSql fsql => g.tdengine;
[Fact]
public void AuditValue()
void CodeFirstTest()
{
var executeConnectTest = fsql.Ado.ExecuteConnectTest();
fsql.CodeFirst.SyncStructure<D1001>();
fsql.CodeFirst.SyncStructure<D1002>();
fsql.CodeFirst.SyncStructure<Users>();
}
[Fact]
void InsertTest()
{
var insertAffrows = fsql.Insert(new D1001()
{
Ts = DateTime.Now,
Current = 1,
Voltage = 1,
Describe = "D10021"
}
).ExecuteAffrows();
var insertAffrows2 = fsql.Insert(new D1001()
{
Ts = DateTime.Now,
Current = 1,
Voltage = 1,
Describe = "D10021"
}
).ExecuteAffrows();
var batchInsertAffrows = fsql.Insert(new List<D1002>()
{
new D1002()
{
Ts = DateTime.Now,
Current = 6,
Voltage = 6,
Describe = "D10026"
},
new D1002()
{
Ts = DateTime.Now,
Current = 3,
Voltage = 3,
Describe = "D10023"
},
new D1002()
{
Ts = DateTime.Now,
Current = 4,
Voltage = 4,
Describe = "D10024"
}
}
).ExecuteAffrows();
}
[Fact]
void SelectTest()
{
var subList = fsql.Select<D1001>().ToList(d => new
{
GroupId = d.GroupId
});
var superMetersList = fsql.Select<Meters>().ToList();
}
[Fact]
void WhereSelectTest()
{
var list = fsql.Select<Meters>().Where(d => d.GroupId == 2).ToList();
}
[Fact]
void DeleteTest()
{
var startTime = DateTime.Parse("2024-11-30T02:33:52.308+00:00");
var endTime = DateTime.Parse("2024-11-30T02:40:58.961+00:00");
var executeAffrows = fsql.Delete<Meters>()
.Where(meters => meters.Ts >= startTime && meters.Ts <= endTime && meters.GroupId == 1)
.ExecuteAffrows();
}
[Fact]
void DbFirst_GetDatabases()
{
var databases = fsql.DbFirst.GetDatabases();
foreach (var database in databases)
{
Console.WriteLine(database);
}
}
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FreeSql.DataAnnotations;
using FreeSql.Provider.TDengine.Attributes;
namespace FreeSql.Tests.Provider.TDengine.TDengine.Tables
{
[TDengineSuperTable(Name = "meters")]
public class Meters
{
[Column(Name = "ts")]
public DateTime Ts { get; set; }
[Column(Name = "current")]
public float Current { get; set; }
[Column(Name = "voltage")]
public int Voltage { get; set; }
[Column(Name = "describe", StringLength = 50)]
public string? Describe { get; set; }
[TDengineTag(Name = "location")]
public virtual string? Location { get; set; }
[TDengineTag(Name = "group_id")]
public virtual int GroupId { get; set; }
}
[TDengineSubTable(SuperTableName = "meters", Name = "d1001")]
public class D1001 : Meters
{
[TDengineTag(Name = "location")]
public override string Location { get; set; } = "BeiJIng.ChaoYang";
[TDengineTag(Name = "group_id")]
public override int GroupId { get; set; } = 1;
}
[TDengineSubTable(SuperTableName = "meters", Name = "d1002")]
public class D1002 : Meters
{
[TDengineTag(Name = "location")]
public new string Location { get; set; } = "California.SanFrancisco";
[TDengineTag(Name = "group_id")]
public new int GroupId { get; set; } = 2;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FreeSql.DataAnnotations;
namespace FreeSql.Tests.Provider.TDengine.TDengine.Tables
{
[Table(Name = "users")]
public class Users
{
[Column(Name = "ts")]
public DateTime Ts { get; set; }
[Column(Name = "id")]
public float Id { get; set; }
[Column(Name = "address")]
public int Address { get; set; }
[Column(Name = "name", StringLength = 20)]
public string? Name { get; set; }
}
}

View File

@@ -12,18 +12,13 @@ namespace FreeSql.Tests.Provider.TDengine
{
private static readonly Lazy<IFreeSql> tdengineLazy = new Lazy<IFreeSql>(() =>
{
var fsql = new FreeSql.FreeSqlBuilder()
var fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.TDengine,
"host=localhost;port=6030;username=root;password=taosdata;protocol=Native;db=test;")
.UseAutoSyncStructure(true)
.UseNameConvert(Internal.NameConvertType.ToLower)
.UseMonitorCommand(
cmd => Trace.WriteLine("\r\n线程" + Thread.CurrentThread.ManagedThreadId + ": " +
cmd.CommandText) //监听SQL命令对象在执行前
//, (cmd, traceLog) => Console.WriteLine(traceLog)
)
.UseMonitorCommand(cmd => Console.WriteLine($"Sql{cmd.CommandText}\r\n"))
.UseNoneCommandParameter(true)
.Build();
return fsql;
return fsql;
});
public static IFreeSql tdengine => tdengineLazy.Value;