Ejemplo n.º 1
0
def event_upload():
    print('Enter event description csv to upload')
    event_file = input('>')

    with open(event_file, 'r') as f:
        events = csv.DictReader(f, delimiter=',')

        for event in events:
            event['startTime'] = int(
                time.mktime(
                    datetime.strptime(event['startTime'],
                                      '%m/%d/%Y %H:%M').timetuple()))
            event['endTime'] = int(
                time.mktime(
                    datetime.strptime(event['endTime'],
                                      '%m/%d/%Y %H:%M').timetuple()))

            event['latitude'] = float(event['latitude'])
            event['longitude'] = float(event['longitude'])

            event_data = json.dumps(event)

            response, success = api.make_request('POST',
                                                 '/event/',
                                                 data=event_data)

            if not success:
                print('Failed to upload event {}'.format(event_data))

    print('Finished uploading events')
Ejemplo n.º 2
0
def test_add_error_without_post(deleted_post):
    result, result_status_code = make_request(method=Method.likes_add,
                                              type=ObjectType.post,
                                              item_id=deleted_post)

    assert result_status_code == requests.codes.ok
    assert result['error']['error_code'] == 100, 'Expected error "object was not found"'
Ejemplo n.º 3
0
def test_is_liked_success_with_deleted_post(deleted_post):
    result, result_status_code = make_request(method=Method.likes_is_liked,
                                              type=ObjectType.post,
                                              item_id=deleted_post)

    assert result_status_code == requests.codes.ok
    assert result['response']['liked'] == 0
Ejemplo n.º 4
0
def test_get_list_success(post, like):
    result, result_status_code = make_request(method=Method.likes_get_list,
                                              type=ObjectType.post,
                                              item_id=post)

    assert result['response']['count'] == 1
    assert result['response']['items'] == [config.owner_id]
Ejemplo n.º 5
0
def test_get_list_success_with_deleted_post(deleted_post):
    result, result_status_code = make_request(method=Method.likes_get_list,
                                              type=ObjectType.post,
                                              item_id=deleted_post)

    assert result['response']['count'] == 0
    assert result['response']['items'] == []
Ejemplo n.º 6
0
def get_pending_applicants():
    data, success = api.make_request('GET', '/decision/filter/?status=PENDING')

    if not success:
        print('Failed to retreive decisions')
        return {}

    return [decision['id'] for decision in data['decisions']]
Ejemplo n.º 7
0
def test_is_liked_success_like_set(post, like):
    result, result_status_code = make_request(method=Method.likes_is_liked,
                                              type=ObjectType.post,
                                              item_id=post)

    assert result_status_code == requests.codes.ok
    assert 'error' not in result
    assert result['response']['liked'] == 1
Ejemplo n.º 8
0
def test_delete_error_without_likes(post):
    result, result_status_code = make_request(method=Method.likes_delete,
                                              type=ObjectType.post,
                                              item_id=post)

    assert result_status_code == requests.codes.ok
    assert result['error'][
        'error_code'] == 15, 'Expected error "Access denied"'
Ejemplo n.º 9
0
def stat_download():
    data, success = api.make_request('GET', '/stat/')

    if not success:
        print('Failed to download stats')
        return

    print(json.dumps(data, indent=4, sort_keys=True))
Ejemplo n.º 10
0
def test_delete_success(post, like):
    assert like['likes'] == 1

    result, result_status_code = make_request(method=Method.likes_delete,
                                              type=ObjectType.post,
                                              item_id=post)

    assert result_status_code == requests.codes.ok
    assert 'error' not in result
    assert result['response']['likes'] == 0
Ejemplo n.º 11
0
def admit_applicant(user_id, wave):
    decision = json.dumps({'id': user_id, 'status': 'ACCEPTED', 'wave': wave})

    data, success = api.make_request('POST', '/decision/', data=decision)

    if not success:
        print('Failed to update user decision')
        return

    finalization = json.dumps({'id': user_id, 'finalized': True})

    data, success = api.make_request('POST',
                                     '/decision/finalize/',
                                     data=finalization)

    if not success:
        print('Failed to finalize user decision')
        return

    print('Admitted applicant')
Ejemplo n.º 12
0
def get_registrations():
    data, success = api.make_request('GET', '/registration/attendee/list/')

    if not success:
        print('Failed to retreive registrations')
        return {}

    return {
        registration['id']: registration
        for registration in data['registrations']
    }
Ejemplo n.º 13
0
def auth_queryrole():
    print('Enter the email for the user')
    email = input('>')

    user_id, success = api.get_id_by_email(email)

    if not success:
        print('Failed to find user by email')
        return

    data, success = api.make_request('GET', '/auth/roles/{}/'.format(user_id))

    if not success:
        print('Failed to query user roles')
        return

    print('Roles: {}'.format(','.join(data['roles'])))
Ejemplo n.º 14
0
def registration_download():
    data, success = api.make_request('GET', '/registration/attendee/list/')

    if not success:
        print('Failed to download registrations')
        return

    registrations = [dict_flatten(reg) for reg in data['registrations']]
    fields = registrations[0].keys()

    print('Enter the csv file location to save registration')
    output_file = input('>')

    with open(output_file, 'w') as f:
        csv_writer = csv.DictWriter(f, fieldnames=fields)
        csv_writer.writeheader()

        for registration in registrations:
            csv_writer.writerow(registration)

    print('Saved registrations to file')
Ejemplo n.º 15
0
def auth_removerole():
    print('Enter the email for the user')
    email = input('>')

    user_id, success = api.get_id_by_email(email)

    if not success:
        print('Failed to find user by email')
        return

    print('Enter the role to remove')
    role = input('>')

    role_modification = json.dumps({'id': user_id, 'role': role})

    data, success = api.make_request('PUT',
                                     '/auth/roles/remove/',
                                     data=role_modification)

    if not success:
        print('Failed to update user roles')
        return

    print('Updated roles: {}'.format(','.join(data['roles'])))