sqlinsight-pro/tests/SQLInsight.IntegrationTests
Søren Eggert Lundsteen Olsen b010f37dcf Review 1.5: synthetic checks: "Kør nu" joins the running check, errors are stored once, paused checks are left alone
- "Kør nu" (ServerRequestHandler) goes through SyntheticCheckService.RunNowAsync: it joins a
  run of the check that is going on, or runs it under the same MaxParallelChecks throttle
  and registers it, so it never overlaps a scheduled run. A paused check is not run: the
  answer is "Tjekket er sat på pause." and nothing is stored, evaluated or opened.
- Server requests (test, run now) may take 3 min (the check's max timeout 120 s + the
  30 s service lookup + 30 s margin) instead of AgentRequestService's 2 min, so the result
  is always stored; a server test gets 2.5 min. Stale Running requests are cleaned after
  the longest timeout + 1 min.
- An exception a check run did not foresee becomes a stored failed result ("Tjekket kunne
  ikke køres: …"), so LastRunAt advances and the check waits its interval; it is logged
  once per change. A run that cannot even be stored is not retried before its interval
  (the agent remembers when it started it).
- The service lookup of a failing check has its own 30 s deadline; its error detail
  (naming the agent's account) is Sensitive.
- The rules get max(10, FailuresBeforeFinding, SlowRunsBeforeFinding) + 1 recent results
  (at most 100), so "Fejlet i træk" and FailuresBeforeFinding > 10 work.
- The interval is never under SyntheticCheckLimits.MinIntervalSeconds agent-side; state
  for removed checks is pruned; shutdown waits for running checks before the throttle is
  disposed; a TaskCanceledException that is not shutdown no longer ends the service.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-02 16:02:17 +02:00
..
ActivityTests.cs Long and large transactions and long-running statements (8b, 8d) 2026-10-02 10:36:41 +02:00
AgentPipelineTests.cs Fase 4: community and local rules written as SQL 2026-09-29 10:23:01 +00:00
AgentRequestTests.cs Agent: instances from the repository, request queue, sealed passwords, AX hub opt-in 2026-10-02 13:22:41 +02:00
AgentSession.cs Integration tests: fake Axapta 3.0 (bmssa) and AX 2012 R2 databases 2026-10-02 13:54:23 +02:00
CollectorTests.cs Plan analysis test: start from an empty plan cache 2026-10-02 11:14:54 +02:00
ConfigurationPageTests.cs Configuration page with change log 2026-10-02 08:12:26 +02:00
CustomRuleIntegrationTests.cs Fase 4: community and local rules written as SQL 2026-09-29 10:23:01 +00:00
DiscoveryTests.cs Collectors: monitor only chosen databases; database discovery and permission check 2026-10-02 13:22:41 +02:00
DynamicsAxTests.cs Review 1.4: AX detection survives passing errors; revoke only what the grant gave; smaller fixes 2026-10-02 14:45:31 +02:00
DynamicsAxWebTests.cs Integration tests: fake Axapta 3.0 (bmssa) and AX 2012 R2 databases 2026-10-02 13:54:23 +02:00
ErrorLogTests.cs SQL Server error log without elevated rights (8a) 2026-10-02 10:30:41 +02:00
HighAvailabilityTests.cs Fase 2: Always On availability groups and SQL Agent jobs 2026-09-29 07:53:49 +00:00
HubApiTests.cs Fase 3: signed updates of rule packs and the application 2026-09-29 09:19:41 +00:00
HubEndToEndTests.cs Dynamics AX: notice a GRANT within minutes, one AX lookup per custom-rule run 2026-10-02 13:54:36 +02:00
HubFixture.cs Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
HubInsightTests.cs Fase 4: experience across customers 2026-09-29 10:33:37 +00:00
HubMaintenanceTests.cs Fase 3: data processing, hub retention and deployment 2026-09-29 09:29:20 +00:00
HubPortalSupportTests.cs Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
HubPortalTests.cs Fase 3: Hub portal for vendor staff 2026-09-29 08:58:34 +00:00
HubSupportApiTests.cs Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
HubSupportEndToEndTests.cs Customers file support cases in SQLInsight Web and follow their status 2026-10-01 11:34:06 +02:00
HubSupportLogicTests.cs Hub: support case numbers, customer case API, mail, support report 2026-10-01 11:33:55 +02:00
IndexUsageTests.cs Index usage over time and never-updated statistics (8g, F) 2026-10-02 10:55:22 +02:00
InstanceConfigurationRepositoryTests.cs Review 1.3: overview leaves out removed instances and marks paused ones 2026-10-02 13:22:42 +02:00
InstanceProbeTests.cs Fase 0: solution structure, capability model, rule engine, least-privilege script 2026-09-29 05:40:49 +00:00
InstanceSetupApiTests.cs Review 1.3: redact logins and user names in the configuration API 2026-10-02 13:22:42 +02:00
InstanceSetupWebTests.cs Review 1.3: local Administrators may change the configuration until AdminGroups is set; MSI property ADMIN_GROUPS 2026-10-02 13:22:42 +02:00
LeastPrivilegeTests.cs Fase 1: collectors and rule pack (41 rules) 2026-09-29 06:17:08 +00:00
NavigationTests.cs Menu in foldable groups 2026-10-02 09:17:43 +02:00
NotificationIntegrationTests.cs Fase 2: notifications by e-mail, Teams and webhook 2026-09-29 08:08:06 +00:00
PrivilegeTests.cs Privilege audit: sysadmin and server roles with AD unfolding 2026-10-02 08:39:56 +02:00
ReplicationTests.cs Replication from the distributor (8f) 2026-10-02 10:48:46 +02:00
ReportTests.cs Fase 4: management and compliance reports as PDF 2026-09-29 10:09:10 +00:00
RepositoryTests.cs Stop SQLInsight deadlocking itself, and stop reporting its own deadlocks 2026-10-02 07:34:59 +02:00
ServerAgentTests.cs Review 1.5: synthetic checks: "Kør nu" joins the running check, errors are stored once, paused checks are left alone 2026-10-02 16:02:17 +02:00
ServerApiTests.cs Review 1.5: API v1 redacts the agent's account, logins, user names and URL queries; history, event log metadata, paging 2026-10-02 15:53:26 +02:00
ServerRepositoryTests.cs Review 1.5: repository: reuse waiting agent requests, active findings only on monitored servers and checks, cleanup on removal 2026-10-02 15:53:26 +02:00
ServerWebTests.cs Review 1.5: server and check pages: one overview query, paused checks are not run, bad numbers refused, seconds kept 2026-10-02 15:53:26 +02:00
SQLInsight.IntegrationTests.csproj Collection: Windows servers over CIM (WS-Man, DCOM fallback) and synthetic check runners 2026-10-02 14:58:18 +02:00
SqlServerFixture.cs Fase 2: Always On availability groups and SQL Agent jobs 2026-09-29 07:53:49 +00:00
SupportApiTests.cs Support cases through the API: create, read and close 2026-10-02 09:47:58 +02:00
SyntheticSqlCheckTests.cs Collection: Windows servers over CIM (WS-Man, DCOM fallback) and synthetic check runners 2026-10-02 14:58:18 +02:00
TempdbTests.cs tempdb and version store (8c) 2026-10-02 10:42:38 +02:00
TimeWindowAnalysisTests.cs Explain and assess measurements for the customer 2026-10-02 08:57:10 +02:00
UpdateIntegrationTests.cs Fase 3: signed updates of rule packs and the application 2026-09-29 09:19:41 +00:00
WaitSamplingTests.cs Wait type drill-down with active session sampling 2026-10-02 08:50:31 +02:00
WebApiTests.cs Separate "check by hand" from "not relevant" for version-gated rules 2026-10-02 09:59:50 +02:00
WebSupportTests.cs Support cases through the API: create, read and close 2026-10-02 09:47:58 +02:00
WebTests.cs Rules the version does not support are "not applicable", not "not measurable" 2026-10-01 16:05:39 +02:00