test_user_api.py 2.3KB

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