forked from tSQLt-org/tSQLt
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDropClassTests.class.sql
More file actions
111 lines (86 loc) · 2.75 KB
/
DropClassTests.class.sql
File metadata and controls
111 lines (86 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
EXEC tSQLt.NewTestClass 'DropClassTests';
GO
CREATE PROC DropClassTests.test_dropClass_does_not_error_if_testcase_name_contains_spaces
AS
BEGIN
DECLARE @ErrorRaised INT; SET @ErrorRaised = 0;
EXEC('CREATE SCHEMA MyTestClass;');
EXEC('CREATE PROC MyTestClass.[Test Case A ] AS RETURN 0;');
BEGIN TRY
EXEC tSQLt.DropClass 'MyTestClass';
END TRY
BEGIN CATCH
SET @ErrorRaised = 1;
END CATCH
EXEC tSQLt.AssertEquals 0,@ErrorRaised,'Unexpected error during execution of DropClass'
IF(SCHEMA_ID('MyTestClass') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop MyTestClass';
END
END;
GO
CREATE PROC DropClassTests.[test removes UDDTs]
AS
BEGIN
EXEC('CREATE SCHEMA MyTestClass;');
EXEC('CREATE TYPE MyTestClass.UDT FROM INT;');
EXEC tSQLt.ExpectNoException;
EXEC tSQLt.DropClass 'MyTestClass';
IF(SCHEMA_ID('MyTestClass') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop MyTestClass';
END
END;
GO
CREATE PROC DropClassTests.[test removes UDDTs after tables]
AS
BEGIN
EXEC('CREATE SCHEMA MyTestClass;');
EXEC('CREATE TYPE MyTestClass.UDT FROM INT;');
EXEC('CREATE TABLE MyTestClass.tbl(i MyTestClass.UDT);');
EXEC tSQLt.ExpectNoException;
EXEC tSQLt.DropClass 'MyTestClass';
IF(SCHEMA_ID('MyTestClass') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop MyTestClass';
END
END;
GO
CREATE PROC DropClassTests.[test removes XML Schemata]
AS
BEGIN
EXEC('CREATE SCHEMA MyTestClass;');
EXEC('CREATE XML SCHEMA COLLECTION MyTestClass.TestXMLSchema
AS''<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="testelement" /></xsd:schema>'';');
EXEC tSQLt.ExpectNoException;
EXEC tSQLt.DropClass 'MyTestClass';
IF(SCHEMA_ID('MyTestClass') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop MyTestClass';
END
END;
GO
CREATE PROC DropClassTests.[test removes class with spaces in name]
AS
BEGIN
EXEC('CREATE SCHEMA [My Test Class];');
EXEC tSQLt.ExpectNoException;
EXEC tSQLt.DropClass 'My Test Class';
IF(SCHEMA_ID('My Test Class') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop [My Test Class]';
END
END;
GO
CREATE PROC DropClassTests.[test removes class if name is passed quoted]
AS
BEGIN
EXEC('CREATE SCHEMA [My Test Class];');
EXEC tSQLt.ExpectNoException;
EXEC tSQLt.DropClass '[My Test Class]';
IF(SCHEMA_ID('My Test Class') IS NOT NULL)
BEGIN
EXEC tSQLt.Fail 'DropClass did not drop [My Test Class]';
END
END;
GO