Advertisement
Guest User

Untitled

a guest
Sep 19th, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.29 KB | None | 0 0
  1. # coding=utf-8
  2.  
  3. import unittest
  4. from server_apis import database
  5. from server_apis.api_core.models.regdb.user import User
  6. from server_apis.api_core.modules.user_profile import registerProfile, makeLoginFromPhone
  7. import server_apis.api_error as api_error
  8.  
  9.  
  10. class RegistrationTestCase(unittest.TestCase):
  11.     test_phone_belarus = "+375000000000"
  12.     test_phone = "+70000000000"
  13.     test_email = "sc0rch@me.com"
  14.  
  15.     def deleteProfile(self, session, phone):
  16.         user = database.model(session, User).filter_one(
  17.             User.login == makeLoginFromPhone(phone),
  18.             User.date_deleted == None,
  19.             must_exists=False)
  20.         if user:
  21.             session.delete(user)
  22.  
  23.     @database.transaction
  24.     def test_Error_NullParameters(self):
  25.         def unit(session):
  26.             with self.assertRaises(api_error.APIValidationError):
  27.                 registerProfile(
  28.                     session,
  29.                     phone=None,
  30.                     email=self.test_email, password="1234")
  31.             session.rollback()
  32.         return unit
  33.  
  34.     @database.transaction
  35.     def test_Error_WrongParameter_Phone(self):
  36.         def unit(session):
  37.             with self.assertRaises(api_error.APIValidationError):
  38.                 registerProfile(
  39.                     session,
  40.                     phone="7000000000",
  41.                     email=self.test_email, password="1234")
  42.             session.rollback()
  43.         return unit
  44.  
  45.     @database.transaction
  46.     def test_Error_WrongParameter_Phone_Belarus(self):
  47.         def unit(session):
  48.             with self.assertRaises(api_error.APIValidationError):
  49.                 registerProfile(
  50.                     session,
  51.                     phone="+37500000000",
  52.                     email=self.test_email, password="1234")
  53.             session.rollback()
  54.         return unit
  55.  
  56.     @database.transaction
  57.     def test_Error_EmptyParameter_Phone(self):
  58.         def unit(session):
  59.             with self.assertRaises(api_error.APIValidationError):
  60.                 registerProfile(
  61.                     session,
  62.                     phone="",
  63.                     email=self.test_email, password="1234")
  64.             session.rollback()
  65.         return unit
  66.  
  67.     @database.transaction
  68.     def test_Error_EmptyParameter_Email(self):
  69.         def unit(session):
  70.             with self.assertRaises(api_error.APIValidationError):
  71.                 registerProfile(
  72.                     session,
  73.                     phone=self.test_phone,
  74.                     email="", password="1234")
  75.             session.rollback()
  76.         return unit
  77.  
  78.     @database.transaction
  79.     def test_Error_EmptyParameter_Password(self):
  80.         def unit(session):
  81.             with self.assertRaises(api_error.APIValidationError):
  82.                 registerProfile(
  83.                     session,
  84.                     phone=self.test_phone,
  85.                     email=self.test_email, password='')
  86.             session.rollback()
  87.         return unit
  88.  
  89.     @database.transaction
  90.     def test_Success(self):
  91.         def unit(session):
  92.             self.deleteProfile(session, self.test_phone)
  93.             registerProfile(
  94.                 session,
  95.                 phone=self.test_phone,
  96.                 email=self.test_email, password='1234')
  97.  
  98.             with self.assertRaises(api_error.APIError):
  99.                 registerProfile(
  100.                     session,
  101.                     phone=self.test_phone,
  102.                     email="other@mail.com", password='1234')
  103.             self.deleteProfile(session, self.test_phone)
  104.             session.rollback()
  105.         return unit
  106.  
  107.     @database.transaction
  108.     def test_Success_Belarus(self):
  109.         def unit(session):
  110.             self.deleteProfile(session, self.test_phone_belarus)
  111.             registerProfile(
  112.                 session,
  113.                 phone=self.test_phone_belarus,
  114.                 email=self.test_email, password='1234')
  115.  
  116.             with self.assertRaises(api_error.APIError):
  117.                 registerProfile(
  118.                     session,
  119.                     phone=self.test_phone_belarus,
  120.                     email="other@mail.com", password='1234')
  121.             self.deleteProfile(session, self.test_phone_belarus)
  122.             session.rollback()
  123.         return unit
  124.  
  125.  
  126. if __name__ == '__main__':
  127.     unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement