Skip to content

Commit

Permalink
Add basic unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
ebezzi committed Feb 29, 2024
1 parent c221799 commit 43534b0
Showing 1 changed file with 109 additions and 0 deletions.
109 changes: 109 additions & 0 deletions api/python/cellxgene_census/tests/experimental/test_embeddings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import pytest
import requests_mock as rm

from cellxgene_census.experimental import get_all_available_embeddings, get_all_census_versions_with_embedding


@pytest.mark.live_corpus
def test_get_all_available_embeddings(requests_mock: rm.Mocker) -> None:
mock_embeddings = {
"embedding-id-1": {
"id": "embedding-id-1",
"embedding_name": "emb_1",
"title": "Embedding 1",
"description": "First embedding",
"experiment_name": "homo_sapiens",
"measurement_name": "RNA",
"n_embeddings": 1000,
"n_features": 200,
"data_type": "obs_embedding",
"census_version": "2023-12-15",
},
"embedding-id-2": {
"id": "embedding-id-2",
"embedding_name": "emb_2",
"title": "Embedding 2",
"description": "Second embedding",
"experiment_name": "homo_sapiens",
"measurement_name": "RNA",
"n_embeddings": 1000,
"n_features": 200,
"data_type": "obs_embedding",
"census_version": "2023-12-15",
},
}
requests_mock.real_http = True
requests_mock.get(CELL_CENSUS_EMBEDDINGS_MANIFEST_URL, json=mock_embeddings)

embeddings = get_all_available_embeddings("2023-12-15")
assert embeddings is not None
assert len(embeddings) == 2

# Query for a non existing version of the Census
embeddings = get_all_available_embeddings("2024-12-15")
assert len(embeddings) == 0


@pytest.mark.live_corpus
def test_get_all_census_versions_with_embedding(requests_mock: rm.Mocker) -> None:
mock_embeddings = {
"embedding-id-1": {
"id": "embedding-id-1",
"embedding_name": "emb_1",
"title": "Embedding 1",
"description": "First embedding",
"experiment_name": "homo_sapiens",
"data_type": "obs_embedding",
"census_version": "2023-12-15",
},
"embedding-id-2": {
"id": "embedding-id-2",
"embedding_name": "emb_1",
"title": "Embedding 2",
"description": "Second embedding",
"experiment_name": "homo_sapiens",
"data_type": "obs_embedding",
"census_version": "2023-12-15",
},
"embedding-id-3": {
"id": "embedding-id-3",
"embedding_name": "emb_1",
"title": "Embedding 3",
"description": "Third embedding",
"experiment_name": "mus_musculus",
"data_type": "obs_embedding",
"census_version": "2023-12-15",
},
"embedding-id-4": {
"id": "embedding-id-4",
"embedding_name": "emb_1",
"title": "Embedding 4",
"description": "Fourth embedding",
"experiment_name": "mus_musculus",
"data_type": "obs_embedding",
"census_version": "2024-01-01",
},
"embedding-id-5": {
"id": "embedding-id-5",
"embedding_name": "emb_2",
"title": "Embedding 5",
"description": "Fifth embedding",
"experiment_name": "mus_musculus",
"data_type": "var_embedding",
"census_version": "2023-12-15",
},
}
requests_mock.real_http = True
requests_mock.get(CELL_CENSUS_EMBEDDINGS_MANIFEST_URL, json=mock_embeddings)

versions = get_all_census_versions_with_embedding("emb_1", organism="homo_sapiens", embedding_type="obs_embedding")
assert versions == ["2023-12-15"]

versions = get_all_census_versions_with_embedding("emb_1", organism="mus_musculus", embedding_type="obs_embedding")
assert versions == ["2023-12-15", "2024-01-01"]

versions = get_all_census_versions_with_embedding("emb_1", organism="mus_musculus", embedding_type="var_embedding")
assert versions == []

versions = get_all_census_versions_with_embedding("emb_2", organism="mus_musculus", embedding_type="var_embedding")
assert versions == ["2023-12-15"]

0 comments on commit 43534b0

Please sign in to comment.