@@ -14,59 +14,59 @@ class TestDDLCompiler(object):
14
14
def compiler (self ):
15
15
compiler = RedShiftDDLCompiler (RedshiftDialect (), None )
16
16
return compiler
17
-
17
+
18
18
def _compare_strings (self , expected , actual ):
19
19
assert expected is not None , "Expected was None"
20
20
assert actual is not None , "Actual was None"
21
-
21
+
22
22
a = [ (c , c .encode ('hex' )) if c is not None else None for c in expected ]
23
23
b = [ (c , c .encode ('hex' )) if c is not None else None for c in actual ]
24
24
return u"-expected, +actual\n " + u"\n " .join (difflib .ndiff (a , b ))
25
-
25
+
26
26
27
27
def test_create_table_simple (self , compiler ):
28
-
29
- table = Table ('t1' ,
30
- MetaData (),
31
- Column ('id' , Integer , primary_key = True ),
28
+
29
+ table = Table ('t1' ,
30
+ MetaData (),
31
+ Column ('id' , Integer , primary_key = True ),
32
32
Column ('name' , String ))
33
-
34
-
33
+
34
+
35
35
create_table = CreateTable (table )
36
36
actual = compiler .process (create_table )
37
37
expected = u"\n CREATE TABLE t1 (" \
38
38
u"\n \t id INTEGER NOT NULL, " \
39
39
u"\n \t name VARCHAR, " \
40
40
u"\n \t PRIMARY KEY (id)\n )\n \n "
41
41
assert expected == actual , self ._compare_strings (expected , actual )
42
-
42
+
43
43
def test_create_table_with_diststyle (self , compiler ):
44
-
45
- table = Table ('t1' ,
46
- MetaData (),
47
- Column ('id' , Integer , primary_key = True ),
44
+
45
+ table = Table ('t1' ,
46
+ MetaData (),
47
+ Column ('id' , Integer , primary_key = True ),
48
48
Column ('name' , String ),
49
49
redshift_diststyle = "EVEN" )
50
-
51
-
50
+
51
+
52
52
create_table = CreateTable (table )
53
53
actual = compiler .process (create_table )
54
54
expected = u"\n CREATE TABLE t1 (" \
55
55
u"\n \t id INTEGER NOT NULL, " \
56
56
u"\n \t name VARCHAR, " \
57
57
u"\n \t PRIMARY KEY (id)\n ) " \
58
58
u"DISTSTYLE EVEN\n \n "
59
- assert expected == actual , self ._compare_strings (expected , actual )
60
-
59
+ assert expected == actual , self ._compare_strings (expected , actual )
60
+
61
61
def test_invalid_diststyle (self , compiler ):
62
-
63
- table = Table ('t1' ,
64
- MetaData (),
65
- Column ('id' , Integer , primary_key = True ),
62
+
63
+ table = Table ('t1' ,
64
+ MetaData (),
65
+ Column ('id' , Integer , primary_key = True ),
66
66
Column ('name' , String ),
67
67
redshift_diststyle = "NOTEVEN" )
68
-
69
-
68
+
69
+
70
70
create_table = CreateTable (table )
71
71
try :
72
72
compiler .process (create_table )
@@ -76,124 +76,124 @@ def test_invalid_diststyle(self, compiler):
76
76
assert False , "Error expected"
77
77
78
78
def test_create_table_with_distkey (self , compiler ):
79
-
80
- table = Table ('t1' ,
81
- MetaData (),
82
- Column ('id' , Integer , primary_key = True ),
79
+
80
+ table = Table ('t1' ,
81
+ MetaData (),
82
+ Column ('id' , Integer , primary_key = True ),
83
83
Column ('name' , String ),
84
84
redshift_distkey = "id" )
85
-
86
-
85
+
86
+
87
87
create_table = CreateTable (table )
88
88
actual = compiler .process (create_table )
89
89
expected = u"\n CREATE TABLE t1 (" \
90
90
u"\n \t id INTEGER NOT NULL, " \
91
91
u"\n \t name VARCHAR, " \
92
92
u"\n \t PRIMARY KEY (id)\n ) " \
93
93
u"DISTKEY (id)\n \n "
94
- assert expected == actual , self ._compare_strings (expected , actual )
94
+ assert expected == actual , self ._compare_strings (expected , actual )
95
95
96
96
def test_create_table_with_sortkey (self , compiler ):
97
-
98
- table = Table ('t1' ,
99
- MetaData (),
100
- Column ('id' , Integer , primary_key = True ),
97
+
98
+ table = Table ('t1' ,
99
+ MetaData (),
100
+ Column ('id' , Integer , primary_key = True ),
101
101
Column ('name' , String ),
102
102
redshift_sortkey = "id" )
103
-
104
-
103
+
104
+
105
105
create_table = CreateTable (table )
106
106
actual = compiler .process (create_table )
107
107
expected = u"\n CREATE TABLE t1 (" \
108
108
u"\n \t id INTEGER NOT NULL, " \
109
109
u"\n \t name VARCHAR, " \
110
110
u"\n \t PRIMARY KEY (id)\n ) " \
111
111
u"SORTKEY (id)\n \n "
112
- assert expected == actual , self ._compare_strings (expected , actual )
112
+ assert expected == actual , self ._compare_strings (expected , actual )
113
113
114
114
def test_create_table_with_multiple_sortkeys (self , compiler ):
115
-
116
- table = Table ('t1' ,
117
- MetaData (),
118
- Column ('id' , Integer , primary_key = True ),
115
+
116
+ table = Table ('t1' ,
117
+ MetaData (),
118
+ Column ('id' , Integer , primary_key = True ),
119
119
Column ('name' , String ),
120
120
redshift_sortkey = ["id" , "name" ])
121
-
122
-
121
+
122
+
123
123
create_table = CreateTable (table )
124
124
actual = compiler .process (create_table )
125
125
expected = u"\n CREATE TABLE t1 (" \
126
126
u"\n \t id INTEGER NOT NULL, " \
127
127
u"\n \t name VARCHAR, " \
128
128
u"\n \t PRIMARY KEY (id)\n ) " \
129
129
u"SORTKEY (id, name)\n \n "
130
- assert expected == actual , self ._compare_strings (expected , actual )
131
-
130
+ assert expected == actual , self ._compare_strings (expected , actual )
131
+
132
132
def test_create_table_all_together (self , compiler ):
133
- table = Table ('t1' ,
134
- MetaData (),
135
- Column ('id' , Integer , primary_key = True ),
133
+ table = Table ('t1' ,
134
+ MetaData (),
135
+ Column ('id' , Integer , primary_key = True ),
136
136
Column ('name' , String ),
137
137
redshift_diststyle = "KEY" ,
138
138
redshift_distkey = "id" ,
139
139
redshift_sortkey = ["id" , "name" ])
140
-
140
+
141
141
create_table = CreateTable (table )
142
142
actual = compiler .process (create_table )
143
143
expected = u"\n CREATE TABLE t1 (" \
144
144
u"\n \t id INTEGER NOT NULL, " \
145
145
u"\n \t name VARCHAR, " \
146
146
u"\n \t PRIMARY KEY (id)\n ) " \
147
147
u"DISTSTYLE KEY DISTKEY (id) SORTKEY (id, name)\n \n "
148
- assert expected == actual , self ._compare_strings (expected , actual )
149
-
148
+ assert expected == actual , self ._compare_strings (expected , actual )
149
+
150
150
def test_create_column_with_sortkey (self , compiler ):
151
- table = Table ('t1' ,
152
- MetaData (),
153
- Column ('id' , Integer , primary_key = True ,
154
- info = dict (sortkey = True )),
151
+ table = Table ('t1' ,
152
+ MetaData (),
153
+ Column ('id' , Integer , primary_key = True ,
154
+ info = dict (sortkey = True )),
155
155
Column ('name' , String )
156
156
)
157
-
158
-
157
+
158
+
159
159
create_table = CreateTable (table )
160
160
actual = compiler .process (create_table )
161
161
expected = u"\n CREATE TABLE t1 (" \
162
162
u"\n \t id INTEGER SORTKEY NOT NULL, " \
163
163
u"\n \t name VARCHAR, " \
164
164
u"\n \t PRIMARY KEY (id)\n )\n \n "
165
- assert expected == actual , self ._compare_strings (expected , actual )
165
+ assert expected == actual , self ._compare_strings (expected , actual )
166
166
167
167
def test_create_column_with_distkey (self , compiler ):
168
- table = Table ('t1' ,
169
- MetaData (),
170
- Column ('id' , Integer , primary_key = True ,
171
- info = dict (distkey = True )),
168
+ table = Table ('t1' ,
169
+ MetaData (),
170
+ Column ('id' , Integer , primary_key = True ,
171
+ info = dict (distkey = True )),
172
172
Column ('name' , String )
173
173
)
174
-
175
-
174
+
175
+
176
176
create_table = CreateTable (table )
177
177
actual = compiler .process (create_table )
178
178
expected = u"\n CREATE TABLE t1 (" \
179
179
u"\n \t id INTEGER DISTKEY NOT NULL, " \
180
180
u"\n \t name VARCHAR, " \
181
181
u"\n \t PRIMARY KEY (id)\n )\n \n "
182
- assert expected == actual , self ._compare_strings (expected , actual )
182
+ assert expected == actual , self ._compare_strings (expected , actual )
183
183
184
184
def test_create_column_with_encoding (self , compiler ):
185
- table = Table ('t1' ,
186
- MetaData (),
187
- Column ('id' , Integer , primary_key = True ,
188
- info = dict (encode = "LZO" )),
185
+ table = Table ('t1' ,
186
+ MetaData (),
187
+ Column ('id' , Integer , primary_key = True ,
188
+ info = dict (encode = "LZO" )),
189
189
Column ('name' , String )
190
190
)
191
-
192
-
191
+
192
+
193
193
create_table = CreateTable (table )
194
194
actual = compiler .process (create_table )
195
195
expected = u"\n CREATE TABLE t1 (" \
196
196
u"\n \t id INTEGER ENCODE LZO NOT NULL, " \
197
197
u"\n \t name VARCHAR, " \
198
198
u"\n \t PRIMARY KEY (id)\n )\n \n "
199
- assert expected == actual , self ._compare_strings (expected , actual )
199
+ assert expected == actual , self ._compare_strings (expected , actual )
0 commit comments