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)
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')