@@ -74,6 +74,7 @@ class VueSSRServer:
7474 def __init__ (
7575 self ,
7676 manifest : str ,
77+ command : list [str ],
7778 cwd = settings .FRONTEND_DIR ,
7879 port = 22634 ,
7980 socket : str | None = None ,
@@ -82,18 +83,19 @@ def __init__(
8283 self .cwd = cwd
8384 self .port = str (port )
8485 self .socket = socket
86+ self .command = command
8587
8688 def start (self ):
8789 """
8890 Start the Vite dev server.
8991 """
9092
91- args = [ "pnpm" , "exec" , "vue-ssr-service" ]
93+ args = list ( self . command )
9294
9395 if self .socket :
9496 args += ["--socket" , self .socket ]
9597 else :
96- args += ["--port" , self .port , "--host" , "localhost" ]
98+ args += ["--port" , self .port ]
9799
98100 args += [self .manifest ]
99101
@@ -105,7 +107,8 @@ def start(self):
105107
106108 while True :
107109 line = self .process .stdout .readline ()
108- print (line )
110+ if line :
111+ print (line )
109112 if b"Server running" in line :
110113 print ("Vue SSR server started" )
111114 break
@@ -130,25 +133,33 @@ def vite_dev_server():
130133 server .stop ()
131134
132135
133- @pytest .fixture ()
134- def vue_ssr_server ():
136+ COMMANDS = [["pnpm" , "exec" , "vue-ssr-service" ], ["bun" , "run" , "vue-ssr-service" ]]
137+
138+
139+ @pytest .fixture (params = COMMANDS )
140+ def vue_ssr_server (request ):
135141 """
136142 Fixture to start and stop the Vue SSR server.
137143 """
138- server = VueSSRServer (settings .FRONTEND_DIR / "dist" / "server" / "manifest.json" )
144+ server = VueSSRServer (
145+ str (settings .FRONTEND_DIR / "dist" / "server" / "manifest.json" ),
146+ command = request .param ,
147+ )
139148 server .start ()
140149 yield server
141150 server .stop ()
142151
143152
144- @pytest .fixture ()
145- def vue_ssr_socket_server ():
153+ @pytest .fixture (params = COMMANDS )
154+ def vue_ssr_socket_server (request ):
146155 """
147156 Fixture to start and stop the Vue SSR server with a socket.
148157 """
149- socket = str (Path ("foo .sock" ).resolve ())
158+ socket = str (Path ("test-socket .sock" ).resolve ())
150159 server = VueSSRServer (
151- settings .FRONTEND_DIR / "dist" / "server" / "manifest.json" , socket = socket
160+ str (settings .FRONTEND_DIR / "dist" / "server" / "manifest.json" ),
161+ command = request .param ,
162+ socket = socket ,
152163 )
153164 server .start ()
154165 yield server
0 commit comments