File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111
1212 BEGIN TRAN ;
1313 DELETE FROM tSQLt .Private_RenamedObjectLog OUTPUT Deleted.* INTO #RenamedObjects;
14- WITH L AS
14+ WITH LL AS
1515 (
1616 SELECT
1717 ROL .Id ,
@@ -20,13 +20,27 @@ BEGIN
2020 ROL .ObjectId ,
2121 OBJECT_SCHEMA_NAME (ROL .ObjectId ) SchemaName,
2222 OBJECT_NAME (ROL .ObjectId ) CurrentName,
23- PARSENAME (ROL .OriginalName ,1 ) OriginalName,
24- O .type ObjectType
23+ PARSENAME (ROL .OriginalName ,1 ) OriginalName
2524 FROM #RenamedObjects ROL
2625 JOIN sys .objects O
2726 ON ROL .ObjectId = O .object_id
2827 LEFT JOIN #RenamedObjects ParentROL
2928 ON O .parent_object_id = ParentROL .ObjectId
29+ ),
30+ L AS
31+ (
32+ SELECT
33+ LL .Id ,
34+ LL .ParentId ,
35+ LL .SortId ,
36+ LL .ObjectId ,
37+ LL .SchemaName ,
38+ LL .CurrentName ,
39+ LL .OriginalName ,
40+ FakeO .type ObjectType
41+ FROM LL
42+ JOIN sys .objects FakeO
43+ ON FakeO .object_id = OBJECT_ID (QUOTENAME (LL .SchemaName )+ ' .'+ QUOTENAME (LL .OriginalName ))
3044 )
3145 SELECT @cmd =
3246 (
Original file line number Diff line number Diff line change @@ -215,12 +215,40 @@ BEGIN
215215 EXEC tSQLt .AssertEmptyTable @TableName = ' tSQLt.Private_RenamedObjectLog' ;
216216END ;
217217GO
218+ CREATE PROCEDURE UndoTestDoublesTests.[test restores a faked stored procedure]
219+ AS
220+ BEGIN
221+ EXEC (' CREATE PROCEDURE UndoTestDoublesTests.aSimpleSSP @Id INT AS RETURN;' );
222+ DECLARE @OriginalObjectId INT = OBJECT_ID (' UndoTestDoublesTests.aSimpleSSP' );
223+ EXEC tSQLt .SpyProcedure @ProcedureName = ' UndoTestDoublesTests.aSimpleSSP' ;
224+
225+ EXEC tSQLt .UndoTestDoubles ;
226+
227+ DECLARE @RestoredObjectId INT = OBJECT_ID (' UndoTestDoublesTests.aSimpleSSP' );
228+ EXEC tSQLt .AssertEquals @Expected = @OriginalObjectId, @Actual = @RestoredObjectId;
229+
230+ END ;
231+ GO
232+ CREATE PROCEDURE UndoTestDoublesTests.[test restores a faked view]
233+ AS
234+ BEGIN
235+ EXEC (' CREATE VIEW UndoTestDoublesTests.aSimpleView AS SELECT NULL X;' );
236+ DECLARE @OriginalObjectId INT = OBJECT_ID (' UndoTestDoublesTests.aSimpleView' );
237+ EXEC tSQLt .FakeTable @TableName = ' UndoTestDoublesTests.aSimpleView' ;
238+
239+ EXEC tSQLt .UndoTestDoubles ;
240+
241+ DECLARE @RestoredObjectId INT = OBJECT_ID (' UndoTestDoublesTests.aSimpleView' );
242+ EXEC tSQLt .AssertEquals @Expected = @OriginalObjectId, @Actual = @RestoredObjectId;
243+
244+ END ;
245+ GO
218246
219247/* --
220248TODO
221- - stored procedures
222- - views
223249- functions
224250- rename object to unique name
251+ -- no replacement
252+ -- random replacement
225253
226254--*/
You can’t perform that action at this time.
0 commit comments