Beispiel #1
0
 def setUp(self):
     self.config = testing.setUp()
     self.engine = sqlalchemy.create_engine('sqlite://', echo=False)
     Base.metadata.bind = self.engine
     Base.metadata.create_all(self.engine)
     self.Session = sqlalchemy.orm.sessionmaker(bind=self.engine)
     self.session = self.Session()
     self.account = Handler(Account)
     self.contact = Handler(Account)
Beispiel #2
0
class TestsBase(unittest.TestCase):

    def setUp(self):
        self.config = testing.setUp()
        self.engine = sqlalchemy.create_engine('sqlite://', echo=False)
        Base.metadata.bind = self.engine
        Base.metadata.create_all(self.engine)
        self.Session = sqlalchemy.orm.sessionmaker(bind=self.engine)
        self.session = self.Session()
        self.account = Handler(Account)
        self.contact = Handler(Account)

    def tearDown(self):
        testing.tearDown()
        self.session.close()

    def test_create_bad_request(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        response = self.account.create(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '400 Bad Request')

    def test_create_conflict(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        response = self.account.create(request.context, request)
        self.assertEqual(response,
                         dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname',
                              gender=None,
                              contact=None))
        self.assertEqual(request.response.status, '201 Created')
        response = self.account.create(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '409 Conflict')

    def test_update(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        old = self.account.create(request.context, request)
        request.params = dict(email='*****@*****.**',
                              name='My New Name',
                              surname='My New Surname')
        new = self.account.update(request.context, request)
        self.assertNotEqual(old, new)
        self.assertEqual(new, dict(email='*****@*****.**',
                                   name='My New Name',
                                   surname='My New Surname',
                                   gender=None,
                                   contact=None))
        self.assertEqual(request.response.status, '200 OK')

    def test_update_bad_request(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        self.account.create(request.context, request)
        request.params = dict(name='My Name',
                              surname='My Surname')
        response = self.account.update(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '400 Bad Request')

    def test_update_not_found(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        self.account.create(request.context, request)
        request.params = dict(email='*****@*****.**',
                              name='My New Name',
                              surname='My New Surname')
        response = self.account.update(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '404 Not Found')

    def test_delete(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        response = self.account.create(request.context, request)
        request.params = dict(email='*****@*****.**')
        response = self.account.delete(request.context, request)
        self.assertEqual(response, request.params)
        self.assertEqual(request.response.status, '200 OK')

    def test_delete_bad_request(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        response = self.account.create(request.context, request)
        request.params = dict(name='My Name')
        response = self.account.delete(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '400 Bad Request')

    def test_delete_not_found(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.sqla_session = self.session
        request.params = dict(email='*****@*****.**',
                              name='My Name',
                              surname='My Surname')
        response = self.account.create(request.context, request)
        request.params = dict(email='*****@*****.**')
        response = self.account.delete(request.context, request)
        self.assertEqual(response, {})
        self.assertEqual(request.response.status, '404 Not Found')