Skip to content

SQL Cover help #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Source/BuildOrder.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
22 changes: 21 additions & 1 deletion Source/Run_Methods.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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;

Expand Down
1,106 changes: 562 additions & 544 deletions Source/Source.ssmssqlproj

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions Source/tSQLt.Private_CleanTemporaryObject.ssp.sql
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions Source/tSQLt.Private_Init.ssp.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
24 changes: 24 additions & 0 deletions Source/tSQLt.SaveTemporaryObjectId.ssp.sql
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions Source/tSQLt.TemporaryObject.tbl.sql
Original file line number Diff line number Diff line change
@@ -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-
15 changes: 15 additions & 0 deletions Tests/Private_CleanTemporaryObjectTests.class.sql
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions Tests/SaveTemporaryObjectIdTests.class.sql
Original file line number Diff line number Diff line change
@@ -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
12 changes: 12 additions & 0 deletions Tests/Tests.ssmssqlproj
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,12 @@
<AssociatedConnUserName />
<FullPath>NewTestClassTests.class.sql</FullPath>
</FileNode>
<FileNode Name="Private_CleanTemporaryObject.class.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>Dev_tSQLt</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>Private_CleanTemporaryObject.class.sql</FullPath>
</FileNode>
<FileNode Name="Private_NullCellTableTests.class.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>Dev_tSQLt</AssociatedConnSrvName>
Expand Down Expand Up @@ -211,6 +217,12 @@
<AssociatedConnUserName />
<FullPath>Run_Methods_Tests.class.sql</FullPath>
</FileNode>
<FileNode Name="SaveTemporaryObjectIdTests.class.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>Dev_tSQLt</AssociatedConnSrvName>
<AssociatedConnUserName />
<FullPath>SaveTemporaryObjectIdTests.class.sql</FullPath>
</FileNode>
<FileNode Name="StubRecordTests.class.sql">
<AssociatedConnectionMoniker>8c91a03d-f9b4-46c0-a305-b5dcc79ff907:Dev_tSQLt:True</AssociatedConnectionMoniker>
<AssociatedConnSrvName>Dev_tSQLt</AssociatedConnSrvName>
Expand Down