Nothing
if (!identical(Sys.getenv("NOT_CRAN"), "true")) return()
source("helper.R")
test_that("create_collection works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
# Test basic creation
collection_name <- paste0("test_collection_", test_id)
collection <- create_collection(client, collection_name)
expect_type(collection, "list")
expect_equal(collection$name, collection_name)
# Test with metadata
metadata <- list(description = "Test collection")
collection_name2 <- paste0("test_collection2_", test_id)
collection <- create_collection(client, collection_name2, metadata = metadata)
expect_equal(collection$metadata$description, "Test collection")
# Test with configuration
config <- list(
hnsw_space = "cosine"
)
collection_name3 <- paste0("test_collection3_", test_id)
collection <- create_collection(
client,
collection_name3,
configuration = config
)
expect_type(collection, "list")
expect_equal(collection$configuration_json$hnsw_configuration$space, "cosine")
# Test get_or_create parameter
collection_name4 <- paste0("test_collection4_", test_id)
collection2 <- create_collection(
client,
collection_name4,
get_or_create = TRUE
)
expect_type(collection2, "list")
expect_equal(collection2$name, collection_name4)
# Test error on duplicate collection without get_or_create
expect_error(
create_collection(client, collection_name4),
"UniqueConstraintError|HTTP 409"
)
})
test_that("get_collection works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
collection_name <- paste0("test_collection_", test_id)
create_collection(client, collection_name)
collection <- get_collection(client, collection_name)
expect_type(collection, "list")
expect_equal(collection$name, collection_name)
})
test_that("update_collection works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
collection_name <- paste0("test_collection_", test_id)
new_collection_name <- paste0("new_test_collection_", test_id)
# Create collection
create_collection(client, collection_name)
# Update name should work silently
expect_no_error(
update_collection(client, collection_name, new_name = new_collection_name)
)
# Verify the update worked by getting the collection
collection <- get_collection(client, new_collection_name)
expect_equal(collection$name, new_collection_name)
# Update metadata should work silently
new_metadata <- list(description = "Updated collection")
expect_no_error(
update_collection(client, new_collection_name, new_metadata = new_metadata)
)
# Verify the metadata update worked
collection <- get_collection(client, new_collection_name)
expect_equal(collection$metadata$description, "Updated collection")
})
test_that("delete_collection works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
collection_name <- paste0("test_collection_", test_id)
create_collection(client, collection_name)
# Delete should work silently
expect_no_error(delete_collection(client, collection_name))
# Getting deleted collection should fail
expect_error(
get_collection(client, collection_name),
"Collection .* does not exist|HTTP 400"
)
})
test_that("list_collections works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
# Create some test collections
collection_name1 <- paste0("test_collection1_", test_id)
collection_name2 <- paste0("test_collection2_", test_id)
create_collection(client, collection_name1)
create_collection(client, collection_name2)
# List all collections
collections <- list_collections(client)
expect_type(collections, "list")
expect_gte(length(collections), 2)
# Test pagination
collections_limited <- list_collections(client, limit = 1)
expect_equal(length(collections_limited), 1)
collections_offset <- list_collections(client, offset = 1, limit = 1)
expect_equal(length(collections_offset), 1)
expect_false(identical(collections_limited[[1]], collections_offset[[1]]))
})
test_that("count_collections works", {
client <- chroma_connect()
test_id <- basename(tempfile("test")) # Generate unique test ID
# Create some test collections
collection_name1 <- paste0("test_collection1_", test_id)
collection_name2 <- paste0("test_collection2_", test_id)
create_collection(client, collection_name1)
create_collection(client, collection_name2)
# Count collections
count <- count_collections(client)
expect_type(count, "integer")
expect_gte(count, 2)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.