Add reset method for init and reset bp instance; update copy method

This commit is contained in:
Zhiwei Liang
2021-07-20 20:07:37 -05:00
parent d4cd897522
commit 80029d636d
2 changed files with 57 additions and 9 deletions

View File

@@ -5,20 +5,33 @@ from sanic.response import text
def test_bp_copy(app: Sanic):
bp1 = Blueprint("test1", version=1)
bp1 = Blueprint("test_bp1", version=1)
@bp1.route("/page")
def handle_request(request):
return text("Hello world!")
bp2 = bp1.copy(name="test2", version=2)
bp2 = bp1.copy(name="test_bp2", version=2)
assert id(bp1) != id(bp2)
app.blueprint(bp1)
app.blueprint(bp2)
bp3 = bp1.copy(name="test_bp3", version=3, with_registration=True)
bp4 = bp1.copy(name="test_bp4", version=4, with_ctx=True)
bp5 = bp1.copy(name="test_bp5", version=5, with_registration=False)
app.blueprint(bp5)
_, response = app.test_client.get("/v1/page")
assert "Hello world!" in response.text
_, response = app.test_client.get("/v2/page")
assert "Hello world!" in response.text
_, response = app.test_client.get("/v3/page")
assert "Hello world!" in response.text
_, response = app.test_client.get("/v4/page")
assert "Hello world!" in response.text
_, response = app.test_client.get("/v5/page")
assert "Hello world!" in response.text