예제 #1
0
 def test_get_dao(self):
     dao = get_dao('production')
     self.assertEqual(dao.username, p['username'])
     self.assertEqual(dao.password, p['password'])
     self.assertEqual(dao.host, p['host'])
     self.assertEqual(dao.port, p['port'])
     self.assertEqual(dao.db, p['db_name'])
     dao = get_dao('test')
     self.assertEqual(dao.username, t['username'])
     self.assertEqual(dao.password, t['password'])
     self.assertEqual(dao.host, t['host'])
     self.assertEqual(dao.port, t['port'])
     self.assertEqual(dao.db, t['db_name'])
예제 #2
0
 def setUp(self):
     self.app = Flask(__name__)
     self.app.register_blueprint(books, url_prefix='/books')
     self.tester = self.app.test_client(self)
     dao = DAO(t['username'], t['password'], t['host'], t['port'], t['db_name'])
     dao.drop_collection('books')
     self.dao = get_dao('test')
예제 #3
0
def delete(environment, item_id):
    dao = get_dao(environment)
    out = json.dumps(dao.delete('books', item_id),
                     sort_keys=True,
                     indent=4,
                     default=json_util.default)
    return Response(out, content_type='application/json; charset=utf-8')
예제 #4
0
 def test_get_by_id(self):
     dao = get_dao('test')
     inserted_id = dao.create('books', test_book)
     item = dao.get_by_id('books', inserted_id)
     self.assertIsNotNone(item)
     self.assertEqual(item['ISBN'], '0436203057')
     self.assertEqual(len(item['authors']), 1)
     self.assertEqual(item['authors'][0], 'Howard Marks')
     self.assertEqual(item['genre'], 'non-fiction')
     self.assertEqual(item['title'], 'Mr. Nice')
     self.assertEqual(item['pages'], 466)
예제 #5
0
 def test_update(self):
     dao = get_dao('test')
     inserted_id = dao.create('books', test_book)
     item = dao.get_by_id('books', inserted_id)
     self.assertIsNotNone(item)
     self.assertEqual(item['ISBN'], '0436203057')
     self.assertEqual(len(item['authors']), 1)
     self.assertEqual(item['authors'][0], 'Howard Marks')
     self.assertEqual(item['genre'], 'non-fiction')
     self.assertEqual(item['title'], 'Mr. Nice')
     self.assertEqual(item['pages'], 466)
     dao.update('books', inserted_id, update_book)
     item = dao.get_by_id('books', inserted_id)
     self.assertIsNotNone(item)
     self.assertEqual(item['ISBN'], '0439708184')
     self.assertEqual(len(item['authors']), 1)
     self.assertEqual(item['authors'][0], 'J. K. Rowling')
     self.assertEqual(item['genre'], 'fiction')
     self.assertEqual(item['title'], 'Harry Potter and the Sorcerer\'s Stone')
     self.assertEqual(item['pages'], 322)
예제 #6
0
def create(environment):
    item = json.loads(request.data)
    dao = get_dao(environment)
    ack = dao.create('books', item)
    out = json.dumps(ack, sort_keys=True, indent=4, default=json_util.default)
    return Response(out, content_type='application/json; charset=utf-8')
예제 #7
0
 def test_delete(self):
     dao = get_dao('test')
     inserted_id = dao.create('books', test_book)
     ack = dao.delete('books', inserted_id)
     self.assertEqual(1, ack['ok'])
     self.assertEqual(1, ack['n'])
예제 #8
0
 def test_get(self):
     dao = get_dao('test')
     dao.create('books', test_book)
     items = dao.get('books')
     self.assertEqual(len(items), 1)
예제 #9
0
 def test_create_item(self):
     dao = get_dao('test')
     inserted_id = dao.create('books', test_book)
     self.assertIsNotNone(inserted_id)
예제 #10
0
 def test_create_connection_uri(self):
     dao = get_dao('test')
     uri = dao.create_connection_uri()
     self.assertEqual(uri, 'mongodb://*****:*****@ds061375.mongolab.com:61375/kalimatest')
예제 #11
0
def create(environment):
    item = json.loads(request.data)
    dao = get_dao(environment)
    ack = dao.create('books', item)
    out = json.dumps(ack, sort_keys=True, indent=4, default=json_util.default)
    return Response(out, content_type='application/json; charset=utf-8')
예제 #12
0
def delete(environment, item_id):
    dao = get_dao(environment)
    out = json.dumps(dao.delete('books', item_id), sort_keys=True, indent=4, default=json_util.default)
    return Response(out, content_type='application/json; charset=utf-8')