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(...).Fast unit tests for
AclEntryAfterInvocationByAssociationCollectionFilteringProvider.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
AclEntryAfterInvocationOwnedCollectionFilteringProvider.Fast unit tests for
AclEntryAfterInvocationPrivateCollectionFilteringProvider.Fast unit tests for
AclEntryAfterInvocationStreamFilteringProvider, demonstrating the
InMemoryAclService fixture in an after-invocation-provider context.Fast unit tests for
AclEntryAfterInvocationValueObjectCollectionFilteringProvider.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.
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.
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.
BlatAssociationScorer testsFormatting 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.Fast mock variant of
CompositeSequenceGeneMapperServiceTest.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.Covers the
*_FILE indirection in ConfigUtils.resolveEnvVar(String, java.util.function.Function).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.getDatasetsExpressionLevelsForGene(GeneArg, ubic.gemma.rest.util.args.QueryArg, FilterArg, OffsetArg, LimitArg, Boolean, ubic.gemma.rest.util.args.ExpLevelConsolidationArg, CursorArg, Boolean)
and its taxon-scoped sibling, as step 1v 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.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.
De-duplication contract of
ExpressionExperimentReadServiceImpl.getAnnotations(ExpressionExperiment, boolean).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.Tests for
OutlierDetectionServicePhase 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).
BaseIntegrationTest5for new tests