Beispiel #1
0
def test_patch_user_ok(client, db):
    testuser = User("testuserx", "*****@*****.**", "Test@1010")
    db.session.add(testuser)
    db.session.commit()

    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        'email': '*****@*****.**',
        'name': 'John Doe',
        'username': '******'
    }

    response = client.patch('/user/account', json=data, headers=headers)

    assert response.status_code == 200
    rdata = response.get_json()
    assert data['email'] == rdata['email']
    duser = db.session.query(User).getByEmail(data['email'])
    assert duser is not None
    assert duser.email == data['email']
    assert duser.fullname == data['name']
    assert duser.name == data['username']
Beispiel #2
0
def createProject(client):
    projectToken = get_token(client, {
        'login': '******',
        'password': '******'
    })
    projectHeaders = {'Authorization': 'Bearer ' + projectToken}
    projectData = {
        'name': 'Test project',
        'description': '',
        'collaborators': {
            'contributors': ['testuser3']
        }
    }
    projectResponse = client.post('/projects/project',
                                  json=projectData,
                                  headers=projectHeaders)
    assert 2 == projectResponse.get_json()['id']
    projectResponse = client.post('/projects/project',
                                  json=projectData,
                                  headers=projectHeaders)
    assert 3 == projectResponse.get_json()['id']
    projectResponse = client.post('/projects/project',
                                  json=projectData,
                                  headers=projectHeaders)
    assert 4 == projectResponse.get_json()['id']
Beispiel #3
0
def test_get_user_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/users/testuser/account', headers=headers)

    assert response.status_code == 200
