4
4
5
5
import pytest
6
6
import snowflake .sqlalchemy .custom_types as sct
7
- import sqlalchemy
7
+ import sqlalchemy as sa
8
8
from singer_sdk .testing .suites import TestSuite
9
9
from singer_sdk .testing .target_tests import (
10
10
TargetArrayData ,
@@ -33,7 +33,7 @@ def validate(self) -> None:
33
33
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .test_{ self .name } " .upper ()
34
34
)
35
35
result = connector .connection .execute (
36
- f"select * from { table } order by 1" ,
36
+ sa . text ( f"select * from { table } order by 1" ) ,
37
37
)
38
38
assert result .rowcount == 4
39
39
row = result .first ()
@@ -45,7 +45,7 @@ def validate(self) -> None:
45
45
assert row [1 ] == '[\n "apple",\n "orange",\n "pear"\n ]'
46
46
table_schema = connector .get_table (table )
47
47
expected_types = {
48
- "id" : sqlalchemy .DECIMAL ,
48
+ "id" : sa .DECIMAL ,
49
49
"fruits" : sct .VARIANT ,
50
50
"_sdc_extracted_at" : sct .TIMESTAMP_NTZ ,
51
51
"_sdc_batched_at" : sct .TIMESTAMP_NTZ ,
@@ -69,8 +69,8 @@ def validate(self) -> None:
69
69
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .ForecastingTypeToCategory" .upper () # noqa: E501
70
70
table_schema = connector .get_table (table )
71
71
expected_types = {
72
- "id" : sqlalchemy .VARCHAR ,
73
- "isdeleted" : sqlalchemy .types .BOOLEAN ,
72
+ "id" : sa .VARCHAR ,
73
+ "isdeleted" : sa .types .BOOLEAN ,
74
74
"createddate" : sct .TIMESTAMP_NTZ ,
75
75
"createdbyid" : sct .STRING ,
76
76
"lastmodifieddate" : sct .TIMESTAMP_NTZ ,
@@ -79,8 +79,8 @@ def validate(self) -> None:
79
79
"forecastingtypeid" : sct .STRING ,
80
80
"forecastingitemcategory" : sct .STRING ,
81
81
"displayposition" : sct .NUMBER ,
82
- "isadjustable" : sqlalchemy .types .BOOLEAN ,
83
- "isowneradjustable" : sqlalchemy .types .BOOLEAN ,
82
+ "isadjustable" : sa .types .BOOLEAN ,
83
+ "isowneradjustable" : sa .types .BOOLEAN ,
84
84
"age" : sct .NUMBER ,
85
85
"newcamelcasedattribute" : sct .STRING ,
86
86
"_attribute_startswith_underscore" : sct .STRING ,
@@ -107,7 +107,7 @@ def validate(self) -> None:
107
107
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .test_{ self .name } " .upper ()
108
108
)
109
109
result = connector .connection .execute (
110
- f"select * from { table } order by 1" ,
110
+ sa . text ( f"select * from { table } order by 1" ) ,
111
111
)
112
112
expected_value = {
113
113
1 : 100 ,
@@ -150,7 +150,7 @@ def validate(self) -> None:
150
150
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .stream_name } " .upper ()
151
151
)
152
152
connector .connection .execute (
153
- f"select * from { table } order by 1" ,
153
+ sa . text ( f"select * from { table } order by 1" ) ,
154
154
)
155
155
156
156
table_schema = connector .get_table (table )
@@ -185,7 +185,7 @@ def validate(self) -> None:
185
185
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ table_name } " .upper ()
186
186
)
187
187
connector .connection .execute (
188
- f"select * from { table } order by 1" ,
188
+ sa . text ( f"select * from { table } order by 1" ) ,
189
189
)
190
190
# TODO: more assertions
191
191
@@ -241,7 +241,7 @@ def validate(self) -> None:
241
241
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ table_name } " .upper ()
242
242
)
243
243
result = connector .connection .execute (
244
- f"select * from { table } order by 1" ,
244
+ sa . text ( f"select * from { table } order by 1" ) ,
245
245
)
246
246
assert result .rowcount == 2
247
247
row = result .first ()
@@ -276,7 +276,7 @@ def validate(self) -> None:
276
276
f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .test_{ self .name } " .upper ()
277
277
)
278
278
result = connector .connection .execute (
279
- f"select * from { table } order by 1" ,
279
+ sa . text ( f"select * from { table } order by 1" ) ,
280
280
)
281
281
assert result .rowcount == 6
282
282
row = result .first ()
@@ -291,7 +291,7 @@ def validate(self) -> None:
291
291
"id" : sct .NUMBER ,
292
292
"a1" : sct .DOUBLE ,
293
293
"a2" : sct .STRING ,
294
- "a3" : sqlalchemy .types .BOOLEAN ,
294
+ "a3" : sa .types .BOOLEAN ,
295
295
"a4" : sct .VARIANT ,
296
296
"a5" : sct .VARIANT ,
297
297
"a6" : sct .NUMBER ,
@@ -325,7 +325,7 @@ def validate(self) -> None:
325
325
connector = self .target .default_sink_class .connector_class (self .target .config )
326
326
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
327
327
result = connector .connection .execute (
328
- f"select * from { table } " ,
328
+ sa . text ( f"select * from { table } " ) ,
329
329
)
330
330
assert result .rowcount == 2
331
331
row = result .first ()
@@ -347,7 +347,7 @@ def validate(self) -> None:
347
347
connector = self .target .default_sink_class .connector_class (self .target .config )
348
348
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
349
349
result = connector .connection .execute (
350
- f"select * from { table } " ,
350
+ sa . text ( f"select * from { table } " ) ,
351
351
)
352
352
assert result .rowcount == 1
353
353
row = result .first ()
@@ -366,7 +366,7 @@ def validate(self) -> None:
366
366
connector = self .target .default_sink_class .connector_class (self .target .config )
367
367
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
368
368
result = connector .connection .execute (
369
- f"select * from { table } " ,
369
+ sa . text ( f"select * from { table } " ) ,
370
370
)
371
371
assert result .rowcount == 1
372
372
row = result .first ()
@@ -400,7 +400,7 @@ def setup(self) -> None:
400
400
connector = self .target .default_sink_class .connector_class (self .target .config )
401
401
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
402
402
connector .connection .execute (
403
- f"""
403
+ sa . text ( f"""
404
404
CREATE OR REPLACE TABLE { table } (
405
405
ID VARCHAR(16777216),
406
406
COL_STR VARCHAR(16777216),
@@ -416,14 +416,14 @@ def setup(self) -> None:
416
416
_SDC_TABLE_VERSION NUMBER(38,0),
417
417
PRIMARY KEY (ID)
418
418
)
419
- """ ,
419
+ """ ) ,
420
420
)
421
421
422
422
def validate (self ) -> None :
423
423
connector = self .target .default_sink_class .connector_class (self .target .config )
424
424
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
425
425
result = connector .connection .execute (
426
- f"select * from { table } " ,
426
+ sa . text ( f"select * from { table } " ) ,
427
427
)
428
428
assert result .rowcount == 1
429
429
row = result .first ()
@@ -438,7 +438,7 @@ def setup(self) -> None:
438
438
connector = self .target .default_sink_class .connector_class (self .target .config )
439
439
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
440
440
connector .connection .execute (
441
- f"""
441
+ sa . text ( f"""
442
442
CREATE OR REPLACE TABLE { table } (
443
443
ID VARCHAR(16777216),
444
444
COL_STR VARCHAR(16777216),
@@ -454,7 +454,7 @@ def setup(self) -> None:
454
454
_SDC_TABLE_VERSION NUMBER(38,0),
455
455
PRIMARY KEY (ID)
456
456
)
457
- """ ,
457
+ """ ) ,
458
458
)
459
459
460
460
@@ -471,7 +471,7 @@ def setup(self) -> None:
471
471
connector = self .target .default_sink_class .connector_class (self .target .config )
472
472
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .\" order\" " .upper ()
473
473
connector .connection .execute (
474
- f"""
474
+ sa . text ( f"""
475
475
CREATE OR REPLACE TABLE { table } (
476
476
ID VARCHAR(16777216),
477
477
COL_STR VARCHAR(16777216),
@@ -487,7 +487,7 @@ def setup(self) -> None:
487
487
_SDC_TABLE_VERSION NUMBER(38,0),
488
488
PRIMARY KEY (ID)
489
489
)
490
- """ ,
490
+ """ ) ,
491
491
)
492
492
493
493
@@ -505,9 +505,7 @@ def singer_filepath(self) -> Path:
505
505
def validate (self ) -> None :
506
506
connector = self .target .default_sink_class .connector_class (self .target .config )
507
507
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .\" order\" " .upper ()
508
- result = connector .connection .execute (
509
- f"select * from { table } " ,
510
- )
508
+ result = connector .connection .execute (sa .text (f"select * from { table } " ))
511
509
assert result .rowcount == 1
512
510
row = result .first ()
513
511
assert len (row ) == 13 , f"Row has unexpected length { len (row )} "
@@ -554,13 +552,13 @@ def setup(self) -> None:
554
552
table = f"{ self .target .config ['database' ]} .{ self .target .config ['default_target_schema' ]} .{ self .name } " .upper ()
555
553
# Seed the 2 columns from tap schema and an unused third column to assert explicit inserts are working
556
554
connector .connection .execute (
557
- f"""
555
+ sa . text ( f"""
558
556
CREATE OR REPLACE TABLE { table } (
559
557
COL1 VARCHAR(16777216),
560
558
COL3 TIMESTAMP_NTZ(9),
561
559
COL2 BOOLEAN
562
560
)
563
- """ ,
561
+ """ ) ,
564
562
)
565
563
566
564
@property
0 commit comments