1
0

test_dtcd_cache_only.py 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  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')"
  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. def test_select():
  15. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  16. cursor = db.cursor()
  17. sql = "select uid, name from opensource where uid = 1"
  18. cursor.execute(sql)
  19. results = cursor.fetchall()
  20. assert len(results) == 1
  21. for row in results:
  22. uid = row[0]
  23. name = row[1]
  24. print("uid=%s, name=%s" % (uid, name))
  25. assert uid == 1
  26. assert name == "hello"
  27. db.close()
  28. def test_update():
  29. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  30. cursor = db.cursor()
  31. sql = "select uid, name from opensource where uid = 1"
  32. cursor.execute(sql)
  33. results = cursor.fetchall()
  34. assert len(results) == 1
  35. for row in results:
  36. uid = row[0]
  37. name = row[1]
  38. print("uid=%s, name=%s" % (uid, name))
  39. assert uid == 1
  40. assert name == "hello"
  41. cursor.close()
  42. cursor = db.cursor()
  43. sql = "update opensource set name = 'Lee' where uid = 1"
  44. rowsaffected = cursor.execute(sql)
  45. assert rowsaffected == 1
  46. sql = "update opensource set name = \"Lee3\" where uid = 1"
  47. rowsaffected = cursor.execute(sql)
  48. assert rowsaffected == 1
  49. sql = "update opensource set `name` = 'Lee2' where uid = 1"
  50. rowsaffected = cursor.execute(sql)
  51. assert rowsaffected == 1
  52. sql = "update opensource set \"name\" = 'Lee' where uid = 1"
  53. rowsaffected = cursor.execute(sql)
  54. assert rowsaffected == 0
  55. sql = "update opensource set name = \"Lee4\" where uid = '1'"
  56. rowsaffected = cursor.execute(sql)
  57. assert rowsaffected == 0
  58. sql = "update opensource set name = \"Lee\" where uid = \"1\""
  59. rowsaffected = cursor.execute(sql)
  60. assert rowsaffected == 0
  61. sql = "update opensource set name = \"Lee\" where uid = 1"
  62. rowsaffected = cursor.execute(sql)
  63. assert rowsaffected == 1
  64. db.commit()
  65. cursor.close()
  66. cursor = db.cursor()
  67. sql = "select uid, name from opensource where uid = 1"
  68. cursor.execute(sql)
  69. results = cursor.fetchall()
  70. assert len(results) == 1
  71. for row in results:
  72. uid = row[0]
  73. name = row[1]
  74. print("uid=%s, name=%s" % (uid, name))
  75. assert uid == 1
  76. assert name == "Lee"
  77. cursor.close()
  78. db.close()
  79. def test_delete():
  80. print("----delete----")
  81. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  82. cursor = db.cursor()
  83. sql = "select uid, name from opensource where uid = 1"
  84. cursor.execute(sql)
  85. results = cursor.fetchall()
  86. assert len(results) == 1
  87. cursor.close()
  88. cursor = db.cursor()
  89. sql = "delete from opensource where uid = 1"
  90. cursor.execute(sql)
  91. db.commit()
  92. rowsaffected = cursor.rowcount
  93. print("affected rows: %s" % (rowsaffected))
  94. assert rowsaffected == 1
  95. cursor.close()
  96. cursor = db.cursor()
  97. sql = "select uid, name from opensource where uid = 1"
  98. cursor.execute(sql)
  99. results = cursor.fetchall()
  100. assert len(results) == 0
  101. cursor.close()
  102. db.close()
  103. '''
  104. def test_check_tablename():
  105. '''
  106. def test_insert_remove_where_cluster():
  107. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  108. cursor = db.cursor()
  109. sql = "insert into opensource(uid, name) values(1, 'hello')"
  110. cursor.execute(sql)
  111. db.commit()
  112. rowsaffected = cursor.rowcount
  113. print("affected rows: %s" % (rowsaffected))
  114. cursor.close()
  115. db.close()
  116. assert rowsaffected == 1
  117. '''
  118. def test_insert_remove_where_cluster_without_specify_key():
  119. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  120. cursor = db.cursor()
  121. sql = "insert into opensource values(1, 'Jack', 'Shanghai', 1, 18)"
  122. cursor.execute(sql)
  123. db.commit()
  124. rowsaffected = cursor.rowcount
  125. print("affected rows: %s" % (rowsaffected))
  126. cursor.close()
  127. db.close()
  128. assert rowsaffected == 1
  129. '''
  130. def test_select_limit():
  131. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  132. cursor = db.cursor()
  133. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'Jack', 'Shanghai', 1, 18)"
  134. cursor.execute(sql)
  135. db.commit()
  136. sql = "select uid, name from opensource where uid = 1 limit 2"
  137. cursor.execute(sql)
  138. results = cursor.fetchall()
  139. assert len(results) == 2
  140. cursor = db.cursor()
  141. sql = "select uid, name from opensource where uid = 1 limit 1"
  142. cursor.execute(sql)
  143. results = cursor.fetchall()
  144. assert len(results) == 1
  145. cursor = db.cursor()
  146. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'Jack', 'Shanghai', 1, 19)"
  147. cursor.execute(sql)
  148. db.commit()
  149. cursor = db.cursor()
  150. sql = "select uid, name,city,sex,age from opensource where uid = 1 limit 1,3"
  151. cursor.execute(sql)
  152. results = cursor.fetchall()
  153. assert len(results) == 2
  154. assert results[0][4] == 18
  155. assert results[1][4] == 19
  156. db.close()
  157. def test_insert_automated_conversion():
  158. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  159. cursor = db.cursor()
  160. #name num to string
  161. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123, 'Shanghai', 1, 18)"
  162. insert = cursor.execute(sql)
  163. assert insert == 1
  164. #name num to string
  165. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123a, 'Shanghai', 1, 18)"
  166. insert = cursor.execute(sql)
  167. assert insert == 0
  168. #name num(float) to string
  169. sql = "insert into opensource(uid,name,city,sex,age) values(1, 123.3, 'Shanghai', 1, 18)"
  170. insert = cursor.execute(sql)
  171. assert insert == 1
  172. #name string to num
  173. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'jack', 'Shanghai', 1, '18')"
  174. insert = cursor.execute(sql)
  175. assert insert == 1
  176. #name string to num
  177. sql = "insert into opensource(uid,name,city,sex,age) values(2, \"jack\", 'Shanghai', 1, '18')"
  178. insert = cursor.execute(sql)
  179. assert insert == 1
  180. #name string to num, error
  181. sql = "insert into opensource(uid,name,city,sex,age) values(1, 'jack', 'Shanghai', 1, '18a')"
  182. insert = cursor.execute(sql)
  183. assert insert == 0
  184. db.commit()
  185. db.close()
  186. def test_insert_with_double_quotes():
  187. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  188. cursor = db.cursor()
  189. sql = "insert into opensource(uid, name) values(33, \"hello\")"
  190. cursor.execute(sql)
  191. db.commit()
  192. rowsaffected = cursor.rowcount
  193. cursor.close()
  194. db.close()
  195. assert rowsaffected == 1
  196. def test_insert_with_grave():
  197. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  198. cursor = db.cursor()
  199. sql = "insert into `opensource`(uid, name) values(33, 'hello')"
  200. rowsaffected = cursor.execute(sql)
  201. assert rowsaffected == 1
  202. sql = "insert into opensource(`uid`, name) values(33, 'hello')"
  203. rowsaffected = cursor.execute(sql)
  204. assert rowsaffected == 1
  205. sql = "insert into opensource(`uid`, `name`) values(33, 'hello')"
  206. rowsaffected = cursor.execute(sql)
  207. assert rowsaffected == 1
  208. sql = "insert into `opensource`(`uid`, `name`) values(33, \"hello\")"
  209. rowsaffected = cursor.execute(sql)
  210. assert rowsaffected == 1
  211. sql = "insert into opensource(uid, name) values(33, `hello`)"
  212. rowsaffected = cursor.execute(sql)
  213. assert rowsaffected == 0
  214. sql = "insert into opensource(uid, name) values(33, `123`)"
  215. rowsaffected = cursor.execute(sql)
  216. assert rowsaffected == 0
  217. sql = "insert into \"opensource\"(uid, name) values(33, 'hello')"
  218. rowsaffected = cursor.execute(sql)
  219. assert rowsaffected == 0
  220. sql = "insert into 'opensource'(uid, name) values(33, 'hello')"
  221. rowsaffected = cursor.execute(sql)
  222. assert rowsaffected == 0
  223. db.commit()
  224. cursor.close()
  225. db.close()
  226. def test_insert_with_set_keyword():
  227. db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
  228. cursor = db.cursor()
  229. sql = "insert into opensource set uid = 33, name = 'hello'"
  230. rowsaffected = cursor.execute(sql)
  231. assert rowsaffected == 1
  232. sql = "insert into opensource set `uid` = 33, `name` = 'hello'"
  233. rowsaffected = cursor.execute(sql)
  234. assert rowsaffected == 1
  235. sql = "insert into opensource set `uid` = 33, `name` = '12312'"
  236. rowsaffected = cursor.execute(sql)
  237. assert rowsaffected == 1
  238. sql = "insert into opensource set `uid` = 33, `name` = \"12312\""
  239. rowsaffected = cursor.execute(sql)
  240. assert rowsaffected == 1
  241. sql = "insert into opensource set uid = 33, name = 'hello'"
  242. rowsaffected = cursor.execute(sql)
  243. assert rowsaffected == 1
  244. sql = "insert into opensource set uid = 33, name = '12312'"
  245. rowsaffected = cursor.execute(sql)
  246. assert rowsaffected == 1
  247. sql = "insert into opensource set uid = 33, name = \"12312waefoioiwa\""
  248. rowsaffected = cursor.execute(sql)
  249. assert rowsaffected == 1
  250. sql = "insert into opensource set uid = 33, name = \"waefoioiwawaefwa\""
  251. rowsaffected = cursor.execute(sql)
  252. assert rowsaffected == 1
  253. sql = "insert into opensource set uid = 33, name = 123waefoioiwawaefwa"
  254. rowsaffected = cursor.execute(sql)
  255. assert rowsaffected == 0
  256. sql = "insert into opensource set uid = 33, name = \"12312\""
  257. rowsaffected = cursor.execute(sql)
  258. assert rowsaffected == 1
  259. db.commit()
  260. cursor.close()
  261. db.close()