Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

test_support.py 2.4 KB

You have to be logged in to leave a comment. Sign In
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
  1. from io import StringIO
  2. from psycopg2 import errorcodes
  3. import support as s
  4. def test_single_query():
  5. query = 'SELECT * FROM pizza'
  6. script = s.SqlScript(StringIO(query))
  7. assert len(script.chunks) == 1
  8. assert script.chunks[0].allowed_errors == []
  9. assert script.chunks[0].src == query
  10. assert script.chunks[0].use_transaction
  11. def test_two_queries():
  12. query = '''
  13. SELECT * FROM pizza;
  14. ---
  15. SELECT fish FROM chips;
  16. '''
  17. script = s.SqlScript(StringIO(query))
  18. assert len(script.chunks) == 2
  19. assert script.chunks[0].src.strip() == 'SELECT * FROM pizza;'
  20. assert script.chunks[0].allowed_errors == []
  21. assert script.chunks[1].src.strip() == 'SELECT fish FROM chips;'
  22. assert script.chunks[1].allowed_errors == []
  23. assert script.chunks[0].use_transaction
  24. def test_label_query():
  25. query = '''
  26. --- #step Select from pizza
  27. SELECT * FROM pizza;
  28. '''
  29. script = s.SqlScript(StringIO(query))
  30. assert len(script.chunks) == 1
  31. assert script.chunks[0].src.strip() == 'SELECT * FROM pizza;'
  32. assert script.chunks[0].allowed_errors == []
  33. assert script.chunks[0].label == 'Select from pizza'
  34. assert script.chunks[0].use_transaction
  35. def test_notx_query():
  36. query = '''
  37. --- #notx
  38. SELECT * FROM pizza;
  39. '''
  40. script = s.SqlScript(StringIO(query))
  41. assert len(script.chunks) == 1
  42. assert script.chunks[0].src.strip() == 'SELECT * FROM pizza;'
  43. assert script.chunks[0].allowed_errors == []
  44. assert not script.chunks[0].use_transaction
  45. def test_allow_errors():
  46. query = '''
  47. --- #allow invalid_object_definition
  48. SELECT * FROM pizza;
  49. '''
  50. script = s.SqlScript(StringIO(query))
  51. assert len(script.chunks) == 1
  52. assert script.chunks[0].src.strip() == 'SELECT * FROM pizza;'
  53. assert script.chunks[0].allowed_errors == [errorcodes.INVALID_OBJECT_DEFINITION]
  54. def test_allow_multiple():
  55. query = '''
  56. --- #allow invalid_object_definition
  57. SELECT * FROM pizza;
  58. --- #allow invalid_object_definition
  59. --- #allow duplicate_function
  60. CREATE FUNCTION foobar;
  61. '''
  62. script = s.SqlScript(StringIO(query))
  63. assert len(script.chunks) == 2
  64. assert script.chunks[0].src.strip() == 'SELECT * FROM pizza;'
  65. assert script.chunks[0].allowed_errors == [errorcodes.INVALID_OBJECT_DEFINITION]
  66. assert script.chunks[1].src.strip() == 'CREATE FUNCTION foobar;'
  67. assert script.chunks[1].allowed_errors == \
  68. [errorcodes.INVALID_OBJECT_DEFINITION, errorcodes.DUPLICATE_FUNCTION]
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...