test_database.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import os
  2. import tempfile
  3. import pytest
  4. import uuid
  5. from flask import current_app
  6. from botadero.shared import globalParams
  7. from botadero.database import get_db
  8. # def test_get_close_db(db):
  9. # with current_app.app_context():
  10. # db = get_db()
  11. # assert db is get_db()
  12. def test_crearArchivo(db):
  13. from botadero.database.models import Archivo
  14. name = uuid.uuid4().hex
  15. a = Archivo.create(name=name, extension='')
  16. assert Archivo.query.filter_by(name=name) is not None
  17. def test_crearArchivo2(db):
  18. from botadero.database.models import Archivo
  19. name = uuid.uuid4().hex
  20. a = Archivo.create(name=name, extension='', hashedPassword='123123123')
  21. aq = Archivo.query.filter_by(name=name).first()
  22. assert aq.hashedPassword == '123123123'
  23. def test_eliminarArchivo(db):
  24. from botadero.database.models import Archivo
  25. name = uuid.uuid4().hex
  26. a = Archivo.create(name=name, extension='py')
  27. a.delete()
  28. l = Archivo.query.filter_by(name=name).all()
  29. assert len(l) == 0
  30. def test_crearArchivoIncorrecto(db):
  31. from botadero.database.models import Archivo
  32. name = uuid.uuid4().hex
  33. a = Archivo.create(extension='py')
  34. assert a.name == 'undefined'
  35. def test_listarArchivo(db):
  36. from botadero.database.models import Archivo
  37. name = uuid.uuid4().hex
  38. a = Archivo.create(name=name, extension='')
  39. assert Archivo.query.filter_by(name=name).first() is not None
  40. def test_modificarArchivo(db):
  41. from botadero.database.models import Archivo
  42. name = uuid.uuid4().hex
  43. b = Archivo.create(name=name, extension='')
  44. assert Archivo.query.filter_by(name=name).first() is not None
  45. name = uuid.uuid4().hex
  46. b.save(name=name)
  47. assert Archivo.query.filter_by(name=name).first() is not None
  48. # tabla html_pages
  49. def test_crearHtmlPage(db):
  50. from botadero.database.models import HtmlPage
  51. name = uuid.uuid4().hex
  52. b = HtmlPage.create(name=name, category='Misc')
  53. assert HtmlPage.query.filter_by(name=name).first() is not None
  54. def test_eliminarHtmlPage(db):
  55. from botadero.database.models import HtmlPage
  56. name = uuid.uuid4().hex
  57. b = HtmlPage.create(name=name, category='Misc')
  58. b.delete()
  59. l = HtmlPage.query.filter_by(name=name).all()
  60. assert len(l) == 0
  61. def test_listarHtmlPage(db):
  62. from botadero.database.models import HtmlPage
  63. name = uuid.uuid4().hex
  64. b = HtmlPage.create(name=name, category='Misc')
  65. assert HtmlPage.query.filter_by(name=name).first() is not None
  66. def test_modificarHtmlPage(db):
  67. from botadero.database.models import HtmlPage
  68. name = uuid.uuid4().hex
  69. a = HtmlPage.create(name=name, category='Misc')
  70. print('A:', a)
  71. assert HtmlPage.query.filter_by(name=name).first() is not None
  72. name = uuid.uuid4().hex
  73. html = '''
  74. <html>
  75. Contenido nuevo <b>año</b> 2020.
  76. <br>
  77. <h1>Test page</h1>
  78. </html>
  79. '''
  80. a.save(name=name, html=html, category='Docs', renderHtml=True)
  81. b = HtmlPage.query.filter_by(name=name).first()
  82. print ('B:', b)
  83. assert b is not None