@@ -74,6 +74,7 @@ class VueSSRServer:
74
74
def __init__ (
75
75
self ,
76
76
manifest : str ,
77
+ command : list [str ],
77
78
cwd = settings .FRONTEND_DIR ,
78
79
port = 22634 ,
79
80
socket : str | None = None ,
@@ -82,18 +83,19 @@ def __init__(
82
83
self .cwd = cwd
83
84
self .port = str (port )
84
85
self .socket = socket
86
+ self .command = command
85
87
86
88
def start (self ):
87
89
"""
88
90
Start the Vite dev server.
89
91
"""
90
92
91
- args = [ "pnpm" , "exec" , "vue-ssr-service" ]
93
+ args = list ( self . command )
92
94
93
95
if self .socket :
94
96
args += ["--socket" , self .socket ]
95
97
else :
96
- args += ["--port" , self .port , "--host" , "localhost" ]
98
+ args += ["--port" , self .port ]
97
99
98
100
args += [self .manifest ]
99
101
@@ -105,7 +107,8 @@ def start(self):
105
107
106
108
while True :
107
109
line = self .process .stdout .readline ()
108
- print (line )
110
+ if line :
111
+ print (line )
109
112
if b"Server running" in line :
110
113
print ("Vue SSR server started" )
111
114
break
@@ -130,25 +133,33 @@ def vite_dev_server():
130
133
server .stop ()
131
134
132
135
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 ):
135
141
"""
136
142
Fixture to start and stop the Vue SSR server.
137
143
"""
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
+ )
139
148
server .start ()
140
149
yield server
141
150
server .stop ()
142
151
143
152
144
- @pytest .fixture ()
145
- def vue_ssr_socket_server ():
153
+ @pytest .fixture (params = COMMANDS )
154
+ def vue_ssr_socket_server (request ):
146
155
"""
147
156
Fixture to start and stop the Vue SSR server with a socket.
148
157
"""
149
- socket = str (Path ("foo .sock" ).resolve ())
158
+ socket = str (Path ("test-socket .sock" ).resolve ())
150
159
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 ,
152
163
)
153
164
server .start ()
154
165
yield server
0 commit comments