Skip to content

Commit 2ce8a7f

Browse files
committed
fix: typos in builder
1 parent 2122735 commit 2ce8a7f

File tree

6 files changed

+19
-9
lines changed

6 files changed

+19
-9
lines changed

src/Serilog.Ui.SqliteDataProvider/Extensions/SerilogUiOptionBuilderExtensions.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public static ISerilogUiOptionsBuilder UseSqliteServer(
2222
setupOptions(dbOptions);
2323
dbOptions.Validate();
2424

25+
string providerName = dbOptions.GetProviderName(SqliteDataProvider.SqliteProviderName);
26+
optionsBuilder.RegisterExceptionAsStringForProviderKey(providerName);
2527
optionsBuilder.Services.AddScoped<IDataProvider, SqliteDataProvider>(_ => new SqliteDataProvider(dbOptions, new SqliteQueryBuilder()));
2628

2729
return optionsBuilder;

src/Serilog.Ui.SqliteDataProvider/Serilog.Ui.SqliteDataProvider.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<PackageId>Serilog.UI.Sqlite</PackageId>
55
<TargetFramework>netstandard2.0</TargetFramework>
66
<LangVersion>latest</LangVersion>
7-
<Version>1.0.0-beta.1</Version>
7+
<Version>1.0.0</Version>
88

99
<Description>SQLite data provider for Serilog UI.</Description>
1010
<PackageTags>serilog serilog-ui serilog.sinks.sqlite sqlite</PackageTags>

src/Serilog.Ui.SqliteDataProvider/SqliteDataProvider.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using Serilog.Ui.Core;
55
using Serilog.Ui.Core.Models;
66
using Serilog.Ui.SqliteDataProvider.Extensions;
7+
using System;
78
using System.Collections.Generic;
89
using System.Linq;
910
using System.Threading;
@@ -49,6 +50,9 @@ private async Task<IEnumerable<LogModel>> GetLogsAsync(FetchLogsQuery queryParam
4950
return logs.Select((item, i) =>
5051
{
5152
item.PropertyType = "json";
53+
// both sinks save UTC but MariaDb is queried as Unspecified, MySql is queried as Local
54+
var ts = DateTime.SpecifyKind(item.Timestamp, item.Timestamp.Kind == DateTimeKind.Unspecified ? DateTimeKind.Local : item.Timestamp.Kind);
55+
item.Timestamp = ts.ToUniversalTime();
5256
item.SetRowNo(rowNoStart, i);
5357
return item;
5458
}).ToList();

src/Serilog.Ui.SqliteDataProvider/SqliteQueryBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ public override string BuildCountLogsQuery(SinkColumnNames columns, string schem
3030
{
3131
StringBuilder queryStr = new();
3232

33-
queryStr.Append($"SELECT COUNT(Id) FROM {tableName}");
33+
queryStr.Append($"SELECT COUNT(Id) FROM {tableName} ");
3434

3535
GenerateWhereClause(queryStr, columns, query.Level, query.SearchCriteria, query.StartDate, query.EndDate);
3636

3737
return queryStr.ToString();
3838
}
3939

4040
protected override string GenerateSortClause(SinkColumnNames columns, SearchOptions.SortProperty sortOn, SearchOptions.SortDirection sortBy)
41-
=> $"ORDER BY [{GetSortColumnName(columns, sortOn)}] {sortBy.ToString().ToUpper()}";
41+
=> $"ORDER BY {GetSortColumnName(columns, sortOn)} {sortBy.ToString().ToUpper()}";
4242

4343
/// <inheritdoc/>
4444
private static void GenerateSelectClause(StringBuilder queryBuilder, SinkColumnNames columns, string schema, string tableName)

tests/Serilog.Ui.SqliteProvider.Tests/DataProvider/DataProviderPaginationTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ public override Task It_throws_when_skip_is_zero()
1919
{
2020
var query = new Dictionary<string, StringValues> { ["page"] = "0", ["count"] = "1" };
2121
var test = () => Provider.FetchDataAsync(FetchLogsQuery.ParseQuery(query));
22-
return test.Should().ThrowAsync<SqliteException>();
22+
return test.Should().NotThrowAsync<SqliteException>("because Sqlite catches the error");
2323
}
2424
}

tests/Serilog.Ui.SqliteProvider.Tests/Util/SqliteTestProvider.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Serilog.Ui.Core.Extensions;
99
using Serilog.Ui.SqliteDataProvider;
1010
using Serilog.Ui.SqliteDataProvider.Extensions;
11+
using System;
1112
using System.Threading.Tasks;
1213
using Xunit;
1314

@@ -18,6 +19,9 @@ public class SqliteCollection : ICollectionFixture<SqliteTestProvider> { }
1819

1920
public sealed class SqliteTestProvider : IIntegrationRunner
2021
{
22+
private static string DbName() => $"integration-{DateTime.UtcNow:O}.db".Replace(':', '-');
23+
private string _dbInstanceName = string.Empty;
24+
2125
private LogModelPropsCollector? _collector;
2226

2327
private SqliteDataProvider? _provider;
@@ -27,14 +31,14 @@ public SqliteTestProvider() : base()
2731
// No need to set up a container for SQLite - using in-memory database
2832
}
2933

30-
public SqliteDbOptions DbOptions { get; set; } = new SqliteDbOptions()
31-
.WithTable("Logs")
32-
.WithConnectionString("Data Source=hello.db");
33-
34+
public SqliteDbOptions DbOptions { get; set; } = new SqliteDbOptions().WithTable("Logs");
3435
private async Task CheckDbReadinessAsync()
3536
{
3637
Guard.Against.Null(DbOptions);
3738

39+
_dbInstanceName = DbName();
40+
DbOptions.WithConnectionString($"Data Source={_dbInstanceName}");
41+
3842
using var connection = new SqliteConnection(DbOptions.ConnectionString);
3943
await connection.OpenAsync();
4044

@@ -48,7 +52,7 @@ private void InitializeAdditional()
4852
var serilog = new SerilogSinkSetup(logger =>
4953
logger
5054
.WriteTo
51-
.SQLite(@"hello.db", batchSize: 1));
55+
.SQLite(_dbInstanceName, batchSize: 1, storeTimestampInUtc: true));
5256
_collector = serilog.InitializeLogs();
5357

5458
_provider = new SqliteDataProvider(DbOptions, new SqliteQueryBuilder());

0 commit comments

Comments
 (0)