All Classes and Interfaces

Class
Description
Base test for tests that need persistent array design with sequences.
The rule that decides whether a caller sees troubled entities.
 
 
 
JUnit 5 parallel of AbstractGeoServiceTest, extending the Jupiter BaseSpringContextTest5 base.
Unit tests for MEX directory resolution in AbstractMexSingleCellDataLoaderConfigurer, in particular the fallback that locates the triplet under a raw 10x Cell Ranger outs/filtered_feature_bc_matrix nesting.
 
 
 
Tests of ACL management: adding and removing from objects during CRUD operations.
 
 
Renovations Phase 2 contract test for AclDaoImpl.update(MutableAcl): verifies that the parent_object_fk column is persisted to the database when an ACL's in-memory parent is wired up via MutableAcl.setParent(...).
 
Test-only subclass: maps each Child → its Parent for the ACL check.
 
Fast unit tests for AclEntryAfterInvocationByAssociationFilteringProvider: the base delegates the ACL check to a parent/associated Securable returned by getActualDomainObject.
 
Test-only concrete subclass that returns Child.parent as the associated Securable.
 
 
 
Fast unit tests for AclEntryAfterInvocationMapFilteringProvider, which filters a Map's key set in place (keys are Securable; values may or may not be Securable — value security isn't checked by this provider, only key security).
 
Fast unit tests for AclEntryAfterInvocationMapValueFilteringProvider: filters a Map's value set (values are Securable; keys are not).
 
 
 
 
Fast unit tests for AclEntryAfterInvocationStreamFilteringProvider, demonstrating the InMemoryAclService fixture in an after-invocation-provider context.
 
 
Fast unit tests for AclEntryAfterInvocationValueObjectMapFilteringProvider: Map whose KEYS are SecureValueObjects (values are arbitrary).
 
Fast unit tests for AclEntryAfterInvocationValueObjectMapValueFilteringProvider: Map whose VALUES are SecureValueObjects (keys are arbitrary).
 
Fast unit tests for AclEntryAfterInvocationValueObjectProvider: single value-object security check that returns null (instead of throwing) when access is denied AND populates security-status fields on the VO when granted.
Minimal SecureValueObject with mutable security flags so we can assert population.
 
 
 
 
 
 
 
Fast unit tests for AclEventListener.
SecuredChild without a populated getSecurityOwner — the realistic case for BioAssay / FactorValue persisted via ExpressionPersister.
SecuredChild with an explicit ManyToOne back-ref to a AclEventListenerTest.ChildNoOwner — exercises the force-flatten reconciliation when the back-ref ACL gets its own parent set late.
SecuredChild that exposes a populated AclEventListenerTest.ChildWithOwner.getSecurityOwner() — covers the locateParentAcl path (used when entity-author wired the back-ref explicitly).
SecuredNotChild — its own ACL root.
SecuredChild with only a SecuredNotChild back-ref.
Fluent builder for a per-entity-class EntityPersister mock.
Plain top-level Securable.
SecuredChild that references another instance of its own class — covers the cycle guard in the recursive fixup walk.
Mockito-backed substitute for SessionFactoryImplementor → MappingMetamodel → EntityPersister.
Minimal BaseAclAdvice concrete subclass.
SecuredChild with two ManyToOne back-refs: one to a SecuredNotChild root and one to another SecuredChild.
 
 
Coverage for the entries_inheriting half of AclLinterServiceImpl.setParentAcl.
 
Unit tests for AclObjectIdentity, with particular focus on equals/hashCode behaviour during Hibernate-driven instantiation where fields are populated incrementally by setters.
 
