Exemplo n.º 1
0
def test_update():
    user = User()
    user.login('test_user_api_update','test_pass')
    api_key = user.user.auth_token

    project = Project()
    project.find('test api update')
    entry_id = project.find_entry('test api entry')
    print user.get_project()
    print project.get_id()
    mongo = MongoModel(project='test_api_update',collection='test_api_entry')
    data = mongo.query({'a':1})
    print data
    id = str(data['_id'])
    updated = {'a':2}
    url = '/api/db/%s/%s/%s/?api_key=%s' % (project.project.id,entry_id,id,api_key) 
    
    client = webapp.app.test_client()
    response = client.put(url, data = json.dumps(updated),
            content_type='application/json')
    print response.data
    status = json.loads(response.data)
    
    assert status['status']
  
    updated_data = mongo.query({'_id':objectid.ObjectId(id)})
    assert updated_data['a'] == 2
Exemplo n.º 2
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})
Exemplo n.º 3
0
def test_user_settings_password():
    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.auth_token in result.data

    # create an update call, then check data
    # remember to reauthenticate 
    
    password = '******'
    result = test_client.post('/settings/',data={
        'password':password,
        'confirm':password
    },follow_redirects=True)

    user = User()    
    user.login(username,password)
    
    assert user.is_authenticated()
    assert user.user.auth_token in result.data
Exemplo n.º 4
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'})
Exemplo n.º 5
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'})
Exemplo n.º 6
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'})
Exemplo n.º 7
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'})
Exemplo 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')
Exemplo n.º 9
0
def test_user_project_list():
    user = User()
    user.login('test_user_list','test_pass')
    api_key = user.user.auth_token
    test_client = webapp.app.test_client()
    data = {'action':'user_list'}
    url = '/api/project/?api_key=%s' % api_key
    result = test_client.get(url)
    print result.data
    assert 'project list 1' in result.data
    assert 'project list 2' in result.data
Exemplo n.º 10
0
def test_user_registration():
    username = '******'
    password = '******'
    email = '*****@*****.**'

    test_client = webapp.app.test_client()
    create = test_client.post('/register/',data={
        'username':username,
        'password':password,
        'confirm':password,
        'email':email    
    },follow_redirects=True)
    
    user = User()
    user.login(username,password)
    assert user.is_authenticated()
Exemplo n.º 11
0
def test_user_project_join():
    user = User()
    user.login('test_user_list','test_pass')
    api_key = user.user.auth_token
    test_client = webapp.app.test_client()
    project = Project()
    project.find('project list 3')
    
    url = '/api/project/%s/?api_key=%s' % (project.project.id,api_key)

    data = {'project':'project list 3','action':'join'}

    result = test_client.put(url,data=json.dumps(data),content_type='application/json')
    user.login('test_user_list','test_pass')
    print user.user.project
    assert str(project.get_id()) in user.user.project
Exemplo n.º 12
0
def test_project_update():
    user = User()
    user.login('test_user_update_project','test_pass')
    api_key = user.user.auth_token
    project = Project()
    project.find('project update')
    test_client = webapp.app.test_client()
    url = '/api/project/%s/?api_key=%s' % (project.project.id,api_key)
    data = json.dumps({'description':'project updated content'})
    result = test_client.put(url,data=data,content_type='application/json')
    status = json.loads(result.data)
    print status
    assert status['status']
    
    project=Project()
    project.find('project update')
    assert project.project.description == 'project updated content'
Exemplo n.º 13
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])
Exemplo n.º 14
0
def login():
    form = LoginForm(csrf_enabled=False)
    user = User()
    if form.validate_on_submit():
	username = form.username.data
        password = form.password.data
        user = user.login(username,password)
        login_user(user)
        flash('user is logged in')
        identity_changed.send(current_app._get_current_object(),identity=Identity(user.user.id))
        return redirect(request.args.get('next') or '/')
    return render_template('login.html',form=form)
Exemplo n.º 15
0
def test_delete():
    user = User()
    user.login('test_user','test_pass')
    api_key = user.user.auth_token
    mongo = MongoModel(project='scraped',collection='entry')
    client = webapp.app.test_client()

    mongo.insert({'a':1})
    
    data = mongo.query({'a':1})
    id = str(data['_id'])
    project = Project()
    project.find('scraped')
    entry_id = project.find_entry('entry')
    url = '/api/db/%s/%s/%s/?api_key=%s' % (project.project.id,entry_id,id,api_key) 
    response = client.delete(url)

    status = json.loads(response.data)
    assert status['status']
    
    check = mongo.query({'_id':objectid.ObjectId(id)})
    assert not check
Exemplo n.º 16
0
def test_project_delete():
    # login user get token
    user = User()
    user.login('test_user_delete_api_project','test_pass')
    
    api_key = user.user.auth_token
    print api_key
    project = Project()
    project.find('project 1')
    project_id = project.get_id()
    # do a delete
    test_client = webapp.app.test_client()
    url = '/api/project/%s/?api_key=%s' % (project.project.id,api_key)
    result = test_client.delete(url)
    status = json.loads(result.data)
    # now check user don't exist
    project = Project()
    model = MongoModel(project=project.project_,collection=project.collection_)
    data = model.query({'name':'project 1'})
    assert not data

    test_user = User()
    test_user.login('test_user_delete','test_pass')
    assert project_id not in test_user.user.project
Exemplo n.º 17
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':'******'})
Exemplo n.º 18
0
def teardown_user():
    user = User()
    user.login('test_user','test_pass')
    model = MongoModel(project=user.project,collection=user.collection)
    model.delete({'username':'******'})
Exemplo 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':'******'})
Exemplo 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})