sqlinsight-pro/tests/SQLInsight.Agent.Tests
Søren Eggert Lundsteen Olsen 6d755aa3d0
Some checks failed
deploy community / deploy (push) Successful in 1s
deploy hub / deploy (push) Successful in 19s
CI / Build og unit tests (push) Successful in 8s
CI / MSI-installer (push) Successful in 15s
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Has been cancelled
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Has been cancelled
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Has been cancelled
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Has been cancelled
Installer creates the repository database, logins and rights itself
Entering a connection string in the installer is now enough: the new
command `SQLInsight.Agent.exe setup-repository` runs as a deferred custom
action after the services exist and sqlinsight.ini is written, and before
they start. It runs as the installing user on purpose (SQL Server must see
a person with rights, not SYSTEM) and:

- creates the database from Database=... if it is missing
- creates logins/users for the service accounts: agent db_owner, web
  db_datareader. NT SERVICE\... accounts arrive at another computer as
  DOMAIN\COMPUTER$, which then gets the login instead
- runs the schema migrations
- with MONITOR_SERVER: creates the agent's login there and applies
  grant-least-privilege.sql (embedded). A failure there is a warning only

A repository failure stops the installation; the reason goes to the
Application event log with a Danish hint (login, rights, certificate,
unreachable). SKIP_REPOSITORY_SETUP=1 leaves it to a DBA. Safe to rerun.

verify-msi.py allows this one action to impersonate and checks its
placement, Return=check and condition. Tested against a local SQL
Express (twice, idempotent) and with an unreachable server. Version 1.0.1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 08:18:26 +02:00
..
InstallerSettingsTests.cs MSI installer for Agent and Web 2026-09-29 11:31:28 +00:00
MonthlyReportTests.cs Fase 4: management and compliance reports as PDF 2026-09-29 10:09:10 +00:00
RepositorySetupTests.cs Installer creates the repository database, logins and rights itself 2026-10-01 08:18:26 +02:00
SQLInsight.Agent.Tests.csproj Fase 3: findings sync from agent to hub (queue, retry, data minimization) 2026-09-29 08:35:22 +00:00
SubmissionBuilderTests.cs Fase 3: findings sync from agent to hub (queue, retry, data minimization) 2026-09-29 08:35:22 +00:00