Contract harness for the planned rewrite of AclQueryUtils.formAclRestrictionClause(String) (and its sibling formNativeAclRestrictionClause) from the current row-multiplying JOIN strategy to a correlated EXISTS subquery.
Methods for checking ACLs.
Thin unit test for AclVoterAuthorizationManager.
The scoping contract for the acting identity.
Reproducer for the long-standing Phase-3 ACL evaluation bug surfaced by UserGroupServiceTest#testUpdateUserGroup: when the admin test user (authority GROUP_ADMIN) calls a method protected by @PreAuthorize("hasPermission(#group, 'administration')") on a UserGroup whose ACL was created by BaseAclAdvice.setupBaseAces(MutableAcl, ObjectIdentity, Sid, boolean) — which inserts a GrantedAuthoritySid("GROUP_ADMIN") ADMINISTRATION granting=true ACE — the evaluation returns false even though by inspection it should return true.
Minimal Securable stand-in — only needs a class name and id for the ObjectIdentityImpl key.
Pure-Mockito tests for AdminWebService: cache list / clear / clear-named, Hibernate stats snapshot.
 
 
 
 
Tests of parsing various flat file formats used for Agilent slides (and possibly other types)
Build the options of every CLI shipped in gemma-cli, the way GemmaCLI does when it lists commands, and check that none defines the same short or long option name twice.
Mark tests that require the Allen Brain Atlas RESTful API.
Unit tests for the differential-expression analysis exception family: AnalysisException (base) and its sub-types (MeanVarianceFailureException).
Regression guard for the Hibernate-6 cache-staleness shape flagged as HB6 cascade audit finding #6 (HIBERNATE6_CASCADE_AUDIT.md): the AnalysisResultSet + DifferentialExpressionAnalysisResult HBM mapping has the same mutable="false" parent + child collection + <cache usage="read-only"/> shape that caused the AuditTrail / AuditEvent stale-empty-bag bug (fixed in ab8b4c443c).
Integration test for the result sets endpoint.
Unit tests for the cursor-pagination branch added to AnalysisResultSetsWebService.getResultSets(DatasetArrayArg, DatabaseEntryArrayArg, FilterArg, OffsetArg, LimitArg, SortArg, CursorArg) for step 1i of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for AnalysisResultSetsWebService.getPvalueDistribution(ExpressionAnalysisResultSetArg, int, String), which serves the stored PVALUE_DISTRIBUTION histogram rather than aggregating DIFFERENTIAL_EXPRESSION_ANALYSIS_RESULT (120.5 GB / ~1.57e9 rows on production) per request.
 
 
 
 
Reads over ANNOTATION_RELATION.
The CURATED harvest: EE2C rows that already carry a predicate and an object become queryable relations.
Pure-data tests for the three ranking strategies — no Spring, no Mockito beyond the input fixture.
Persistence contract for AnnotationSetDisposition — the row-per-ruling, latest-wins model for a curator's verdict on ONE finding.
The counts are a HINT read off a payload whose shape belongs to someone else, so what these pin is mostly the failure behaviour: everything unrecognized has to come back null rather than zero.
Integration test for the V20/V21 ANNOTATION_SET schema migration and the unified AnnotationSet entity + service.
Persistence contract for AnnotationSetTriage — the row-per-judge triage model.
End-to-end checks for AnnotationsWebService.
The per-URI corpus usage-count cache behind /annotations/search?rank=composite.
 
 
 
Unit tests for AnnotationValueObject's discrimination between plain Characteristic input and the Statement subclass.
 
 
 
Typed factory for persistent ArrayDesign test fixtures.
Fluent builder for an ArrayDesign.
Verifies the Phase 3 typed ArrayDesignFactory.
 
 
 
 
 
 
Test exercises the fastacmd - requires executable.
 
 
 
 
Entrypoint for custom AssertJ assertions.
Reusable assumptions for tests.
 
 
 
 
 
 
 
 
 
 
 
