def teardown_user(): user = User() user.login('test_user','test_pass') model = MongoModel(project=user.project,collection=user.collection) model.delete({'_id':objectid.ObjectId(str(user.user.id))}) model = MongoModel(project='internal',collection='project') model.delete({'name':'scraped'})
def teardown_project_update(): user = User() user.login('test_update_user','test_password') db = MongoModel(project=user.project,collection=user.collection) db.delete({'username':'******'}) db = MongoModel(project='internal',collection='project') db.delete({'name':'project update'})
def test_create_user(): user = model.User() test_username = '******' test_password = '******' test_email = '*****@*****.**' user.create(test_username,test_password,test_email) passwd = user.user.password assert user.user.username == test_username assert bcrypt.hashpw(test_password,passwd) == passwd assert user.user.email == test_email auth_token = hashlib.sha224('%s%s' % (test_username,test_password)) assert user.user.auth_token == auth_token.hexdigest() assert user.get_auth_token() == auth_token.hexdigest() db = MongoModel(project='internal',collection='user') test_result = db.query({'username':test_username}) assert test_result['username'] == test_username assert test_result['email'] == test_email assert bcrypt.hashpw(test_password,test_result['password']) == test_result['password'] assert test_result['auth_token'] == auth_token.hexdigest() db.delete({'username':test_username})
def test_user_settings_email(): test_client = webapp.app.test_client() user = User() username = '******' password = '******' user.login(username,password) result = test_client.post('/login/',data={ 'username':username, 'password':password },follow_redirects=True) result = test_client.get('/settings/',follow_redirects=True) assert user.user.email in result.data # create an update call, then check data # remember to reauthenticate result = test_client.post('/settings/',data={ 'email':'*****@*****.**' },follow_redirects=True) user = User() user.login(username,password) assert user.user.email == '*****@*****.**' db = MongoModel(project=user.project,collection=user.collection) db.delete({'_id':user.user.id})
def test_project_create(): # login user get token user = User() user.login('test_user','test_pass') api_key = user.user.auth_token # do a post url = '/api/project/?api_key=%s' % api_key # now check project in user test_client = webapp.app.test_client() data = {'name':'project create','description':'project content create'} result = test_client.post(url,data=json.dumps(data),content_type='application/json') status = json.loads(result.data) assert status['status'] project = ProjectList() test_user = User() test_user.login('test_user','test_pass') print test_user.user.project registered = False for i in project.all(): if i.get_id() in test_user.get_project(): registered = True assert registered, "project not in user project" exist = False for i in project.all(): if 'project create' == i.project.name: exist = True assert exist, "project created" # now delete it project = Project() model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'name':'project create'})
def teardown_user_project(): user = User() model = MongoModel(project=user.project,collection=user.collection) model.delete({'username':'******'}) project = Project() model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'name':'project update'}) model.conn.drop_database('project_update')
def test_insert_remove(): model = MongoModel() model.insert({'a':1,'b':2}) data = model.query({'a':1}) assert data['b'] == 2 model.delete({'a':1}) data = model.query({'a':1}) assert not data
def teardown_project_delete(): user = User() user.login('test_user_delete_api_project','test_pass') project = Project() model = MongoModel(project=user.project,collection=user.collection) model.delete({'_id':ObjectId(user.user.id)}) project.find('project 1') model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'name':'project 1'}) model.conn.drop_database('project_1')
def teardown_test_load_data(): project = Project() project.find('test load data') fs = gridfs.GridFS(project.get_db()) for entry in project.project.input_file: for file_id in project.project.input_file[entry]: fs.delete(ObjectId(file_id)) db = MongoModel(project='internal',collection='project') db.delete({'name':'test load data'}) db.conn.drop_database('test_load_data')
def teardown_project(): data = ( ('project 1','project content 1'), ('project 2','project content 2'), ('project 3','project content 3') ) for d in data: project = Project() project.find(d[0]) model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'_id':ObjectId(str(project.project.id))}) model.conn.drop_database(d[0].replace(' ','_'))
def test_project_create(): project = Project() test_project_name = 'test project db' test_project_desc = 'test_project_desc' project.create(test_project_name,test_project_desc) assert project.project.name == test_project_name assert project.project.description == test_project_desc assert project.project.entries == [] db = MongoModel(project='internal',collection='project') test_data = db.query({'name':test_project_name}) assert test_data['name'] == test_project_name assert test_data['description'] == test_project_desc db.delete({'name':test_project_name})
def delete(self,project_id): api_key = request.args.get('api_key') if not authorized(api_key,project_id): return jsonify({'status':False}) user = User() user.api_login(api_key) project = Project() project.get(project_id) if not project.get_id() in user.user.project: return jsonify({'status':False}) user.remove_project(project.get_id()) model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'_id':objectid.ObjectId(str(project_id))}) return jsonify({'status':True})
def teardown_user_project_list(): user = User() model = MongoModel(project=user.project,collection=user.collection) model.delete({'username':'******'}) project = Project() model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'name':'project list 1'}) model.conn.drop_database('project_list_1') model.delete({'name':'project list 2'}) model.conn.drop_database('project_list_2') model.delete({'name':'project list 3'}) model.conn.drop_database('project_list_3')
def test_insert(): user = User() user.login('test_user','test_pass') api_key = user.user.auth_token client = webapp.app.test_client() data = {'a':1} project = Project() project.find('scraped') entry_id = project.find_entry('entry') url = '/api/db/%s/%s/?api_key=%s' % (project.project.id,entry_id,api_key) response = client.post(url,data=json.dumps(data), content_type='application/json') status = json.loads(response.data) assert status['status'] mongo = MongoModel(project='scraped',collection='entry') check = mongo.all() assert check[0]['a'] == 1 mongo.delete(check[0])
def teardown_test_update(): mongo = MongoModel(project='test_api_update',collection='test_api_entry') mongo.delete({'a':2}) user = User() user.login('test_user_api_update','test_pass') model = MongoModel(project=user.project,collection=user.collection) model.delete({'_id':objectid.ObjectId(str(user.user.id))}) model = MongoModel(project='internal',collection='project') model.delete({'name':'test api update'})
def teardown_test_login(): db = MongoModel(project='internal',collection='user') db.delete({'username':'******'})
def teardown_test_project_db(): db = MongoModel(project='internal',collection='project') db.delete({'name':'test project db'}) db.conn.drop_database('test_project_db')
def teardown_user_settings_email(): user = User() user.login('test_user_email','test_password') db = MongoModel(project=user.project,collection=user.collection) db.delete({'username':'******'})
def teardown_register(): user = User() user.login('test_register','test_password') db = MongoModel(project=user.project,collection=user.collection) db.delete({'username':'******'})
def teardown_login(): user = User() user.login('test_user','test_password') db = MongoModel(project=user.project,collection=user.collection) db.delete({'_id':user.user.id})
def teardown_user(): user = User() user.login('test_user','test_pass') model = MongoModel(project=user.project,collection=user.collection) model.delete({'username':'******'})
def teardown_test_get(): model = MongoModel(project='scraped',collection='entry') model.delete({'a':1}) model = MongoModel(project='internal',collection='project') model.delete({'name':'scraped'})
def teardown_test_project_create(): project = Project() model = MongoModel(project=project.project_,collection=project.collection_) model.delete({'name':'project create'}) teardown_user()
def teardown_test_update(): model = MongoModel() model.delete({'a':1})
def teardown_project_view(): db = MongoModel(project='internal',collection='project') db.delete({'name':'project view'})