forked from dataplat/dbatools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathConnect-DbaInstance.Tests.ps1
56 lines (46 loc) · 2 KB
/
Connect-DbaInstance.Tests.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
$commandname = $MyInvocation.MyCommand.Name.Replace(".Tests.ps1", "")
Write-Host -Object "Running $PSCommandpath" -ForegroundColor Cyan
. "$PSScriptRoot\constants.ps1"
Describe "$commandname Integration Tests" -Tags "IntegrationTests" {
Context "connection is properly made" {
$server = Connect-DbaInstance -SqlInstance $script:instance1 -ApplicationIntent ReadOnly
It "returns the proper name" {
$server.Name -eq $script:instance1 | Should Be $true
}
It "returns more than one database" {
$server.Databases.Name.Count -gt 0 | Should Be $true
}
It "returns the connection with ApplicationIntent of ReadOnly" {
$server.ConnectionContext.ConnectionString -match "ApplicationIntent=ReadOnly" | Should Be $true
}
It "sets StatementTimeout to 0" {
$server = Connect-DbaInstance -SqlInstance $script:instance1 -StatementTimeout 0
$server.ConnectionContext.StatementTimeout | Should Be 0
}
It "sets connectioncontext parameters that are provided" {
$params = @{
'BatchSeparator' = 'GO'
'ConnectTimeout' = 1
'Database' = 'master'
'LockTimeout' = 1
'MaxPoolSize' = 20
'MinPoolSize' = 1
'NetworkProtocol' = 'TcpIp'
'PacketSize' = 4096
'PooledConnectionLifetime' = 600
'WorkstationId' = 'MadeUpServer'
'SqlExecutionModes' = 'ExecuteSql'
'StatementTimeout' = 0
}
$server = Connect-DbaInstance -SqlInstance $script:instance1 @params
foreach ($param in $params.GetEnumerator()) {
if ($param.Key -eq 'Database') {
$propName = 'DatabaseName'
} else {
$propName = $param.Key
}
$server.ConnectionContext.$propName | Should Be $param.Value
}
}
}
}