Skip to content

Commit e12a96c

Browse files
committed
test(raw-websocket): add serverless smoke coverage
1 parent e2cc9b3 commit e12a96c

13 files changed

Lines changed: 994 additions & 3 deletions

File tree

engine/packages/pegboard-gateway/src/tunnel_to_ws_task.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use anyhow::Result;
77
use gas::prelude::*;
88
use rivet_guard_core::{
99
WebSocketHandle,
10-
errors::{WebSocketServiceHibernate, WebSocketServiceTimeout, WebSocketServiceUnavailable},
10+
errors::{WebSocketServiceHibernate, WebSocketServiceTimeout},
1111
};
1212
use rivet_runner_protocol as protocol;
1313
use tokio::sync::{mpsc, watch};
@@ -83,7 +83,11 @@ pub async fn task(
8383
if can_hibernate {
8484
return Err(WebSocketServiceHibernate.build());
8585
} else {
86-
return Err(WebSocketServiceUnavailable.build());
86+
return Ok(LifecycleResult::ServerClose(protocol::mk2::ToServerWebSocketClose {
87+
code: Some(1000),
88+
reason: Some("actor.stopped".to_owned()),
89+
hibernate: false,
90+
}));
8791
}
8892
}
8993
_ = drop_rx.changed() => {

engine/packages/pegboard-gateway2/src/tunnel_to_ws_task.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,11 @@ pub async fn task(
8383
if can_hibernate {
8484
return Err(WebSocketServiceHibernate.build());
8585
} else {
86-
return Err(WebSocketServiceUnavailable.build());
86+
return Ok(LifecycleResult::ServerClose(protocol::ToRivetWebSocketClose {
87+
code: Some(1000),
88+
reason: Some("actor.stopped".to_owned()),
89+
hibernate: false,
90+
}));
8791
}
8892
}
8993
_ = drop_rx.changed() => {

examples/kitchen-sink-vercel/package.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/kitchen-sink-vercel/scripts/raw-websocket-serverless-smoke.ts

Lines changed: 323 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)