using Bootstrap.DataAccess; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace UnitTest { public class ExceptionsTest { [Fact] public void RetrieveExceptions_Array() { var config = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddInMemoryCollection(new List>() { new KeyValuePair("DB:0:Enabled", "true"), new KeyValuePair("DB:0:Widget", "Bootstrap.DataAccess"), new KeyValuePair("DB:0:ConnectionStrings:ba", "Data Source=.;Initial Catalog=BootstrapAdmin;User ID=sa;Password=sa") }) .Build(); new ServiceCollection() .AddSingleton(config) .AddConfigurationManager(config) .AddDbAdapter(config); Exceptions excep = new Exceptions(); var result = excep.RetrieveExceptions(); var num = result.Count(); Assert.True(num >= 0); } [Fact] public void RetrieveExceptions_SQLite_Array() { var config = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddInMemoryCollection(new List>() { new KeyValuePair("DB:0:Enabled", "true"), new KeyValuePair("DB:0:Widget", "Bootstrap.DataAccess.SQLite"), new KeyValuePair("DB:0:DBProviderFactory", "Microsoft.Data.Sqlite.SqliteFactory, Microsoft.Data.Sqlite"), new KeyValuePair("DB:0:ConnectionStrings:ba", "Data Source=BootstrapAdmin.db;") }) .Build(); new ServiceCollection() .AddSingleton(config) .AddConfigurationManager(config) .AddDbAdapter(config); Exceptions excep = new Exceptions(); var result = excep.RetrieveExceptions(); var num = result.Count(); Assert.True(num >= 0); } [Fact] public void RetrieveExceptions_MySQL_Array() { var config = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddInMemoryCollection(new List>() { new KeyValuePair("DB:0:Enabled", "true"), new KeyValuePair("DB:0:Widget", "Bootstrap.DataAccess.MySQL"), new KeyValuePair("DB:0:DBProviderFactory", "MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"), new KeyValuePair("DB:0:ConnectionStrings:ba", "Server=10.211.55.2;Database=BA;Uid=argozhang;Pwd=argo@163.com;SslMode=none;") }) .Build(); new ServiceCollection() .AddSingleton(config) .AddConfigurationManager(config) .AddDbAdapter(config); Exceptions excep = new Exceptions(); var result = excep.RetrieveExceptions(); var num = result.Count(); Assert.True(num >= 0); } [Fact] public async void ClearExceptions_Void() { StaticMethods.Setup(); Exceptions excep = new Exceptions(); var method = excep.GetType().GetMethod("ClearExceptions", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static); method.Invoke(excep, null); await System.Threading.Tasks.Task.Delay(1000); } } }