mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
138 lines
3.4 KiB
Python
138 lines
3.4 KiB
Python
import json
|
|
from flask import Flask
|
|
from flask import request, make_response
|
|
|
|
app = Flask(__name__)
|
|
|
|
""" storage all users' data
|
|
data structure:
|
|
users_dict = {
|
|
'uid1': {
|
|
'name': 'name1',
|
|
'password': 'pwd1'
|
|
},
|
|
'uid2': {
|
|
'name': 'name2',
|
|
'password': 'pwd2'
|
|
}
|
|
}
|
|
"""
|
|
users_dict = {}
|
|
|
|
@app.route('/')
|
|
def index():
|
|
return "Hello World!"
|
|
|
|
@app.route('/status_code/<int:status_code>')
|
|
def get_response_with_status_code(status_code):
|
|
return "Status Code: %d" % status_code, status_code
|
|
|
|
@app.route('/response_headers', methods=['POST'])
|
|
def get_response_with_headers():
|
|
headers_dict = request.get_json()
|
|
content = "Response headers: %s" % json.dumps(headers_dict)
|
|
response = make_response(content)
|
|
for header_key, header_value in headers_dict.items():
|
|
response.headers[header_key] = header_value
|
|
return response
|
|
|
|
@app.route('/api/users')
|
|
def get_users():
|
|
users_list = [user for uid, user in users_dict.items()]
|
|
users = {
|
|
'success': True,
|
|
'count': len(users_list),
|
|
'items': users_list
|
|
}
|
|
response = make_response(json.dumps(users))
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|
|
|
|
@app.route('/api/users', methods=['DELETE'])
|
|
def clear_users():
|
|
users_dict.clear()
|
|
result = {
|
|
'success': True
|
|
}
|
|
response = make_response(json.dumps(result))
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|
|
|
|
@app.route('/api/users/<int:uid>', methods=['POST'])
|
|
def create_user(uid):
|
|
user = request.get_json()
|
|
if uid not in users_dict:
|
|
result = {
|
|
'success': True,
|
|
'msg': "user created successfully."
|
|
}
|
|
status_code = 201
|
|
users_dict[uid] = user
|
|
else:
|
|
result = {
|
|
'success': False,
|
|
'msg': "user already existed."
|
|
}
|
|
status_code = 500
|
|
|
|
response = make_response(json.dumps(result), status_code)
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|
|
|
|
@app.route('/api/users/<int:uid>')
|
|
def get_user(uid):
|
|
user = users_dict.get(uid, {})
|
|
if user:
|
|
result = {
|
|
'success': True,
|
|
'data': user
|
|
}
|
|
status_code = 200
|
|
else:
|
|
result = {
|
|
'success': False,
|
|
'data': user
|
|
}
|
|
status_code = 404
|
|
|
|
response = make_response(json.dumps(result), status_code)
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|
|
|
|
@app.route('/api/users/<int:uid>', methods=['PUT'])
|
|
def update_user(uid):
|
|
user = users_dict.get(uid, {})
|
|
if user:
|
|
user = request.get_json()
|
|
success = True
|
|
status_code = 200
|
|
else:
|
|
success = False
|
|
status_code = 404
|
|
|
|
result = {
|
|
'success': success,
|
|
'data': user
|
|
}
|
|
response = make_response(json.dumps(result), status_code)
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|
|
|
|
@app.route('/api/users/<int:uid>', methods=['DELETE'])
|
|
def delete_user(uid):
|
|
user = users_dict.pop(uid, {})
|
|
if user:
|
|
success = True
|
|
status_code = 200
|
|
else:
|
|
success = False
|
|
status_code = 404
|
|
|
|
result = {
|
|
'success': success,
|
|
'data': user
|
|
}
|
|
response = make_response(json.dumps(result), status_code)
|
|
response.headers["Content-Type"] = "application/json"
|
|
return response
|