Class BioAssayDimensionCacheStalenessTest

java.lang.Object
ubic.gemma.core.util.test.BaseTest5
ubic.gemma.core.util.test.BaseDatabaseTest5
ubic.gemma.persistence.service.expression.bioAssayData.BioAssayDimensionCacheStalenessTest

@ContextConfiguration public class BioAssayDimensionCacheStalenessTest extends BaseDatabaseTest5
HB6 cascade audit #10 regression guard: BioAssayDimension HBM (Pattern C — mutable="false" class + child list + cache directive).

BioAssayDimension is mapped mutable="false" with <cache usage="read-only"/> and a <cache usage="read-write"/> on the bioAssays list — the same AuditTrail / AuditEvent bug shape (commit ab8b4c443c). The full L2 cache-staleness symptom requires second-level caching, which BaseDatabaseTest5 disables; this test guards the in-session persist + flush + clear + reload round-trip which is the basic Pattern C smoke check. The 1 BAD-cited failure from the EE-DAO 18-failure set (commit c99be75b47) was a cascade-walk issue, not a L2 staleness issue, and is incidentally already covered by the now-green ExpressionExperimentDaoTest.testReplaceRawDataVectorsWithNewDimension.

See Also:
  • Constructor Details

    • BioAssayDimensionCacheStalenessTest

      public BioAssayDimensionCacheStalenessTest()
  • Method Details

    • testEmptyBioAssayDimensionRoundTrip

      @Test public void testEmptyBioAssayDimensionRoundTrip()
      A mutable="false" BioAssayDimension with an empty bioAssays list persists and survives a flush + clear + reload.
    • testRepeatedReloadOfBioAssayDimension

      @Test public void testRepeatedReloadOfBioAssayDimension()
      Reloading the same mutable="false" BioAssayDimension twice after flush + clear must give equivalent state both times. This is the minimum guard that the in-session cache invalidation path is not serving a stale snapshot of a mutable="false" entity post-clear.