app.py
from flask import Flask, render_template, request,jsonify,json,g
import mysql.connector
app = Flask(__name__)
**class TestMySQL():**
@app.before_request
def before_request():
try:
g.db = mysql.connector.connect(user='root', password='root', database='mysql')
except mysql.connector.errors.Error as err:
resp = jsonify({'status': 500, 'error': "Error:{}".format(err)})
resp.status_code = 500
return resp
@app.route('/')
def input_info(self):
try:
cursor = g.db.cursor()
cursor.execute ('CREATE TABLE IF NOT EXISTS testmysql (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(40) NOT NULL, \
email VARCHAR(40) NOT NULL UNIQUE)')
cursor.close()
Run Code Online (Sandbox Code Playgroud)
test.py
from app import *
class Test(unittest.TestCase):
def test_connection1(self):
with …Run Code Online (Sandbox Code Playgroud) from flask import jsonify
@app.route('/urlinfo/1/<path:URL>', methods=['GET'])
def search(URL):
if something:
a=dict(message="everything is good"
resp=jsonify(a)
return resp
else:
a=dict(error="problem")
return jsonify(a)
Run Code Online (Sandbox Code Playgroud)
我正在使用它
curl http://127.0.0.1:5000/urlinfo/1/'https://www.youtube.com/'
Run Code Online (Sandbox Code Playgroud)
它以json格式返回所需的输出.
我为它写了一个Unittest
import unittest
def test_search_non_malicious_url(self):
#pass safe URL and test web service does not block it
new_URL= "183.434.44.44:90"
expected= {
"message": "Everything is good"
}
self.assertEqual("a",search(new_URL))
Run Code Online (Sandbox Code Playgroud)
单元测试失败,因为而不是返回字符串("消息":"一切都很好"),search(new_URL)返回响应流[200 OK]
如何将输出作为字典返回{"message": "Everything is good"}?
url1='www.google.com'
url2='http://www.google.com'
url3='http://google.com'
url4='www.google'
url5='http://www.google.com/images'
url6='https://www.youtube.com/watch?v=6RB89BOxaYY
Run Code Online (Sandbox Code Playgroud)
如何 从Python中删除http(s)和删除wwwURL?
DATABASE_URL- MYSQL://用户名:password @ host:port/database_name
错误:database_name没有属性.
if 'DATABASE_URL' in os.environ:
url = urlparse(os.getenv['DATABASE_URL'])
g['db'] = mysql.connector.connect(user=url.username,password=url.password, host=url.hostname ,port=url.port,path=url.path[1:])
Run Code Online (Sandbox Code Playgroud)