Make integration tests depend only on a few core crates, not all of zed

Max Brunsfeld created

Change summary

Cargo.lock               |  7 ++++++-
crates/server/Cargo.toml |  7 ++++++-
crates/server/src/rpc.rs | 39 ++++++++++++++++++++-------------------
3 files changed, 32 insertions(+), 21 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -5953,9 +5953,11 @@ dependencies = [
  "async-tungstenite",
  "base64 0.13.0",
  "clap 3.0.0-beta.2",
+ "client",
  "collections",
  "comrak",
  "ctor",
+ "editor",
  "either",
  "env_logger",
  "envy",
@@ -5964,12 +5966,15 @@ dependencies = [
  "handlebars",
  "http-auth-basic",
  "jwt-simple",
+ "language",
  "lazy_static",
  "lipsum",
+ "lsp",
  "oauth2",
  "oauth2-surf",
  "parking_lot",
  "postage",
+ "project",
  "rand 0.8.3",
  "rpc",
  "rust-embed",
@@ -5984,7 +5989,7 @@ dependencies = [
  "time 0.2.27",
  "toml",
  "util",
- "zed",
+ "workspace",
 ]
 
 [[package]]

crates/server/Cargo.toml 🔗

@@ -58,7 +58,12 @@ features = ["runtime-async-std-rustls", "postgres", "time", "uuid"]
 collections = { path = "../collections", features = ["test-support"] }
 gpui = { path = "../gpui", features = ["test-support"] }
 rpc = { path = "../rpc", features = ["test-support"] }
-zed = { path = "../zed", features = ["test-support"] }
+client = { path = "../client", features = ["test-support"] }
+editor = { path = "../editor", features = ["test-support"] }
+language = { path = "../language", features = ["test-support"] }
+lsp = { path = "../lsp", features = ["test-support"] }
+project = { path = "../project", features = ["test-support"] }
+workspace = { path = "../workspace", features = ["test-support"] }
 ctor = "0.1"
 env_logger = "0.8"
 util = { path = "../util" }

crates/server/src/rpc.rs 🔗

@@ -989,10 +989,28 @@ mod tests {
         github, AppState, Config,
     };
     use ::rpc::Peer;
+    use client::{
+        self, test::FakeHttpClient, Channel, ChannelDetails, ChannelList, Client, Credentials,
+        EstablishConnectionError, UserStore,
+    };
     use collections::BTreeMap;
+    use editor::{
+        self, ConfirmCodeAction, ConfirmCompletion, ConfirmRename, Editor, Input, MultiBuffer,
+        Redo, Rename, ToOffset, ToggleCodeActions, Undo,
+    };
     use gpui::{executor, ModelHandle, TestAppContext};
+    use language::{
+        tree_sitter_rust, AnchorRangeExt, Diagnostic, DiagnosticEntry, Language, LanguageConfig,
+        LanguageRegistry, LanguageServerConfig, Point, ToLspPosition,
+    };
+    use lsp;
     use parking_lot::Mutex;
     use postage::{sink::Sink, watch};
+    use project::{
+        fs::{FakeFs, Fs as _},
+        search::SearchQuery,
+        DiagnosticSummary, Project, ProjectPath,
+    };
     use rand::prelude::*;
     use rpc::PeerId;
     use serde_json::json;
@@ -1009,24 +1027,7 @@ mod tests {
         },
         time::Duration,
     };
-    use zed::{
-        client::{
-            self, test::FakeHttpClient, Channel, ChannelDetails, ChannelList, Client, Credentials,
-            EstablishConnectionError, UserStore,
-        },
-        editor::{
-            self, ConfirmCodeAction, ConfirmCompletion, ConfirmRename, Editor, Input, MultiBuffer,
-            Redo, Rename, ToOffset, ToggleCodeActions, Undo,
-        },
-        fs::{FakeFs, Fs as _},
-        language::{
-            tree_sitter_rust, AnchorRangeExt, Diagnostic, DiagnosticEntry, Language,
-            LanguageConfig, LanguageRegistry, LanguageServerConfig, Point, ToLspPosition,
-        },
-        lsp,
-        project::{search::SearchQuery, DiagnosticSummary, Project, ProjectPath},
-        workspace::{Settings, Workspace, WorkspaceParams},
-    };
+    use workspace::{Settings, Workspace, WorkspaceParams};
 
     #[cfg(test)]
     #[ctor::ctor]
@@ -4488,7 +4489,7 @@ mod tests {
         pub peer_id: PeerId,
         pub user_store: ModelHandle<UserStore>,
         project: Option<ModelHandle<Project>>,
-        buffers: HashSet<ModelHandle<zed::language::Buffer>>,
+        buffers: HashSet<ModelHandle<language::Buffer>>,
     }
 
     impl Deref for TestClient {