diff --git a/Source/BuildOrder.txt b/Source/BuildOrder.txt index fb97a1066..1341d9b77 100644 --- a/Source/BuildOrder.txt +++ b/Source/BuildOrder.txt @@ -31,7 +31,10 @@ tSQLt.Private_RenameObjectToUniqueNameUsingObjectId.ssp.sql tSQLt.RemoveObject.ssp.sql tSQLt.RemoveObjectIfExists.ssp.sql tSQLt.Private_CleanTestResult.ssp.sql +tSQLt.Private_CleanTemporaryObject.ssp.sql tSQLt.Private_Init.ssp.sql +tSQLt.TemporaryObject.tbl.sql +tSQLt.SaveTemporaryObjectId.ssp.sql Run_Methods.sql tSQLt.ExpectException.ssp.sql tSQLt.ExpectNoException.ssp.sql @@ -78,4 +81,4 @@ tSQLt.AssertEqualsTableSchema.ssp.sql tSQLt.AssertStringTable.udt.sql tSQLt.AssertStringIn.ssp.sql tSQLt.Reset.ssp.sql -tSQLt._Footer.sql +tSQLt._Footer.sql \ No newline at end of file diff --git a/Source/Run_Methods.sql b/Source/Run_Methods.sql index f11f1b489..ea8b04bed 100644 --- a/Source/Run_Methods.sql +++ b/Source/Run_Methods.sql @@ -49,6 +49,9 @@ BEGIN DECLARE @TranName CHAR(32); EXEC tSQLt.GetNewTranName @TranName OUT; DECLARE @TestResultId INT; DECLARE @PreExecTrancount INT; + DECLARE @TempObjectId INT; + DECLARE @OrgObjectId INT; + DECLARE @FullObjectName NVARCHAR(MAX); DECLARE @VerboseMsg NVARCHAR(MAX); DECLARE @Verbose BIT; @@ -193,6 +196,18 @@ BEGIN END; END CATCH + SELECT @FullObjectName = QUOTENAME(SCHEMA_NAME(O3.schema_id))+'.'+QUOTENAME(O3.name), + @TempObjectId = O5.object_id, + @OrgObjectId = O4.object_id + FROM tSQLt.Private_RenamedObjectLog AS PROL + INNER JOIN sys.objects AS O ON O.object_id = PROL.ObjectId + INNER JOIN sys.schemas AS S ON S.schema_id = O.schema_id + INNER JOIN sys.objects AS O2 ON QUOTENAME(O2.name) = PROL.OriginalName AND O2.schema_id = S.schema_id + INNER JOIN sys.objects AS O5 ON O5.parent_object_id = O2.object_id + INNER JOIN sys.objects AS O3 ON O3.object_id = O5.object_id + INNER JOIN sys.objects AS O4 ON O4.parent_object_id = PROL.ObjectId + WHERE O4.type = 'TR'; + BEGIN TRY ROLLBACK TRAN @TranName; END TRY @@ -233,7 +248,12 @@ BEGIN 'Error', 'TestResult entry is missing; Original outcome: ' + @Result + ', ' + @Msg; END - + + IF @TempObjectId IS NOT NULL + AND @FullObjectName NOT LIKE '%tSQLt_tempobject_%' + BEGIN + EXEC tSQLt.SaveTemporaryObjectId @TempObjectId, @OrgObjectId; + END COMMIT; diff --git a/Source/Source.ssmssqlproj b/Source/Source.ssmssqlproj index 01b2d9a4d..47edc5fa7 100644 --- a/Source/Source.ssmssqlproj +++ b/Source/Source.ssmssqlproj @@ -1,545 +1,563 @@ - - - - - - - 2015-07-26T23:07:57.2567069-04:00 - SQL - Dev_2005 - - Windows Authentication - tempdb - 15 - 0 - NotSpecified - Microsoft SQL Server Management Studio - Query - - - 2014-07-30T13:44:05.3611369-04:00 - SQL - Dev_tSQLt - - Windows Authentication - tSQLt_dev - 15 - 0 - NotSpecified - Microsoft SQL Server Management Studio - Query - - - - - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - ApplyConstraint_Methods.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - InWork.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - Run_Methods.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - SetClrEnabled.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt._Footer.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.ApplyTrigger.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertEmptyTable.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertEqualsString.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertEqualsTable.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertEqualsTableSchema.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertEqualsTableSchema.tables.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - sqlity.net - tSQLt.AssertLike.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertNotEquals.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - sqlity.net - tSQLt.AssertObjectDoesNotExist.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertObjectExists.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertStringIn.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.AssertStringTable.udt.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.CaptureOutputLog.tbl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.DropClass.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.EnableExternalAccess.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.ExpectException.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.ExpectNoException.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - sqlity.net - tSQLt.Fail.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.FakeFunction.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.FakeTable.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Info.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.InstallExternalAccessKey.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.LogCapturedOutput.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.NewTestClass.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_Bin2Hex.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CleanTestResult.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CompareTables.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CompareTablesFailIfUnequalRowsExists.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_Configurations.tbl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CreateFakeFunction.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CreateProcedureSpy.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CreateResultTableForCompareTables.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_DisallowOverwritingNonTestSchema.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetCommaSeparatedColumnList.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetConfiguration.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetDataTypeOrComputedColumnDefinition.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetDefaultConstraintDefinition.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetExternalAccessKeyBytes.mdl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetForeignKeyDefinition.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetUniqueConstraintDefinition.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_Init.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_MarkSchemaAsTestClass.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_NewTestClassList.tbl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_NullCellTable.tbl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_QuoteClassNameForNewTestClass.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_RemoveSchemaBinding.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_RemoveSchemaBoundReferences.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_RenamedObjectLog.tbl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_MarkObjectBeforeRename.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_RenameObjectToUniqueName.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetIdentityDefinition.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_CreateFakeOfTable.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_GetFullTypeName.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_MarkFakeTable.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_RenameObjectToUniqueNameUsingObjectId.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_ResetNewTestClassList.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_ScriptIndex.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_SetConfiguration.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_SqlVariantFormatter.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_SqlVersion.sfn.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_SysIndexes.svw.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_SysTypes.svw.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_ValidateFakeTableParameters.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_ValidateObjectsCompatibleWithFakeFunction.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Private_ValidateThatAllDataTypesInTableAreSupported.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.RemoveExternalAccessKey.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.RemoveObject.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.RemoveObjectIfExists.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.RenameClass.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.Reset.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.SetVerbose.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.SpyProcedure.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.StubRecord.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.TableToText.ssp.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt._Header.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLt.class.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLtCLR.mdl.sql - - - 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True - Dev_tSQLt - - tSQLtCLR_CreateProcs.sql - - - - - - - - - - BuildOrder.txt - - - - + + + + + + + 2015-07-26T23:07:57.2567069-04:00 + SQL + Dev_2005 + + Windows Authentication + tempdb + 15 + 0 + NotSpecified + Microsoft SQL Server Management Studio - Query + + + 2014-07-30T13:44:05.3611369-04:00 + SQL + Dev_tSQLt + + Windows Authentication + tSQLt_dev + 15 + 0 + NotSpecified + Microsoft SQL Server Management Studio - Query + + + + + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + ApplyConstraint_Methods.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + InWork.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + Run_Methods.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + SetClrEnabled.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt._Footer.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.ApplyTrigger.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertEmptyTable.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertEqualsString.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertEqualsTable.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertEqualsTableSchema.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertEqualsTableSchema.tables.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + sqlity.net + tSQLt.AssertLike.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertNotEquals.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + sqlity.net + tSQLt.AssertObjectDoesNotExist.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertObjectExists.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertStringIn.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.AssertStringTable.udt.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.CaptureOutputLog.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.DropClass.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.EnableExternalAccess.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.ExpectException.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.ExpectNoException.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + sqlity.net + tSQLt.Fail.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.FakeFunction.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.FakeTable.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Info.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.InstallExternalAccessKey.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.LogCapturedOutput.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.NewTestClass.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_Bin2Hex.sfn.sql + + + + + + tSQLt.Private_CleanTemporaryObject.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CleanTestResult.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CompareTables.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CompareTablesFailIfUnequalRowsExists.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_Configurations.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CreateFakeFunction.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CreateProcedureSpy.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CreateResultTableForCompareTables.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_DisallowOverwritingNonTestSchema.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetCommaSeparatedColumnList.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetConfiguration.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetDataTypeOrComputedColumnDefinition.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetDefaultConstraintDefinition.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetExternalAccessKeyBytes.mdl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetForeignKeyDefinition.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetUniqueConstraintDefinition.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_Init.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_MarkSchemaAsTestClass.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_NewTestClassList.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_NullCellTable.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_QuoteClassNameForNewTestClass.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_RemoveSchemaBinding.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_RemoveSchemaBoundReferences.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_RenamedObjectLog.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_MarkObjectBeforeRename.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_RenameObjectToUniqueName.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetIdentityDefinition.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_CreateFakeOfTable.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_GetFullTypeName.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_MarkFakeTable.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_RenameObjectToUniqueNameUsingObjectId.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_ResetNewTestClassList.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_ScriptIndex.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_SetConfiguration.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_SqlVariantFormatter.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_SqlVersion.sfn.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_SysIndexes.svw.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_SysTypes.svw.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_ValidateFakeTableParameters.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_ValidateObjectsCompatibleWithFakeFunction.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Private_ValidateThatAllDataTypesInTableAreSupported.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.RemoveExternalAccessKey.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.RemoveObject.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.RemoveObjectIfExists.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.RenameClass.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.Reset.ssp.sql + + + + + + tSQLt.SaveTemporaryObjectId.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.SetVerbose.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.SpyProcedure.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.StubRecord.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.TableToText.ssp.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.TemporaryObject.tbl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt._Header.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLt.class.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLtCLR.mdl.sql + + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + tSQLtCLR_CreateProcs.sql + + + + + + + + + + BuildOrder.txt + + + + \ No newline at end of file diff --git a/Source/tSQLt.Private_CleanTemporaryObject.ssp.sql b/Source/tSQLt.Private_CleanTemporaryObject.ssp.sql new file mode 100644 index 000000000..e28c1730c --- /dev/null +++ b/Source/tSQLt.Private_CleanTemporaryObject.ssp.sql @@ -0,0 +1,10 @@ +IF OBJECT_ID('tSQLt.Private_CleanTemporaryObject') IS NOT NULL DROP PROCEDURE tSQLt.Private_CleanTemporaryObject; +GO +---Build+ +CREATE PROCEDURE tSQLt.Private_CleanTemporaryObject +AS +BEGIN + DELETE FROM tSQLt.TemporaryObject; +END +---Build- +GO \ No newline at end of file diff --git a/Source/tSQLt.Private_Init.ssp.sql b/Source/tSQLt.Private_Init.ssp.sql index 2c247541f..369660b70 100644 --- a/Source/tSQLt.Private_Init.ssp.sql +++ b/Source/tSQLt.Private_Init.ssp.sql @@ -6,6 +6,7 @@ CREATE PROCEDURE tSQLt.Private_Init AS BEGIN EXEC tSQLt.Private_CleanTestResult; + EXEC tSQLt.Private_CleanTemporaryObject; DECLARE @enable BIT; SET @enable = 1; DECLARE @version_match BIT;SET @version_match = 0; diff --git a/Source/tSQLt.SaveTemporaryObjectId.ssp.sql b/Source/tSQLt.SaveTemporaryObjectId.ssp.sql new file mode 100644 index 000000000..e15aed452 --- /dev/null +++ b/Source/tSQLt.SaveTemporaryObjectId.ssp.sql @@ -0,0 +1,24 @@ +IF OBJECT_ID('tSQLt.SaveTemporaryObjectId') IS NOT NULL DROP PROCEDURE tSQLt.SaveTemporaryObjectId; +GO +---Build+ +CREATE PROCEDURE tSQLt.SaveTemporaryObjectId + @TempObjectId INT + ,@OrgObjectId INT +AS +BEGIN + IF NOT EXISTS (SELECT * FROM tSQLt.TemporaryObject WHERE TempObjectId = @TempObjectId) + BEGIN + INSERT INTO tSQLt.TemporaryObject + ( + TempObjectId + ,OrgObjectId + ) + VALUES + ( + @TempObjectId + ,@OrgObjectId + ); + END +END +---Build- +GO \ No newline at end of file diff --git a/Source/tSQLt.TemporaryObject.tbl.sql b/Source/tSQLt.TemporaryObject.tbl.sql new file mode 100644 index 000000000..906cb9967 --- /dev/null +++ b/Source/tSQLt.TemporaryObject.tbl.sql @@ -0,0 +1,8 @@ +IF OBJECT_ID('tSQLt.TemporaryObject') IS NOT NULL DROP TABLE tSQLt.TemporaryObject; +---Build+ +CREATE TABLE tSQLt.TemporaryObject +( + TempObjectId INT + ,OrgObjectId INT +); +---Build- \ No newline at end of file diff --git a/Tests/Private_CleanTemporaryObjectTests.class.sql b/Tests/Private_CleanTemporaryObjectTests.class.sql new file mode 100644 index 000000000..ee09f37b0 --- /dev/null +++ b/Tests/Private_CleanTemporaryObjectTests.class.sql @@ -0,0 +1,15 @@ +EXEC tSQLt.NewTestClass 'Private_CleanTemporaryObjectTests'; +GO +CREATE PROC Private_CleanTemporaryObjectTests.[test all TemporaryObject data is removed] +AS +BEGIN + EXEC tSQLt.FakeTable @Tablename = N'tSQLt.Private_CleanTemporaryObject'; + + INSERT INTO tSQLt.Private_CleanTemporaryObject (TempObjectId, OrgObjectId) + VALUES (1,1),(2,2); + + EXEC tSQLt.Private_CleanTemporaryObject; + + EXEC tSQLt.AssertEmptyTable @TableName = N'tSQLt.Private_CleanTemporaryObject'; +END; +GO \ No newline at end of file diff --git a/Tests/SaveTemporaryObjectIdTests.class.sql b/Tests/SaveTemporaryObjectIdTests.class.sql new file mode 100644 index 000000000..e565e1d18 --- /dev/null +++ b/Tests/SaveTemporaryObjectIdTests.class.sql @@ -0,0 +1,19 @@ +EXEC tSQLt.NewTestClass 'SaveTemporaryObjectIdTests'; +GO +CREATE PROC SaveTemporaryObjectIdTests.[test row is inserted if it does not exist] +AS +BEGIN + EXEC tSQLt.FakeTable @TableName = N'tSQLt.TemporaryObject'; + + CREATE TABLE #Expected (TempObjectId INT, OrgObjectId INT); + CREATE TABLE #Actual (TempObjectId INT, OrgObjectId INT); + + INSERT INTO #Expected ( TempObjectId ,OrgObjectId ) + VALUES ( 1, 1); + + EXEC tSQLt.SaveTemporaryObjectId @TempObjectId = 1, @OrgObjectId = 1; + + EXEC tSQLt.AssertEqualsTable @Expected = '#Expected', @Actual = '#Actual'; + +END; +GO \ No newline at end of file diff --git a/Tests/Tests.ssmssqlproj b/Tests/Tests.ssmssqlproj index fbd9eac4f..0a36423c4 100644 --- a/Tests/Tests.ssmssqlproj +++ b/Tests/Tests.ssmssqlproj @@ -145,6 +145,12 @@ NewTestClassTests.class.sql + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + Private_CleanTemporaryObject.class.sql + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True Dev_tSQLt @@ -211,6 +217,12 @@ Run_Methods_Tests.class.sql + + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True + Dev_tSQLt + + SaveTemporaryObjectIdTests.class.sql + 8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True Dev_tSQLt