Release: V1.0.5873.27393 – 2016-01-31
BUG FIXES
- tSQLt.DropClass now handles already quoted names correctly.
- Fixed error message in tSQLt.FakeTable procedure.
NEW FEATURES
- The tSQLt CLR is now signed with a new key:
Public Key Token = 0x7722217d36028e4c
Public Key = 0x0602000000240000525341310004000001000100F7D9A45F2B508C2887A8794B053CE5DEB28743B7C748FF545F1F51218B684454B785054629C1417D1D3542B095D80BA171294948FCF978A502AA03240C024746B563BC29B4D8DCD6956593C0C425446021D699EF6FB4DC2155DE7E393150AD6617EDC01216EA93FCE5F8F7BE9FF605AD2B8344E8CC01BEDB924ED06FD368D1D0
The password required to sign an assembly with this key is no longer part of the code base. This was necessary to be able to provide a secure method of installing tSQLt not requiring the database to be set to TRUSTWORTHY anymore.
- tSQLt.Info() now returns the public key token of the assembly’s signing key in the CLRSigningKey column.
- tSQLt.RunNew executes all tests in test classes (schemata) that were created with tSQLt.NewTestClass after the last call to tSQLt.Reset was executed.
- tSQLt.InstallExternalAccessKey installs the required objects in the master database to allow tSQLt to execute with EXTERNAL_ACCESS without the database being TRUSTWORTHY.
- tSQLt.RemoveExternalAccessKey removes those objects from the master database.
- tSQLt.EnableExternalAccess can be used to manually enable and disable EXTERNAL_ACCESS.
- tSQLt automatically tries to enable EXTERNAL_ACCESS, each time any “run” method is called. Enabling EXTERNAL_ACCESS is possible when either the database is TRUSTWORTHY and owned by a server principal with EXTERNAL_ACCESS_ASSEMBLY permission, or if tSQLt.InstallExternalAccessKey has been executed before on the server.
This feature establishes backward compatibility, but comes at a performance cost. It might therefore be removed in a future version.
- tSQLt detects at the beginning of each execution, if the requirements to enable EXTERNAL_ACCESS are not any longer fulfilled. If the assembly is still marked as EXTERNAL_ACCESS, the execution is halted immediately, and an error is reported back to the caller.
- tSQLt checks at the beginning of each execution, if the installed assembly’s version matches the version of the T-SQL code. If a mismatch is detected, the execution is immediately halted and an error is reported back to the caller.
- tSQLt.Run now allows a test result formatter to be passed in in the @TestResultFormatter parameter. If that parameter is omitted or NULL, the default result formatter is used.
OTHER
- Cleaned up several procedures and tests.
- Removed extraneous DROP statements from tSQLt install file.
BUG FIXES
- tSQLt.DropClass now handles already quoted names correctly.
- Fixed error message in tSQLt.FakeTable procedure.
NEW FEATURES
- The tSQLt CLR is now signed with a new key:
Public Key Token = 0x7722217d36028e4c Public Key = 0x0602000000240000525341310004000001000100F7D9A45F2B508C2887A8794B053CE5DEB28743B7C748FF545F1F51218B684454B785054629C1417D1D3542B095D80BA171294948FCF978A502AA03240C024746B563BC29B4D8DCD6956593C0C425446021D699EF6FB4DC2155DE7E393150AD6617EDC01216EA93FCE5F8F7BE9FF605AD2B8344E8CC01BEDB924ED06FD368D1D0
The password required to sign an assembly with this key is no longer part of the code base. This was necessary to be able to provide a secure method of installing tSQLt not requiring the database to be set to TRUSTWORTHY anymore.
- tSQLt.Info() now returns the public key token of the assembly’s signing key in the CLRSigningKey column.
- tSQLt.RunNew executes all tests in test classes (schemata) that were created with tSQLt.NewTestClass after the last call to tSQLt.Reset was executed.
- tSQLt.InstallExternalAccessKey installs the required objects in the master database to allow tSQLt to execute with EXTERNAL_ACCESS without the database being TRUSTWORTHY.
- tSQLt.RemoveExternalAccessKey removes those objects from the master database.
- tSQLt.EnableExternalAccess can be used to manually enable and disable EXTERNAL_ACCESS.
- tSQLt automatically tries to enable EXTERNAL_ACCESS, each time any “run” method is called. Enabling EXTERNAL_ACCESS is possible when either the database is TRUSTWORTHY and owned by a server principal with EXTERNAL_ACCESS_ASSEMBLY permission, or if tSQLt.InstallExternalAccessKey has been executed before on the server.
This feature establishes backward compatibility, but comes at a performance cost. It might therefore be removed in a future version. - tSQLt detects at the beginning of each execution, if the requirements to enable EXTERNAL_ACCESS are not any longer fulfilled. If the assembly is still marked as EXTERNAL_ACCESS, the execution is halted immediately, and an error is reported back to the caller.
- tSQLt checks at the beginning of each execution, if the installed assembly’s version matches the version of the T-SQL code. If a mismatch is detected, the execution is immediately halted and an error is reported back to the caller.
- tSQLt.Run now allows a test result formatter to be passed in in the @TestResultFormatter parameter. If that parameter is omitted or NULL, the default result formatter is used.
OTHER
- Cleaned up several procedures and tests.
- Removed extraneous DROP statements from tSQLt install file.