Beispiel #4
0
def test_view_error(client, id, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/modules/' + str(id), headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
Beispiel #5
0
def test_view_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('projects/1', headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == 'Test project'
Beispiel #6
0
def test_create_errors(client, data, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.post('/projects/project', json=data, headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
    assert response.get_json()['invalid'] == expected['invalid']
Beispiel #7
0
def test_get_users_error(client, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/users', headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
    assert response.get_json()['invalid'] == expected['invalid']
Beispiel #8
0
def test_delete_error(client, id, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.delete('/projects/' + str(id), headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
    assert response.get_json()['invalid'] == expected['invalid']
Beispiel #9
0
def test_patch_user_error(client, data, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.patch('/user/account', json=data, headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
    assert response.get_json()['invalid'] == expected['invalid']
Beispiel #10
0
def test_get_users_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/users', headers=headers)

    assert response.status_code == 200
    data = response.get_json()
    assert 'users' in data
Beispiel #11
0
def test_patch_no_data(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {}

    response = client.patch('projects/1', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == 'Test project'
Beispiel #12
0
def test_api_add_contributor_error(client, id, data, login, expected):
    headers = {}
    if login != {}:
        token = get_token(client, login)
        headers = {'Authorization': 'Bearer ' + token}

    response = client.post('/projects/' + str(id) + '/users',
                           json=data,
                           headers=headers)

    assert response.status_code == expected['code']
    assert response.get_json()['message'] == expected['message']
    assert response.get_json()['invalid'] == expected['invalid']
Beispiel #13
0
def test_patch_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {'name': 'My Project Now', 'description': 'Random text'}

    response = client.patch('projects/1', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] != 'Test project'
    assert response.get_json()['name'] == 'My Project Now'
    assert response.get_json()['description'] == 'Random text'
Beispiel #14
0
def test_patch_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        "description": "kkk",
    }
    response = client.patch('/modules/1', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == '--'
    assert response.get_json()['description'] == 'kkk'
Beispiel #15
0
def test_get_our_data_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/user/account', headers=headers)

    assert response.status_code == 200
    data = response.get_json()
    assert 'name' in data
    assert 'email' in data
    assert 'avatar' in data
    assert 'username' in data
Beispiel #16
0
def test_delete_user_ok(client, db):
    testuser = User("testusery", "*****@*****.**", "Test@1010")
    db.session.add(testuser)
    db.session.commit()

    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.delete('/user/account', headers=headers)

    assert response.status_code == 200
    duser = db.session.query(User).getByEmail('*****@*****.**')
    assert duser.delete is not None
Beispiel #17
0
def test_delete_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.delete('projects/1', headers=headers)

    assert response.status_code == 200
    assert response.get_json()['message'] == 'Project was removed.'

    response = client.delete('projects/1', headers=headers)

    assert response.status_code == 404
    assert response.get_json()['message'] == "Project doesn't exist."
Beispiel #18
0
def test_api_rm_contributor(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    data = {'username': '******'}
    headers = {'Authorization': 'Bearer ' + token}

    response = client.delete('/projects/1/users', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['message'] == 'User was removed.'

    response = client.delete('/projects/1/users', json=data, headers=headers)

    assert response.status_code == 202
    assert response.get_json()['message'] == 'This user is not a collaborator.'
Beispiel #19
0
def test_create_project_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        'name': 'Test project',
        'description': '',
        'collaborators': {
            'contributors': ['testuser3']
        }
    }
    response = client.post('/projects/project', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == 'Test project'
Beispiel #20
0
def test_stats_get_ok(client, db):
    users = User.query.get_all().count()
    packages = Package.query.get_all().count()
    projects = Project.query.get_all().count()

    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('/stats/common', headers=headers)

    assert response.status_code == 200
    data = response.get_json()
    assert data['users'] == users
    assert data['packages'] == packages
    assert data['projects'] == projects
Beispiel #21
0
def test_delete_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.delete('modules/2', headers=headers)

    # assert response.status_code == 200
    # assert response.get_json()['invalid'] == "Module was deleted."
    assert response.get_json()['message'] == 'Module was deleted.'

    response = client.delete('modules/1', headers=headers)

    # assert response.status_code == 200
    # assert response.get_json()['invalid'] == "Module was deleted."
    assert response.get_json()['message'] == "Module was deleted."
Beispiel #22
0
def test_api_add_contributor_duplicate(client):
    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    data = {'username': '******'}
    headers = {'Authorization': 'Bearer ' + token}

    response = client.post('/projects/1/users', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['message'] == 'User added.'

    response = client.post('/projects/1/users', json=data, headers=headers)

    assert response.status_code == 202
    assert response.get_json(
    )['message'] == 'This user is already a member of this project.'
Beispiel #23
0
def test_view_ok(client):
    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}

    response = client.get('modules/2', headers=headers)

    assert response.status_code == 200
    assert response.get_json()['project_id'] == 3
    assert response.get_json()['name'] == 'k k k_KEK'
    assert response.get_json()['description'] == ''
    assert response.get_json()['dependency'] == [
        '--',
    ]

    assert response.get_json()['content']['type'] == "text"
    assert response.get_json()['content']['body'] == "reeeeeeeeeeeeeeeeee"
Beispiel #24
0
def test_update_passwd_user_ok(client, db, app):
    testuser = User("testuserz", "*****@*****.**", "Test@1010")
    db.session.add(testuser)
    db.session.commit()

    token = get_token(client, {
        'login': '******',
        'password': '******'
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        'old_password': '******',
        'new_password': '******',
    }

    response = client.patch('/user/account/password', json=data,
                            headers=headers)

    assert response.status_code == 200
    duser = db.session.query(User).getByEmail('*****@*****.**')
    assert app.bcrypt.check_password_hash(duser.password, data['new_password'])
Beispiel #25
0
def test_create_module_ok(client):
    createProject(client)
    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        "project": 3,
        "name": "--",
        "description": "",
        "dependency": "independent",
        "content": {
            "body": "reeeeeeeeeeeeeeeeee",
        },
    }
    response = client.post('/modules/module', json=data, headers=headers)

    assert response.get_json()['id'] == 1
    assert response.status_code == 200
    assert response.get_json()['name'] == '--'

    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        "project": 3,
        "name": "k k k_KEK",
        "description": "",
        "dependency": [
            "--",
        ],
        "content": {
            "type": "text",
            "body": "reeeeeeeeeeeeeeeeee",
        },
    }
    response = client.post('/modules/module', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == 'k k k_KEK'

    token = get_token(client, {
        'login': '******',
        'password': '******',
    })
    headers = {'Authorization': 'Bearer ' + token}
    data = {
        "project": 4,
        "name": "---",
        "description": "",
        "dependency": "independent",
        "content": {
            "body": "reeeeeeeeeeeeeeeeee",
        },
    }
    response = client.post('/modules/module', json=data, headers=headers)

    assert response.status_code == 200
    assert response.get_json()['name'] == '---'