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')
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"'
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
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]
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'] == []
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']]
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
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"'
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))
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
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')
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'] }
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'])))
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')
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'])))