test_user_api.py 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # -*- coding: utf-8 -*-
  2. import pytest
  3. from sqlalchemy.orm.exc import NoResultFound
  4. import transaction
  5. from tracim.lib.core.user import UserApi
  6. from tracim.tests import DefaultTest
  7. from tracim.tests import eq_
  8. class TestUserApi(DefaultTest):
  9. def test_create_and_update_user(self):
  10. api = UserApi(
  11. current_user=None,
  12. session=self.session,
  13. config=self.config,
  14. )
  15. u = api.create_user()
  16. api.update(u, 'bob', 'bob@bob', True)
  17. nu = api.get_one_by_email('bob@bob')
  18. assert nu != None
  19. eq_('bob@bob', nu.email)
  20. eq_('bob', nu.display_name)
  21. def test_user_with_email_exists(self):
  22. api = UserApi(
  23. current_user=None,
  24. session=self.session,
  25. config=self.config,
  26. )
  27. u = api.create_user()
  28. api.update(u, 'bibi', 'bibi@bibi', True)
  29. transaction.commit()
  30. eq_(True, api.user_with_email_exists('bibi@bibi'))
  31. eq_(False, api.user_with_email_exists('unknown'))
  32. def test_get_one_by_email(self):
  33. api = UserApi(
  34. current_user=None,
  35. session=self.session,
  36. config=self.config,
  37. )
  38. u = api.create_user()
  39. api.update(u, 'bibi', 'bibi@bibi', True)
  40. uid = u.user_id
  41. transaction.commit()
  42. eq_(uid, api.get_one_by_email('bibi@bibi').user_id)
  43. def test_get_one_by_email_exception(self):
  44. api = UserApi(
  45. current_user=None,
  46. session=self.session,
  47. config=self.config,
  48. )
  49. with pytest.raises(NoResultFound):
  50. api.get_one_by_email('unknown')
  51. def test_get_all(self):
  52. # TODO - G.M - 29-03-2018 Check why this method is not enabled
  53. api = UserApi(
  54. current_user=None,
  55. session=self.session,
  56. config=self.config,
  57. )
  58. # u1 = api.create_user(True)
  59. # u2 = api.create_user(True)
  60. # users = api.get_all()
  61. # ok_(2==len(users))
  62. def test_get_one(self):
  63. api = UserApi(
  64. current_user=None,
  65. session=self.session,
  66. config=self.config,
  67. )
  68. u = api.create_user()
  69. api.update(u, 'titi', 'titi@titi', True)
  70. one = api.get_one(u.user_id)
  71. eq_(u.user_id, one.user_id)