test_dtcd_cache_only.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. import pytest
  2. import pymysql
  3. def test_insert_with_single_quotes():
  4. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  5. cursor = db.cursor()
  6. sql = "insert into opensource(uid, name) values(1, 'hello') where uid = 1"
  7. cursor.execute(sql)
  8. db.commit()
  9. rowsaffected = cursor.rowcount
  10. print("affected rows: %s" % (rowsaffected))
  11. cursor.close()
  12. db.close()
  13. assert rowsaffected == 1
  14. '''
  15. def test_insert_with_double_quotes():
  16. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  17. cursor = db.cursor()
  18. sql = "insert into opensource(uid, name) values(1, \"hello\") where uid = 1"
  19. cursor.execute(sql)
  20. db.commit()
  21. cursor.close()
  22. db.close()
  23. '''
  24. def test_select():
  25. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  26. cursor = db.cursor()
  27. sql = "select uid, name from opensource where uid = 1"
  28. cursor.execute(sql)
  29. results = cursor.fetchall()
  30. assert len(results) == 1
  31. for row in results:
  32. uid = row[0]
  33. name = row[1]
  34. print("uid=%s, name=%s" % (uid, name))
  35. assert uid == 1
  36. assert name == "hello"
  37. db.close()
  38. def test_update():
  39. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  40. cursor = db.cursor()
  41. sql = "select uid, name from opensource where uid = 1"
  42. cursor.execute(sql)
  43. results = cursor.fetchall()
  44. assert len(results) == 1
  45. for row in results:
  46. uid = row[0]
  47. name = row[1]
  48. print("uid=%s, name=%s" % (uid, name))
  49. assert uid == 1
  50. assert name == "hello"
  51. cursor.close()
  52. cursor = db.cursor()
  53. sql = "update opensource set name = 'Lee' where uid = 1"
  54. cursor.execute(sql)
  55. db.commit()
  56. rowsaffected = cursor.rowcount
  57. print("affected rows: %s" % (rowsaffected))
  58. assert rowsaffected == 1
  59. cursor.close()
  60. cursor = db.cursor()
  61. sql = "select uid, name from opensource where uid = 1"
  62. cursor.execute(sql)
  63. results = cursor.fetchall()
  64. assert len(results) == 1
  65. for row in results:
  66. uid = row[0]
  67. name = row[1]
  68. print("uid=%s, name=%s" % (uid, name))
  69. assert uid == 1
  70. assert name == "Lee"
  71. cursor.close()
  72. db.close()
  73. def test_delete():
  74. print("----delete----")
  75. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  76. cursor = db.cursor()
  77. sql = "select uid, name from opensource where uid = 1"
  78. cursor.execute(sql)
  79. results = cursor.fetchall()
  80. assert len(results) == 1
  81. cursor.close()
  82. cursor = db.cursor()
  83. sql = "delete from opensource where uid = 1"
  84. cursor.execute(sql)
  85. db.commit()
  86. rowsaffected = cursor.rowcount
  87. print("affected rows: %s" % (rowsaffected))
  88. assert rowsaffected == 1
  89. cursor.close()
  90. cursor = db.cursor()
  91. sql = "select uid, name from opensource where uid = 1"
  92. cursor.execute(sql)
  93. results = cursor.fetchall()
  94. assert len(results) == 0
  95. cursor.close()
  96. db.close()
  97. '''
  98. def test_check_tablename():
  99. '''
  100. def test_insert_remove_where_cluster():
  101. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  102. cursor = db.cursor()
  103. sql = "insert into opensource(uid, name) values(1, 'hello')"
  104. cursor.execute(sql)
  105. db.commit()
  106. rowsaffected = cursor.rowcount
  107. print("affected rows: %s" % (rowsaffected))
  108. cursor.close()
  109. db.close()
  110. assert rowsaffected == 1
  111. '''
  112. def test_insert_remove_where_cluster_without_specify_key():
  113. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  114. cursor = db.cursor()
  115. sql = "insert into opensource values(1, 'Jack', 'Shanghai', 1, 18)"
  116. cursor.execute(sql)
  117. db.commit()
  118. rowsaffected = cursor.rowcount
  119. print("affected rows: %s" % (rowsaffected))
  120. cursor.close()
  121. db.close()
  122. assert rowsaffected == 1
  123. '''
  124. def test_select_limit():
  125. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  126. cursor = db.cursor()
  127. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'Jack', 'Shanghai', 1, 18)"
  128. cursor.execute(sql)
  129. db.commit()
  130. sql = "select uid, name from opensource where uid = 1 limit 2"
  131. cursor.execute(sql)
  132. results = cursor.fetchall()
  133. assert len(results) == 2
  134. cursor = db.cursor()
  135. sql = "select uid, name from opensource where uid = 1 limit 1"
  136. cursor.execute(sql)
  137. results = cursor.fetchall()
  138. assert len(results) == 1
  139. cursor = db.cursor()
  140. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'Jack', 'Shanghai', 1, 19)"
  141. cursor.execute(sql)
  142. db.commit()
  143. cursor = db.cursor()
  144. sql = "select uid, name,city,sex,age from opensource where uid = 1 limit 1,3"
  145. cursor.execute(sql)
  146. results = cursor.fetchall()
  147. assert len(results) == 2
  148. assert results[0][4] == 18
  149. assert results[1][4] == 19
  150. db.close()
  151. def test_insert_automated_conversion():
  152. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  153. cursor = db.cursor()
  154. #name num to string
  155. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123, 'Shanghai', 1, 18)"
  156. insert = cursor.execute(sql)
  157. assert insert == 1
  158. #name num to string
  159. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123a, 'Shanghai', 1, 18)"
  160. insert = cursor.execute(sql)
  161. assert insert == 0
  162. #name num(float) to string
  163. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123.3, 'Shanghai', 1, 18)"
  164. insert = cursor.execute(sql)
  165. assert insert == 1
  166. #name string to num
  167. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'jack', 'Shanghai', 1, '18')"
  168. insert = cursor.execute(sql)
  169. assert insert == 1
  170. #name string to num, error
  171. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'jack', 'Shanghai', 1, '18a')"
  172. insert = cursor.execute(sql)
  173. assert insert == 0
  174. db.commit()
  175. db.close()