Unit-level test for AuditedAspect: the aspect intercepts the Audited annotation, locates the first Auditable argument and optional AuditEventPayload argument, serialises the payload to JSON, delegates to AuditTrailService.addUpdateEventWithPayload(Auditable, Class, String, String), and publishes a Spring AuditedEvent.
Minimal in-memory Auditable that doesn't require Hibernate or any of the gemma-core entity machinery.
A locally-defined payload record.
Static helper invoked from valueSpel expressions via T(...).pick(#arg).
An audit annotation only records an event when the call reaches the method through its Spring proxy.
 
 
 
Guards the identifying facts in the AuditLogger line.
 
Fast unit tests for the Phase C-1 additions on AuditTrailEventListener: the PostInsertEventListener and PreDeleteEventListener interfaces.
AUDIT_TRAIL.LAST_EVENT_FK must be ON DELETE SET NULL in a schema Hibernate built.
Does doAddUpdateEvent recognise a curatable entity when it arrives as a proxy?
 
A base class with mocks for testing CLI commands that require authentication.
Phase 3 build hygiene: forbid declaring Spring-injected dependencies with an Impl-typed reference in production code.
JUnit 5 (Jupiter) counterpart of BaseCliIntegrationTest.
JUnit 5 (Jupiter) counterpart of BaseCliTest.
 
Configuration for enabling ACLs in a BaseDatabaseTest5.
JUnit 5 (Jupiter) counterpart of BaseDatabaseTest.
 
JUnit 5 (Jupiter) base class for integration tests, tagged @Tag("integration") for surefire/failsafe filtering.
JUnit 5 (Jupiter) base class for Jersey integration tests, tagged @Tag("integration") for surefire/failsafe filtering.
JUnit 5 (Jupiter) counterpart of BaseJerseyTest.
 
 
 
Deprecated.
favour the simpler BaseIntegrationTest5 for new tests
Base class for all tests.
JUnit 5 (Jupiter) counterpart of BaseTest.
Unit tests for BatchConfoundUtils, covering biomaterials that carry no value for a factor.
Test fetching and loading the batch information from raw files.
Unit tests.
 
 
 
This class tests the bibliographic reference data access object.
updatePubMeds: a refresh that fails is reported as an error.
HB6 cascade audit #10 regression guard: BioAssayDimension HBM (Pattern C — mutable="false" class + child list + cache directive).
Typed factory for persistent BioAssay test fixtures.
Fluent builder for a BioAssay.
Verifies the Phase 3 typed BioAssayFactory.
What this pins
What GET /datasets/{dataset}/samples puts on the wire per assay.
 
The platform pair on a sample: what it is run on now, and what it was submitted on.
Tests that biomart fetcher works correctly.
Class to test BioMartEnsemblNcbiObjectGeneration.
Tests the parsing of a BioMart file.
 
Typed factory for persistent BioMaterial test fixtures.
Fluent builder.
Verifies the Phase 3 typed test-fixture factory for BioMaterial.
Lightweight unit test for BioMaterialReadServiceImpl that verifies each public method delegates to the right BioMaterialDao call without standing up a Spring context.
 
A sample annotation survives the read with whatever was said about it.
 
 
blackList -pp: which platforms are screened, and what a batch GEO would not answer for reports.
 
 
 
 
Formatting guards for the UCSC custom track emitted by BlatResult2Psl, which backs GET /platforms/{platform}/elements/{probe}/pslTrack.
 
 
 
 
 
 
 
 
Pure unit tests for the validator portion of BusinessKey added during the Phase 3 persister retirement.
Round-trip + edge-case unit tests for ByteArrayUtils, the static facade used across the persistence layer to encode/decode primitive arrays into the BLOB columns that store expression-data vectors.
 
 
 
 
 
Exercises the Lucene-9 ontology search index's stemming-with-exclusion behavior against a trimmed CLO fixture (15-term subset of the full Cell Line Ontology, ~5 KB gzipped).
Covers CellXGeneDataLoaderService.replaceVersionAccession(ExpressionExperiment, String) outside any test transaction, as updateCELLxGENEAccessions calls it.
 
 
 
 
 
Real-MySQL counterpart of the H2-backed CharacteristicDaoTest, pinning the native-query methods of CharacteristicDaoImpl against the production Spring context (real MySQL gemdtest via BaseIntegrationTest5).
 
 
 
 
 
Pins the read-time URI canonicaliser — the stand-in for the parked database migration (scripts/sql/term_uri_migration.sql).
 
The CHEBI slim is only as good as its seed set, and the seed set used to be built from Characteristic.valueUri alone.
 
 
Pure-data tests for ?rank=commonality.
Native-SQL coverage gap from NATIVE_SQL_COVERAGE_AUDIT_2026_05_25.md Tier 1.
 
Pure Mockito unit tests for CompletionsWebService.
Pins the identifier-match short-circuit in CompositeSearchSource: once any source returns a result tagged SearchResult.isExactIdentifierMatch(), subsequent sources are not consulted.
 
 
Typed factory for persistent CompositeSequence (probe) test fixtures.
Fluent builder for a CompositeSequence.
Verifies the Phase 3 typed CompositeSequenceFactory.
This test makes use of the ArrayDesignProbeMapperServiceImpl.
 
Lightweight unit test for CompositeSequenceReadServiceImpl that verifies each public method delegates to the right CompositeSequenceDao call without standing up a Spring context.
 
 
 
What a factor's columns look like under each ContrastCoding, and what its coefficients therefore mean.
 
Unit tests for CorrelationStats — the static stats facade used across coexpression, batch-confound detection, and PCA-correlate analyses.
 
 
 
Persistence contract for CurationDecision -- the record of a change a curator ruled must NOT be made.
Lightweight Mockito unit tests for CurationDetailsServiceImpl, the compatibility shim that exposes the legacy CurationDetails read API over the Phase B-1 ticket layer (see AUDIT_AS_WORKFLOW_RECCE.md Decision 1).
Pure unit tests for CurationDraftDispositions.
Contract for the advisory curation lock.
 
 
 
 
initializeDatabase and updateDatabase must ask for confirmation unless -force is passed.
 
 
 
 
End-to-end regression harness for the composite curation commit (PUT /datasets/{id}/curation) against a real (gemdtest) database — the persistence half the mocked DatasetsWebServiceTest can't reach.
Integration tests for the diagnostics endpoints (mean-variance, sample-correlation, svd) on DatasetsWebService.
A design-commit factor item carrying ONLY gemmaId plus one relevance hint leaves everything else about the factor as it was: name, category, factor values and sample assignments.
Integration tests for GET /datasets/{dataset}/platforms, in both modes, against a real (gemdtest) database.
 
Unit tests for the cursor-pagination branch added to DatasetsWebService.getDatasetAuditEvents(DatasetArg, CursorArg, LimitArg, boolean, boolean) as step 1q of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to DatasetsWebService.getBlacklistedDatasets(FilterArg, SortArg, OffsetArg, LimitArg, CursorArg) as step 1t of CURSOR_PAGINATION_STEP1_PLAN.md (the EE-targeted twin of step 1h's /platforms/blacklisted).
Unit tests for the cursor-pagination branch added to DatasetsWebService.getDatasetsByIds(DatasetArrayArg, FilterArg, OffsetArg, LimitArg, SortArg, CursorArg) as step 1w of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to DatasetsWebService.getDatasetSamples(DatasetArg, QuantitationTypeArg, boolean, CursorArg, LimitArg, ExcludeArg, boolean) as step 1k of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to DatasetsWebService#getDatasetSubSetSamples(DatasetArg, Long, CursorArg, LimitArg) as step 1u of CURSOR_PAGINATION_STEP1_PLAN.md.
 
Unit tests for DatasetsWebService.getDatasetTicketsBulk(DatasetsWebService.DatasetTicketsBulkRequest) — the bulk read behind the experiment list's "on a ticket" glyph.
Unit tests for the cursor-pagination branch added to DatasetsWebService.getDatasetTickets(DatasetArg, CursorArg, LimitArg) as step 1p of CURSOR_PAGINATION_STEP1_PLAN.md.
Pure-data tests for the lastUpdate label vocabulary — no Spring, no database.
Unit tests for HeatmapDataService (the assembler that backs DatasetVisualizationWebService).
DataUpdaterImpl with every collaborator mocked.
 
 
 
Guards the shutdown-event round-trip for the scheduling wrapper.
 
 
Pins the contract between thawing a curatable and building its value object once the entity has left the session it was loaded in.
 
 
 
 
Lightweight unit test for DifferentialExpressionAnalysisReadServiceImpl that verifies each public method delegates to the right DAO call without standing up a Spring context.
Which existing analyses a newly persisted one replaces.
 
Removing an analysis has to take its on-disk artifacts with it, whichever route asks for the removal.
Deleting an analysis waits for the archive write that saving it scheduled.
A fresh run with deleteOtherAnalyses saves its analyses first, then deletes the experiment's other analyses on the same subset factor.
A redo keeps the old replacement rule: only an analysis on the identical factor set is replaced.
 
 
Wire-form guards for the differential-expression statistics, which serialize on every route that carries these value objects — /resultSets/{id} and the /datasets/analyses/differential/results family among them.
 
Unit tests for the R-friendly name helpers in DiffExAnalyzerUtils + the interaction-term formatter.
Samples marked DE_Exclude and samples whose assays are flagged as outliers must leave the analysis before anything is decided from the sample set.
Pure-mock unit test for DiffExGeneWarmupService.
This is a test that requires complex setup: loading several data sets, information on genes, array design annotations, conducting differential expression, and finally the meta-analysis.
Tests added to check various cases of differential expression analysis.
Which id the diff-ex vectors are matched on.
for bug 3927
 
Unit tests for Distance: alternative distance + similarity helpers used by the coexpression and sample-clustering paths.
 
Pins the fetch mode of eager associations, which the hbm.xml to annotations migration changed.
A new experiment must not attach its BioAssays to BioMaterials another experiment already uses.
Pins the behaviourally load-bearing QuantitationType dedup semantic that was lifted out of CommonPersister.persistQuantitationType into a per-EE local map in EeWriteServiceImpl.
An arm of the subset factor that no analyzed sample carries is skipped, not a fatal condition for the experiment.
 
Focused tests for the AbstractEntityArrayArg-backed comma-delimited arg parsers.
 
 
 
 
 
 
Regression guard for the CLI-only failure in which the Hibernate event listeners were never registered.
 
 
Unit tests for Executors: the in-tree factory that wraps every executor produced for the project with Spring-Security's DelegatingSecurityContextExecutorService plus the log4j ThreadContext propagator.
Uses the Affy Power Tools, and full-sized data sets.
Test for import that results in multiple factor values for the same factor on a single biomaterial.
 
 
 
 
 
 
Typed factory for persistent ExpressionExperiment test fixtures.
Fluent builder for an ExpressionExperiment.
Modality of the experiment being built.
Verifies the Phase 3 typed test-fixture factory.
Pure Mockito tests for ExperimentSetsWebService: the resource → service wiring, and the guards that decide what reaches the service at all.
 
 
 
This implementation is using the Hibernate Criteria API, so we want to minimally test the logic of translating Filters and Sort into proper org.hibernate.Criteria queries.
 
 
Unit tests for ExpressionDataFileUtils.getDiffExArchiveFileName(DifferentialExpressionAnalysis), which resolves an analysis' experimentAnalyzed down to a short name.
 
 
Unit tests for ExpressionExperimentBatchCorrectionServiceImpl that need no Spring context: the comBat(ee, matrix) path only reads the experiment's in-memory design, so the impl can be constructed directly.
 
 
The over-the-wire half of ExpressionExperimentBibRefFinderTest, which stubs GeoBrowser and never leaves the JVM.
Resolution is exercised against a stubbed GeoBrowser rather than live Entrez.
Integration tests for the keyset (cursor) pagination DAO mechanism on ExpressionExperimentDao.
 
Lightweight unit test for ExpressionExperimentDataVectorServiceImpl that verifies delegation to the ExpressionExperimentDao and the create-if-needed orchestration of BioAssayDimensionService and QuantitationTypeService.
 
 
 
The inCuration filter behind the curation UI's "Experiments staged for curation" page.
 
Rewriting a vector onto a dimension that orders or covers its samples differently.
Switching of platforms that have no composite sequences.
 
 
ExpressionExperimentService.isSingleCell(ExpressionExperiment) must not require its argument to be attached to a session.
 
 
 
 
Tests for methods that perform operations on or with expressionExperiment sets
Unit tests for the taxon rule ExpressionExperimentSetValueObjectHelperImpl.updateMembers(Long, Collection) applies when replacing a set's membership.
Tests for methods that create ExpressionExperimentSetValueObjects from expressionExperiment entities
 
Lightweight unit test for ExpressionExperimentSubSetReadServiceImpl that verifies each public method delegates to the right ExpressionExperimentDao call without standing up a Spring context.
 
 
 
 
 
 
Test that Gemma can load genes from an external gene file with format : #GeneSymbol GeneName Uniprot ZYX ZYXIN Q15942 ZXDC ZXD FAMILY ZINC FINGER C Q8C8V1
Out-of-band reachability probe for every external URL Gemma talks to.
 
 
Tests the Ticket-layer migration of FactorValueNeedsAttentionService (see CURATION_DETAILS_RETIREMENT.md).
 
 
Lightweight unit test for FactorValueReadServiceImpl that verifies each public method delegates to the right FactorValueDao call without standing up a Spring context.
 
 
 
 
 
 
 
 
 
Test all possible filterable properties for filtering and sorting results.
 
 
 
 
Predicting a sample that did not contribute to the fit.
 
The stored sample-correlation matrix keeps the outlier samples' values, so a curator can review the call against them.
A scoring run that throws must not be saved and audited as if it had finished: the GeeqEvent is what runGeeq -auto uses to decide a dataset is done.
This test covers cases where inference is done across two distinct OntologyService.
Verifies GemmaLegacyAwarePasswordEncoder against fixtures lifted from gemma-core/src/main/resources/sql/init-data.sql — these are the actual hashes shipped with Gemma so any production user row with the legacy SHA-1 format must still be recognized as legacy (and trigger upgradeEncoding).
 
 
 
 
 
 
Typed factory for persistent Gene test fixtures.
Fluent builder for a Gene.
Verifies the Phase 3 typed GeneFactory.
 
Guards GeneOntologyServiceImpl.requireAllTerms(String), the rewrite that makes the GO fallback require every token instead of the parser's default OR.
Additional tests with updated ontology file, fixing problems getting aspects.
 
 
 
Lightweight unit test for GeneReadServiceImpl that verifies each public method delegates to the right GeneDao call without standing up a Spring context.
 
 
 
 
 
 
 
 
 
 
 
Tests of 'equals' implementation
 
Unit tests for the cursor-pagination branch added to GeneWebService.getGenes(OffsetArg, LimitArg, CursorArg) as proof-of-concept for step 1b of CURSOR_PAGINATION_STEP1_PLAN.md.
Pure-Mockito tests for the two gene-page additions on GeneWebService: GET /genes/{gene}/overview (the fully-populated VO replacing the legacy loadGeneDetails DWR) and GET /genes/{gene}/homologues.
Unit tests for the cursor-pagination branch added to GeneWebService.getGeneProbes(GeneArg, OffsetArg, LimitArg, CursorArg, boolean) as step 1m of CURSOR_PAGINATION_STEP1_PLAN.md.
 
Quirk-pinning tests for GeneWriteService.
 
 
Pins what GeoConverterImpl.parseGEOSampleCharacteristicString(String, BioMaterial) makes of a submitter's sample descriptor string.
The real strings frinkbro measured in production on 2026-09-11, and the ordinary cases that must keep splitting as they always did.
Which channel's molecule describes the SAMPLE.
Unit test for GeoConversion Added extension BaseIntegrationTest5 as want Taxon Service to be called
 
Test full procedure of loading GEO data, focus on corner cases.
 
 
 
The library-strategy vocabulary, and the one case where GEO's declared value is not believed.
 
Tests of GeoPlatformService
 
Pure-Mockito tests for the GeoScrapeServiceImpl watermark-loop + enrichment + ticket-emission paths.
 
TODO: Phase 2 — trim and cache per-test download data so the integration-tagged methods can move to fully offline @Test.
Test replacements for GEO terms.
Test depending on GEO availability.
 
One-shot capture utility that records every GoldenPathSequenceAnalysis.findAssociations(String, Long, Long, String, String, String, ThreePrimeDistanceMethod, ProbeMapperConfig) response for the gpl96.blatresults.psl.gz fixture against a live hg19 GoldenPath database, and writes a JSON fixture used by the fast mock variant of CompositeSequenceGeneMapperServiceTest.
These tests require a populated Human database.
Test depending on GoldenPath database availability.
 
 
Pure Mockito unit tests for GroupsWebService.
Pins which of the two Content-Encoding decorators fires, for each shape of the GZIP annotation.
 
 
 
 
Pins the ACL post-filter in HibernateSearchSource against unresolvable ACL identities.
HB6 SQM-translator regression guard.
Tests the homologeneService but only access methods that don't require a DB connection (using the gemma db).
Factory for HomologeneService.
Mass parse-only smoke test for every statically-extractable HQL string in gemma-core/src/main/java.
 
 
A factor dropped for missing values must not be left behind in the baseline map.
Test-only AclService that stores ACLs in an in-memory Map using real Spring Security AclImpl instances.
Mark a test as an integration test.
Assertions for JSON based on JsonPath.
 
Verifies LegacyAwareDaoAuthenticationProvider can authenticate legacy SHA-1+username-salt hashes without any ThreadLocal state, and triggers the Spring Security 6 password-upgrade hook (UserDetailsPasswordService) on success.
 
Unit tests for LinearModelSummaryUtils.createTerm2CoefficientNames(List, DoubleMatrix): the helper that maps factor names to the set of R-side coefficient-row names belonging to that factor.
Tests for extra utilities for List.
addGEOData: which load a given option combination reaches, and what a failed -force reload reports.
 
 
Test based on GSE19480, see bug 3177
 
 
 
 
 
Extensions for AssertJ's Maps.
Test various behaviours of CLIs when injected as bean.
 
 
End-to-end smoke test for the Hibernate Search 7 mass-indexer + search service round-trip (SEARCH_RECCE.md Step 6).
Pure-Mockito-less tests for the v1 GEO scrape matchers.
 
 
 
Smoke test for the metrics Spring profile.
 
 
Load and persist single-cell data stored in the MEX format.
 
 
 
 
 
 
One-off Flyway baseline generator for the MySQL/InnoDB path.
 
Tests multiple both parsing and loading.
TODO Document Me
 
 
 
Unit tests for NetUtils.
Test annotation to indicate that a test requires network access or access to a specific resource.
Enables the NetworkAvailable annotation on JUnit 5 tests.
Producing no analysis at all is a failure of the experiment, not a quiet empty result.
 
The correction path writes to production annotations, so what is pinned here is mostly what it must NOT do: not touch a term a curator has to decide, not sweep up a deferred term, not write anything on a dry run, and not lose a curator's existing supportingEvidence.
 
Offline tests for the OLS response parser.
Live probe against the real EBI OLS service.
 
 
This test does not use the test profile as it aims to verify that all the ontologies we use in production are working properly.
The opt-in widening of a search into inferred relations.
 
 
 
 
 
 
 
Pin the invariant that /openapi.{json,yaml} serves the very OpenAPI instance held by the openApi bean — the instance OpenApiFactory decorates with the servers list, the FilterArg/SortArg examples and placeholder resolution.
 
Phase 3 gsec HQL deprecation: regression coverage for ParentIdentityRetrievalStrategyImpl after its HQL select against AclObjectIdentity was replaced with raw SQL against acl_object_identity JOIN acl_class.
 
Used to generate test data.
 
 
Unit tests for the cursor-pagination branch added to PlatformsWebService.getBlacklistedPlatforms(FilterArg, SortArg, OffsetArg, LimitArg, CursorArg) as step 1h of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to PlatformsWebService#getPlatformsByIds(PlatformArrayArg, FilterArg, OffsetArg, LimitArg, SortArg, CursorArg) — the GET /platforms/{platform} variant (step 1x).
Unit tests for the cursor-pagination branch added to PlatformsWebService#getPlatforms(FilterArg, OffsetArg, LimitArg, SortArg, CursorArg) as proof-of-concept for step 1c of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to PlatformsWebService.getPlatformDatasets(PlatformArg, OffsetArg, LimitArg, CursorArg) as step 1f of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to PlatformsWebService.getPlatformElement(PlatformArg, CompositeSequenceArrayArg, OffsetArg, LimitArg, CursorArg, boolean, boolean) as step 1j of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to PlatformsWebService.getPlatformElementGenes(PlatformArg, CompositeSequenceArg, OffsetArg, LimitArg, CursorArg) as step 1l of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to PlatformsWebService.getPlatformElements(PlatformArg, OffsetArg, LimitArg, CursorArg, boolean, boolean, QueryArg, FilterArg) as step 1e of CURSOR_PAGINATION_STEP1_PLAN.md.
Pure-Mockito test for the GET /platforms/{platform}/elements/{probe}/mappingSummary endpoint added to PlatformsWebService.
Pure-Mockito test for GET /platforms/{platform}/elements/{probe}/pslTrack, which replaces the retired gemma-web BlatResultTrackController (blatTrack.html?id=).
 
Unit tests for the cursor-pagination branch added to PlatformsWebService.getPlatformTickets(PlatformArg, CursorArg, LimitArg) as step 1s of CURSOR_PAGINATION_STEP1_PLAN.md.
 
Regression guard for the PreboardedExperiment discriminator mapping added in commit 44bf890061.
Pure-Mockito unit tests for PreboardedExperimentServiceImpl: the 409-on-existing logic in createPreboarded, the promotion FK-rebind + workflow-state advance.
Pure-Mockito unit tests for PreboardedWebService.
 
Test that we can log users in, etc.
Unaware of the Gemma database but uses the hg19 and mm10 databases (tests will not work with hg38)
 
 
 
 
 
 
 
For this test to work you should have the appender configured in log4j-test.properties.
 
 
Integration test for the PUBLICATION_ASSOCIATION schema migration (MySQL V25 / H2 V26) and the PublicationAssociation entity + service, against the real MySQL gemdtest.
Unit tests for the refusal message PublicationAssociationServiceImpl raises when a standing rejection blocks an acceptance.
Tests command line.
 
Test depending on PubMed availability.
 
 
Which cells come back missing from quantile normalization.
QuantileNormalizer.normalizeInPlace(double[][], boolean[]) must give exactly the values of QuantileNormalizer.normalize(DoubleMatrix, boolean[]), with and without reference columns and with missing values.
 
Which columns define the quantile reference distribution.
 
 
 
 
 
Lightweight unit test for QuantitationTypeReadServiceImpl that verifies each public method delegates to the right QuantitationTypeDao call without standing up a Spring context.
 
 
 
Utilities for generating random bulk vectors.
Generate random experimental design for a given experiment.
Utilities for generating random ExpressionDataDoubleMatrix following various random distributions.
 
Utilities for generating random single-cell data.
 
 
 
 
 
 
getRawDataMatrix -stdout: every result reaches the standard output, and a write that fails is an error.
A service method that reaches a DAO must declare its own transaction.
 
Test script to validate locking behaviors for ReadWriteFileLockTest.
Tools to help make regression testing easier — comparing matrices, arrays, and collections within a tolerance.
 
 
Fast H2-backed regression guard for the QT entity-identity collision that DataUpdater.addCountData re-run path tripped (commit ef838e08fc).
 
 
Assertions for jax-rs Response.
 
 
 
 
 
 
 
Unit tests for RoundingUtils, the JSON-side counterpart of TsvUtils.format(double).
 
 
Unit tests for RowMissingFilter: removes matrix rows that have too many missing values (NaN, by the matrix's own isMissing contract).
 
Pins the SQL Hibernate issues to load a SampleCoexpressionMatrix by id: the statement that selects the blob joins nothing.
Pins the shape of the filter attrition recorded on SampleCorrelationAnalysisEvent.
Sample a given MEX file.
 
Pins the two staleness signals in ScheduledSearchReindexer.
Tests security of methods run by Quartz.
 
One-off Flyway baseline generator.
 
Tests for SearchResult.
Unit-level smoke tests for SearchServiceImpl.
 
Tests the SecurityService: making objects public or private and testing the permissions.
Who SecurityUtil.resolveActingIdentity(String) records as having directed an action, and when an agent must name that person.
 
Pins the sendfile-vs-content-encoding interaction in SendfileProvider.
Test values are from hg18 all_est.
 
 
 
 
 
 
 
Guards the trap described in LazyInitByDefaultPostProcessor.
 
 
 
Complete integration tests for loading single-cell data.
 
 
 
 
 
HB6 cascade audit #9 regression guard: SingleCellDimension family (Pattern C — mutable="false" class + child collection + cache directive).
 
 
 
 
 
Tests covering integration of single-cell.
 
 
 
 
Unit tests for SingleExperimentAnalysis.getSecurityOwner(), the hook the ACL machinery consults to decide which ACL an analysis inherits.
 
Used to mark slow tests.
 
 
 
 
 
 
The parts of a split are committed before they are post-processed, so a part whose post-processing fails is left without processed data.
 
 
 
A statement-shaped experiment tag must survive the round trip as a Statement.
 
Guards the design read path's provenance surface.
 
 
 
 
 
 
 
 
A Subquery may carry several conjoined filters, so that they bind to the SAME element of a to-many relation.
 
 
 
This test covers subset analysis with pre-existing EE subset structure.
A subset analysis has to describe itself with the factors it actually modelled.
 
 
The three corpus strings uib read out of production, plus the cases where doing nothing is the correct behaviour.
 
 
 
 
 
 
 
 
Unit tests for the cursor-pagination branch added to TaxaWebService.getTaxonDatasets(TaxonArg, FilterArg, OffsetArg, LimitArg, SortArg, CursorArg) as step 1d of CURSOR_PAGINATION_STEP1_PLAN.md, following the same pattern as PlatformsWebServiceCursorTest (step 1c) and GeneWebServiceCursorTest (step 1b).
Unit tests for the cursor-pagination branch added to TaxaWebService.getTaxonGeneProbes(TaxonArg, GeneArg, OffsetArg, LimitArg, CursorArg) as step 1n of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to TaxaWebService.getTaxonGenes(TaxonArg, OffsetArg, LimitArg, CursorArg) as step 1g of CURSOR_PAGINATION_STEP1_PLAN.md.
 
 
 
Typed factory for persistent Taxon test fixtures.
Builder for a newly-created ad-hoc taxon.
Builder for a resolved (seeded) taxon.
Verifies the Phase 3 typed TaxonFactory.
 
 
 
 
 
Utilities for manipulating the SecurityContextHolder in a test envirnoment.
 
A simple implementation of CLIContext for testing purposes.
This class contains configuration for the ontology services used in tests
 
Minimalistic placeholder configurer for usage in tests.
 
Helpers for tests that need to assert lazy-association initialization state before and after a service's thaw(...) call.
 
Integration test for the V19 migration (TICKET.MODE + TICKET_TARGET.STATUS) and the corresponding Ticket/TicketTarget entity mappings.
Query construction behind GET /tickets/search: the HQL TicketDaoImpl.buildSearchHitHql(boolean, boolean, boolean) emits, the LIKE pattern TicketDaoImpl.searchLikePattern(String) builds, and the row projection TicketSearchHitValueObject.fromRow(Object[]).
Lightweight Mockito unit tests for TicketServiceImpl covering the Phase B-1 happy paths (open / assign / addComment / transition) and verifying that each mutating call appends the correct TicketEventType to the ticket's append-only event log.
Unit tests for the cursor-pagination branch added to TicketsWebService#getTickets(boolean, Long, TicketPriority, OffsetArg, LimitArg, CursorArg) as step 1o of CURSOR_PAGINATION_STEP1_PLAN.md.
Unit tests for the cursor-pagination branch added to TicketsWebService.getTicketEvents(Long, CursorArg, LimitArg) as step 1r of CURSOR_PAGINATION_STEP1_PLAN.md.
Real JAX-RS path matching for GET /tickets/scratchpad — the one thing the mocked TicketsWebServiceTest cannot see, since it calls the handler methods directly and a literal route swallowed by @Path("/{id}") would still pass there.
displayLabel / displayName on ticket targets.
Pure Mockito unit tests for TicketsWebService covering the read-only endpoints introduced in Phase B-2 of AUDIT_AS_WORKFLOW_RECCE.md.
Contract-level unit tests for TooFewDistinctValuesFilter: pins the threshold-validation invariants (constructor rejects out-of-range values) and the appliesTo short-circuit (threshold zero -> no-op filter).
No transaction may be open while a long computation runs.
The wire form of TriageVerdict.
 
 
 
 
Test based on GSE8441
Loads a ROBOT STAR-extracted module of Uberon (substantia-nigra subhierarchy) from a classpath fixture so the test runs in the default surefire pass.
 
updateUnifiedOntology -skipDownload builds only from a complete set of source files.
gemma.rest.rejectUnknownQueryParameters=false restores the JAX-RS default of ignoring an undeclared parameter.
 
Pins the rejection of query parameters a resource method cannot bind, and — just as importantly — the four cases that must keep working: a declared parameter, a path parameter, a route that reads the query string itself, and a route that has been annotated to opt out.
 
The backfill writes the GEO document and nothing else, and it skips what is already done.
 
 
Tests the Group facilities of the UserManager..
 
 
 
Tests loading, platform switch, vector merge, and complex deletion (in teardown)
The two rules that must not regress: the command refuses to run without being told which half to run, and a curator's assertion is never written over.
Verifies that VirtualThreadExecutorMetrics correctly increments its counters/gauges when wrapped tasks are submitted, complete, or throw.
 
This is a very simplisitc example that produces two representation for the same resource.
 
The report used to be asserted through its on-disk cache — generate, then read the Java-serialized WhatsNew.new / WhatsNew.updated files back and compare.
Pure-Mockito unit tests for WorkflowServiceImpl: state-machine enforcement, idempotent no-op semantics, the disallowed-transition exception.
Pure-Mockito unit tests for WorkflowWebService: REST-shape validation, error mapping (404 / 400 / 409).