From 36a5a7c81569bbc4fa76b77e9823767d951944b4 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 18 Aug 2019 18:07:50 +0800 Subject: Add avatar service. --- Timeline.Tests/Mock/Data/TestDatabase.cs | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Timeline.Tests/Mock/Data/TestDatabase.cs (limited to 'Timeline.Tests/Mock/Data/TestDatabase.cs') diff --git a/Timeline.Tests/Mock/Data/TestDatabase.cs b/Timeline.Tests/Mock/Data/TestDatabase.cs new file mode 100644 index 00000000..09c77dce --- /dev/null +++ b/Timeline.Tests/Mock/Data/TestDatabase.cs @@ -0,0 +1,46 @@ +using Microsoft.Data.Sqlite; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Diagnostics; +using System; +using Timeline.Entities; + +namespace Timeline.Tests.Mock.Data +{ + public class TestDatabase : IDisposable + { + private readonly SqliteConnection _databaseConnection; + private readonly DatabaseContext _databaseContext; + + public TestDatabase() + { + _databaseConnection = new SqliteConnection("Data Source=:memory:;"); + _databaseConnection.Open(); + + var options = new DbContextOptionsBuilder() + .UseSqlite(_databaseConnection) + .ConfigureWarnings(builder => + { + builder.Throw(RelationalEventId.QueryClientEvaluationWarning); + }) + .Options; + + _databaseContext = new DatabaseContext(options); + + // init with mock data + _databaseContext.Database.EnsureCreated(); + _databaseContext.Users.AddRange(MockUsers.Users); + _databaseContext.SaveChanges(); + } + + public void Dispose() + { + _databaseContext.Dispose(); + + _databaseConnection.Close(); + _databaseConnection.Dispose(); + } + + public SqliteConnection DatabaseConnection => _databaseConnection; + public DatabaseContext DatabaseContext => _databaseContext; + } +} -- cgit v1.2.3