67 lines
1.9 KiB
Rust
67 lines
1.9 KiB
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn local_auto_indexing_requires_codebase_context_and_auto_indexing() {
|
|
{
|
|
let _flag = FeatureFlag::FullSourceCodeEmbedding.override_enabled(false);
|
|
assert!(codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Local,
|
|
true,
|
|
true,
|
|
));
|
|
}
|
|
{
|
|
let _flag = FeatureFlag::FullSourceCodeEmbedding.override_enabled(false);
|
|
assert!(codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Local,
|
|
true,
|
|
true,
|
|
));
|
|
assert!(!codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Local,
|
|
false,
|
|
true,
|
|
));
|
|
assert!(!codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Local,
|
|
true,
|
|
false,
|
|
));
|
|
assert!(!codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Local,
|
|
false,
|
|
false,
|
|
));
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn remote_auto_indexing_requires_remote_feature() {
|
|
{
|
|
let _remote_flag = FeatureFlag::RemoteCodebaseIndexing.override_enabled(false);
|
|
let _flag = FeatureFlag::FullSourceCodeEmbedding.override_enabled(true);
|
|
assert!(!codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Remote,
|
|
true,
|
|
true,
|
|
));
|
|
}
|
|
{
|
|
let _remote_flag = FeatureFlag::RemoteCodebaseIndexing.override_enabled(true);
|
|
let _flag = FeatureFlag::FullSourceCodeEmbedding.override_enabled(true);
|
|
assert!(codebase_auto_indexing_enabled(
|
|
CodebaseAutoIndexingSurface::Remote,
|
|
true,
|
|
true,
|
|
));
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn candidate_roots_are_deduped_before_filtering() {
|
|
let roots = vec!["/repo", "/repo", "/other"];
|
|
let candidates = auto_index_candidate_roots(roots, |root| *root != "/other");
|
|
|
|
assert_eq!(candidates, vec!["/repo"]);
|
|
}
|