From f181bd8186ae645afe933df78219cb9132dfb6db Mon Sep 17 00:00:00 2001 From: Sam Mirazi Date: Fri, 30 May 2025 22:15:19 -0700 Subject: [PATCH] 4 --- app_flask/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 182 bytes app_flask/__pycache__/app.cpython-312.pyc | Bin 0 -> 707 bytes app_flask/app.py | 13 +++++++ project/tests/test_flask_route.py | 32 ------------------ ...t_flask_route.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 3026 bytes tests/test_flask_route.py | 26 ++++++++++++++ 7 files changed, 40 insertions(+), 32 deletions(-) create mode 100644 app_flask/__init__.py create mode 100644 app_flask/__pycache__/__init__.cpython-312.pyc create mode 100644 app_flask/__pycache__/app.cpython-312.pyc create mode 100644 app_flask/app.py delete mode 100644 project/tests/test_flask_route.py create mode 100644 tests/__pycache__/test_flask_route.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/test_flask_route.py diff --git a/app_flask/__init__.py b/app_flask/__init__.py new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/app_flask/__init__.py @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app_flask/__pycache__/__init__.cpython-312.pyc b/app_flask/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d7622b8edf191d1111fa85008c03e72110c18fd GIT binary patch literal 182 zcmX@j%ge<81PQ%X8H_;sF^Gc>KC=KtrZZGBXfpb(WGG?+@;-yq{0eopiU}=FEh>%) zPRxyQNiEJU$uEcr&P+*F2q?D1U9rF`CW0RBVQ1sY{C03+l|o;(lhjitW8RVMC_(wgx}565Y%r_nbOCDV51@tD zX$u^nl{>u`eg(=}ab7||KGMljQv=63x-xD1yJZ%J+&&gOvgcmxg40hc_Cn=PR1`WW zNkz?wsb0(+l2D~_V#$!PSQu;ioEn}qzU+V1{et^UG9lfXAGt*)+lt3-tr;-8DtL=E zlypnJRFA8N_H(%y=$8FPn+dzfTio^I*gG~?V$j{Vr@Qlr3G)&g`jdM)4d4$=jVi;+ z`1JhAWyT&9zh`#e72iMjn#q5r`I)9blJdOBZ+1M-Nhj94qcHo~bMC{42i=f85;t^dc9kWarUW7M18#qV%&(2ixO~P3-bTB-4eK;jRZ_elZ2Rm<{EdT%j literal 0 HcmV?d00001 diff --git a/app_flask/app.py b/app_flask/app.py new file mode 100644 index 0000000..796ccf6 --- /dev/null +++ b/app_flask/app.py @@ -0,0 +1,13 @@ +from flask import Flask, Response +import time + +app = Flask(__name__) + +@app.route("/") +def home(): + time.sleep(3) # simulate slow work + html = "Hello from Flask :)" + return Response(html, mimetype="text/html") + +if __name__ == "__main__": + app.run() \ No newline at end of file diff --git a/project/tests/test_flask_route.py b/project/tests/test_flask_route.py deleted file mode 100644 index 57d2810..0000000 --- a/project/tests/test_flask_route.py +++ /dev/null @@ -1,32 +0,0 @@ -import httpx -import subprocess, time, os, signal - -def start_server(): - # Ensure the path to app_flask.app is correct if run from project/tests/ - # Assuming app_flask is a module in the parent directory of 'tests' when running pytest from 'project' - # Or, if running pytest from workspace root, it might need to be "project.app_flask.app" - # For now, let's assume pytest is run from the root and adjust if needed. - # The TDD uses "app_flask.app", which implies the app_flask directory is on PYTHONPATH - # or the command is run from a directory where 'app_flask' is a subdir. - # Let's adjust the command to be more robust from the workspace root. - proc = subprocess.Popen(["python", "-m", "project.app_flask.app"]) - time.sleep(0.2) # allow startup - return proc - -def test_home_returns_html(): - proc = start_server() - try: - r = httpx.get("http://127.0.0.1:5000/", timeout=10) - assert r.status_code == 200 - assert "Slow Flask Demo" in r.text - finally: - # On Windows, os.kill with SIGINT might not work as expected for subprocess.Popen. - # proc.terminate() or proc.send_signal(signal.CTRL_C_EVENT) might be more reliable. - # For now, sticking to TDD, but we might need to adjust this. - if os.name == 'nt': # Windows - proc.send_signal(signal.CTRL_C_EVENT) - # Or use taskkill - # subprocess.run(f"taskkill /F /PID {proc.pid} /T", check=True, shell=True) - else: # POSIX - os.kill(proc.pid, signal.SIGINT) - proc.wait(timeout=5) # Wait for process to terminate \ No newline at end of file diff --git a/tests/__pycache__/test_flask_route.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_flask_route.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bab6036ddc123f863769bcf4cd2107a9ef8ffcde GIT binary patch literal 3026 zcmd5;&2Jk;6rb5$+w1Q%RZXfEaOD=V6?K!ir6?s8g|;NEs45DFS{AFVcazvzd)=AI zCtfK)B~nr75e^(GPOSps%74&QT#`0bqE)0Kamp=fIG`dV-t2n421V+nAlCN0uiw1) zcHWyA|C~(55In}0gX6Y@(63zZAECu;zYomUNJlz0Q4zaTsEK6(qncC6aEq)i^+V!0K@C6EIW;kW$}3|}LLT`de%KO0{G zbPO{34llMaHew;)SPlDJKy|@KV$?*Jks@AHL?_&sW#d+TPB>DVOKOdVI%;ZkA`jdq z_p3-wj80x{5UXrZ>Vz&?4WsTztWqp(MSXHaU3bgtqK9CZN56$pBC{6Xw-Vp?VE@p=_^J6b8 zdOSUUVH<$xZ>t>vg}d6nfTzyYUgS`CY!pR|BiyITgPR$=$;P$ zT>--9n(e+JoyczA9?$?;#}GfrdM9kV$DV-`{a)1NZ^b$2Ry(9e^;k1h!LAf$d;APK zJY{@cK$~ITlTSZ|9Xf+;0e-ONdfbjcO?rYEJ_q%PG{q@o%T4*2)krjDs78{{2&&PM z*-mQ_@iY40S1qVU>R+lx1gas!ilgd2fBggMcP)n928b5}i_ht4*ki484x?F=L+mBr zR?YfcKo264A3WaI*LQT2A3$)BNBFr8$L;2lD?b&6h7>$kIMmyi9Z+cO;}(-0 z%5ttxp?Nrx*(6oVmTtuC?2uSV=al{$68 zrUeM<^r&>)nlyD6s*ah~Rn1iE8r+Iem1?5~_u!;XyYE}E>SqbDh_hQAwMb24sxi|r zwYtW@0(U7S??jnFY86l!jx?=R7~vPVlls7`$Jv=ig&4XcO;k)%i4tBevYR8~JUee$ z`#XhWokGDAyx^~Q3U746`Z|RH$`AUi|ByJ3mT}i<+^QMy-fWW8sXESTCMkfC1Ly+m z(Rs8Hf8h(bf478WsAnUw>(yPOCt)>lasjWWyKdPx>}5H3TZCc3zAdh#b89mH zKJsKwXpbwPz2->|19p{TJ?#VTs|{~60A5cYT$b~9@Q>lUVPKZi2k(TJ)A==-e;>6J zp7hX_Jia};liT(?*kf10Ww?!LGvHw>hN8(^sT-+Pxo1m|qCM-0F8=!8XbU5c64~E3 z(tFp^y({V7CrD@;Z(eAjzPhj#0`(tTk>}v$Px>}g-OCh)6XH@F z^D(_^{$jdN??B@gTX(DqMf(2WNR>ta@>F!RqgYF{2|J-=3Ccjy;^hwh= nMNWc_AN`d3*b*_uj}f|#K1)1Cxiyq~B870*b}Ef~+}VEtu?=