@@ -23,6 +23,7 @@ public static void SetUpOnce()
2323 }
2424
2525 [ Test ]
26+ [ SetCulture ( "en-US" ) ] // because exception messages are localized
2627 public void Invoke_Default ( )
2728 {
2829 var ( output , exception ) = Execute (
@@ -31,10 +32,23 @@ public void Invoke_Default()
3132 """
3233 ) ;
3334
34- exception . ShouldBeNull ( ) ;
35+ if ( OperatingSystem . IsWindows ( ) )
36+ {
37+ exception . ShouldBeNull ( ) ;
3538
36- output . ShouldHaveSingleItem ( ) . ShouldNotBeNull ( )
37- . BaseObject . ShouldBe ( new PSInformation ( "a" ) ) ;
39+ output . ShouldHaveSingleItem ( ) . ShouldNotBeNull ( )
40+ . BaseObject . ShouldBe ( new PSInformation ( "a" ) ) ;
41+ }
42+ else
43+ {
44+ // Integrated authentication on non-Windows systems uses Kerberos,
45+ // which looks nontrivial to configure. Instead, jsut check for
46+ // the expected error: "Cannot authenticate using Kerberos"
47+
48+ exception . ShouldNotBeNull ( ) ;
49+ exception . GetType ( ) . FullName . ShouldBe ( "Microsoft.Data.SqlClient.SqlException" ) ;
50+ exception . Message . ShouldContain ( "Cannot authenticate using Kerberos." ) ;
51+ }
3852 }
3953
4054 [ Test ]
@@ -57,7 +71,7 @@ public void Invoke_Connection()
5771 {
5872 var ( output , exception ) = Execute (
5973 """
60- $Connection = PSql\Connect-Sql
74+ $Connection = PSql\Connect-Sql -Context $Context
6175 try {
6276 PSql\Invoke-Sql -Connection $Connection "PRINT 'a';"
6377 }
@@ -1148,7 +1162,7 @@ function Invoke-Sql { PSql\Invoke-Sql -Context $Context @args }
11481162 {
11491163 return
11501164 """
1151- $Context = New-SqlContext -Credential $Credential
1165+ $Context = New-SqlContext
11521166 function Invoke-Sql { PSql\Invoke-Sql -Context $Context @args }
11531167 """ ;
11541168 }
0 commit comments