Ejemplo n.º 1
0
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'})
Ejemplo n.º 2
0
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'})
Ejemplo n.º 3
0
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})
Ejemplo n.º 4
0
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})
Ejemplo n.º 5
0
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'})
Ejemplo n.º 6
0
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')
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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')
Ejemplo n.º 9
0
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')
Ejemplo n.º 10
0
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(' ','_'))
Ejemplo n.º 11
0
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})
Ejemplo n.º 12
0
 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})
Ejemplo n.º 13
0
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')
Ejemplo n.º 14
0
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])
Ejemplo n.º 15
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'})
Ejemplo n.º 16
0
def teardown_test_login():
    db = MongoModel(project='internal',collection='user')
    db.delete({'username':'******'})
Ejemplo n.º 17
0
def teardown_test_project_db():
    db = MongoModel(project='internal',collection='project')
    db.delete({'name':'test project db'})
    db.conn.drop_database('test_project_db')
Ejemplo n.º 18
0
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':'******'})
Ejemplo n.º 19
0
def teardown_register():
    user = User()
    user.login('test_register','test_password')
    db = MongoModel(project=user.project,collection=user.collection)
    db.delete({'username':'******'})
Ejemplo n.º 20
0
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})
Ejemplo n.º 21
0
def teardown_user():
    user = User()
    user.login('test_user','test_pass')
    model = MongoModel(project=user.project,collection=user.collection)
    model.delete({'username':'******'})
Ejemplo n.º 22
0
def teardown_test_get():
    model = MongoModel(project='scraped',collection='entry')
    model.delete({'a':1})
    model = MongoModel(project='internal',collection='project')
    model.delete({'name':'scraped'})
Ejemplo n.º 23
0
def teardown_test_project_create():
    project = Project()
    model = MongoModel(project=project.project_,collection=project.collection_)
    model.delete({'name':'project create'})
    teardown_user()
Ejemplo n.º 24
0
def teardown_test_update():
    model = MongoModel()
    model.delete({'a':1})
Ejemplo n.º 25
0
def teardown_project_view():
    db = MongoModel(project='internal',collection='project')
    db.delete({'name':'project view'})