protected DispatcherContext(string configDbConnectionString = null) { _dbContext = new DatabasesContext { IsInternalDispatcherContext = true, ConfigDbConnectionString = configDbConnectionString }; EventService = new EventService(this); EventTypeService = new EventTypeService(this); BulbService = new BulbService(this); ComponentTypeService = new ComponentTypeService(this); LogService = new LogService(this); MetricService = new MetricService(this); UnitTestTypeService = new UnitTestTypeService(this); UnitTestService = new UnitTestService(this); SubscriptionService = new SubscriptionService(DbContext); PaymentService = ConfigDbServicesHelper.GetPaymentService(DbContext); ComponentService = new ComponentService(this); UserService = new UserService(DbContext); AccountService = ConfigDbServicesHelper.GetAccountService(); AccountManagementService = ConfigDbServicesHelper.GetAccountManagementService(this); DatabaseService = ConfigDbServicesHelper.GetDatabaseService(); }
async Task CommonTestDiscovery(string projectName) { FilePath solFile = Util.GetSampleProject("unit-testing-addin", "unit-testing-addin.sln"); CreateNuGetConfigFile(solFile.ParentDirectory); var process = Process.Start("nuget", $"restore -DisableParallelProcessing {solFile}"); Assert.IsTrue(process.WaitForExit(60000), "Timeout restoring nuget packages."); Assert.AreEqual(0, process.ExitCode); sol = await Services.ProjectService.ReadWorkspaceItem(Util.GetMonitor(), solFile) as Solution; Assert.AreEqual(0, (await sol.Build(Util.GetMonitor(), "Debug")).ErrorCount); var project1 = sol.GetAllProjects().Single(p => p.Name == projectName); var rootUnitTest1 = UnitTestService.BuildTest(project1) as UnitTestGroup; var token = new CancellationTokenSource(TimeSpan.FromSeconds(5)).Token; rootUnitTest1.Refresh(token).Ignore(); var readyTaskSource = new TaskCompletionSource <bool>(); rootUnitTest1.TestStatusChanged += delegate { if (rootUnitTest1.Status == TestStatus.Ready) { readyTaskSource.TrySetResult(true); } }; token.Register(() => readyTaskSource.TrySetCanceled()); if (rootUnitTest1.Status != TestStatus.Ready) { await readyTaskSource.Task; } Assert.AreEqual(TestStatus.Ready, rootUnitTest1.Status); Assert.AreEqual(2, rootUnitTest1.CountTestCases()); }