def test_put_doc(self): data = dict(name=u'Документ6', code='document6', created=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) response = self.app.post(self.api_url + self.collection_code + '/', data=json.dumps(data)) post_result = json.loads(response.get_data()) document_id = post_result.get('_id') self.assertEqual(response.status_code, 201) self.assertIsNotNone(document_id) self.assertIsInstance(document_id, basestring) update_data = dict( name=u'Документ6 (updated)', updated=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) response = self.app.put(self.api_url + '/'.join( (self.collection_code, document_id, '')), data=json.dumps(update_data)) self.assertEqual(response.status_code, 200) response = self.get_document(self.collection_code, document_id) modified_data = data modified_data.pop('name') modified_data.update(update_data) modified_data.update(dict(_id=document_id)) response = json.loads(response.get_data()) self.assertDictContainsSubset(modified_data, response)
def test_post_doc(self): data = dict(name=u'Документ5', code='document5', created=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) response = self.app.post(self.api_url + self.collection_code + '/', data=json.dumps(data)) post_result = json.loads(response.get_data()) self.assertEqual(response.status_code, 201) document_id = post_result.get('_id') self.assertIsNotNone(document_id) self.assertIsInstance(document_id, basestring) response = self.get_document(self.collection_code, document_id) self.assertEqual(response.status_code, 200) response = json.loads(response.get_data()) #response.pop('_id') self.assertDictContainsSubset(data, response)
def test_post_doc(self): data = dict(code=u'01') response = self.app.post(self.api_url + self.collection_code + '/', data=json.dumps(data)) self.assertEqual(response.status_code, 200) response = json.loads(response.get_data()) #response.pop('_id') self.assertEqual(self.collection_code, response['code'])
def parse_request(self, _request): data = _request.json if not data: data = json.loads(_request.data) if not data: raise InvalidAPIUsage( u'Не переданы данные, или переданы неверным методом', 400) return data
def test_add_dictionary(self): code = 'test' data = dict(code=code, name=u'Тестовый справочник') response = self.app.post(self.api_url, data=json.dumps(data)) self.assertEqual(response.status_code, 201) response = self.get_by_code(code) self.assertEqual(response.status_code, 200) response_data = json.loads(response.get_data()) self.assertDictContainsSubset(data, response_data)
def test_delete_dictionary(self): code = 'test3' data = dict(code=code, name=u'Тестовый справочник3') response = self.app.post(self.api_url, data=json.dumps(data)) self.assertEqual(response.status_code, 201) response = self.app.delete(self.api_url + code + '/') self.assertEqual(response.status_code, 204) response = self.get_by_code(code) self.assertEqual(response.status_code, 200) response_data = json.loads(response.get_data()) self.assertIsNone(response_data.get('result'))
def test_add_dictionary(self): code = 'test' data = dict(code=code, name=u'Тестовый клиент') response = self.app.post(self.api_url, content_type='application/json', data=json.dumps(data)) self.assertEqual(response.status_code, 201) response = self.get_by_code(code) self.assertEqual(response.status_code, 200) result = json.loads(response.get_data()) result.pop('_id') self.assertDictEqual(data, result)
def test_post_list(self): data = [ dict(name=u'Документ1', code='document1'), dict(name=u'Документ2'), dict(name=u'Документ3', alias='document2'), dict(name=u'Документ4', code='document4', created=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) ] response = self.app.post(self.api_url + self.collection_code + '/', data=json.dumps(data)) self.assertEqual(response.status_code, 201) self.assertIsNotNone(response.get_data()) post_result = json.loads(response.get_data()) post_result = post_result.get('_id') self.assertIsInstance(post_result, list) document_id = post_result[0] response = self.get_document(self.collection_code, document_id) self.assertEqual(response.status_code, 200) response = json.loads(response.get_data()) self.assertDictContainsSubset(data[0], response)
def test_put_dictionary(self): code = 'test2' data = dict(code=code, name=u'Тестовый справочник2') response = self.app.post(self.api_url, data=json.dumps(data)) self.assertEqual(response.status_code, 201) data_update = dict(name=u'Тестовый справочник2 (обновлён)') response = self.app.put(self.api_url + code + '/', data=json.dumps(data_update)) self.assertEqual(response.status_code, 200) response = self.get_by_code(code) self.assertEqual(response.status_code, 200) response_data = json.loads(response.get_data()) self.assertEqual(data_update['name'], response_data['name'])
def test_put_dictionary(self): code = 'test2' data = dict(code=code, name=u'Тестовый клиент2') response = self.app.post(self.api_url, content_type='application/json', data=json.dumps(data)) self.assertEqual(response.status_code, 201) data_update = dict(name=u'Тестовый клиент2 (обновлён)') response = self.app.put(self.api_url + code + '/', data=json.dumps(data_update)) self.assertEqual(response.status_code, 200) response = self.get_by_code(code) self.assertEqual(response.status_code, 200) response_data = json.loads(response.get_data()) self.assertDictContainsSubset(data_update, response_data)
def test_del_doc(self): data = dict(name=u'Документ7', code='document7', created=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) response = self.app.post(self.api_url + self.collection_code + '/', data=json.dumps(data)) post_result = json.loads(response.get_data()) document_id = post_result.get('_id') self.assertEqual(response.status_code, 201) self.assertIsNotNone(document_id) response = self.app.delete(self.api_url + '/'.join((self.collection_code, document_id, ''))) self.assertEqual(response.status_code, 204) response = self.get_document(self.collection_code, document_id) self.assertEqual(response.status_code, 404)