Files
microsoft--semantic-kernel/dotnet/test/VectorData/SqlServer.ConformanceTests/README.md
T
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

53 lines
1.8 KiB
Markdown

# SQL Server Vector Store Conformance Tests
This project contains conformance tests for the SQL Server Vector Store implementation.
## Running the Tests
By default, the tests will automatically use a testcontainer to spin up a SQL Server instance. Docker must be running on your machine for this to work.
### Using an External SQL Server Instance
If you want to run the tests against an external SQL Server instance (e.g., Azure SQL, a local SQL Server, or any other instance), you can provide a connection string through one of the following methods:
#### Option 1: Environment Variable
Set the `SqlServer__ConnectionString` environment variable:
```bash
# Bash/Linux/macOS
export SqlServer__ConnectionString="Server=myserver.database.windows.net;Database=mydb;User Id=myuser;Password=mypassword;"
# PowerShell
$env:SqlServer__ConnectionString = "Server=myserver.database.windows.net;Database=mydb;User Id=myuser;Password=mypassword;"
```
#### Option 2: Configuration File
Create a `testsettings.development.json` file in this directory with the following content:
```json
{
"SqlServer": {
"ConnectionString": "Server=myserver.database.windows.net;Database=mydb;User Id=myuser;Password=mypassword;"
}
}
```
This file is git-ignored and safe for local development.
#### Option 3: User Secrets
```bash
cd test/VectorData/SqlServer.ConformanceTests
dotnet user-secrets set "SqlServer:ConnectionString" "Server=myserver.database.windows.net;Database=mydb;User Id=myuser;Password=mypassword;"
```
## Benefits of Using an External Instance
Using an external SQL Server instance can be beneficial when:
- You want to avoid the overhead of spinning up Docker containers
- You need to test against Azure SQL specifically
- You want faster test execution (no container startup time)
- You're running tests in an environment where Docker is not available