fix: accept external Workdirs in Browser subscriptions
This commit is contained in:
@@ -214,6 +214,8 @@ fn rust_serialized_subscription_frame_fixtures() -> Vec<SubscriptionFrame> {
|
||||
SubscriptionId::new("fixture-subscription").expect("fixture subscription id must be valid");
|
||||
let worker_id =
|
||||
SubscriptionWorkerId::new("fixture-worker").expect("fixture worker id must be valid");
|
||||
let external_workdir_id = SubscriptionWorkdirId::new("fixture-external-workdir")
|
||||
.expect("fixture external Workdir id must be valid");
|
||||
let worker = SubscriptionWorker {
|
||||
worker_id: worker_id.clone(),
|
||||
runtime_id: Some("fixture-runtime".to_string()),
|
||||
@@ -226,7 +228,12 @@ fn rust_serialized_subscription_frame_fixtures() -> Vec<SubscriptionFrame> {
|
||||
workspace_id: Some("fixture-workspace".to_string()),
|
||||
display_name: None,
|
||||
profile: None,
|
||||
workdir_attachments: Vec::new(),
|
||||
workdir_attachments: vec![SubscriptionWorkerWorkdirAttachment {
|
||||
alias: "external".to_string(),
|
||||
repository_id: None,
|
||||
repository_key: None,
|
||||
working_directory_id: external_workdir_id,
|
||||
}],
|
||||
};
|
||||
let subscribed = SubscriptionFrame::new(SubscriptionFramePayload::Response(
|
||||
SubscriptionResponse::Subscribed {
|
||||
|
||||
@@ -391,8 +391,7 @@ function validateWorker(worker: SubscriptionWorker): boolean {
|
||||
if (
|
||||
!validateIdentifier(attachment.alias, MAX_RESOURCE_ID_BYTES) ||
|
||||
!validateIdentifier(attachment.working_directory_id, MAX_RESOURCE_ID_BYTES) ||
|
||||
attachment.repository_key == null ||
|
||||
!validateRepositoryKey(attachment.repository_key) ||
|
||||
(attachment.repository_key != null && !validateRepositoryKey(attachment.repository_key)) ||
|
||||
aliases.has(attachment.alias) ||
|
||||
workdirIds.has(attachment.working_directory_id)
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user