Class PublicationAssociationServiceImplTest

java.lang.Object
ubic.gemma.persistence.service.common.description.PublicationAssociationServiceImplTest

public class PublicationAssociationServiceImplTest extends Object
Unit tests for the refusal message PublicationAssociationServiceImpl raises when a standing rejection blocks an acceptance.

The proxy case is the one that matters. Every entry point on this service takes an Investigation — the mapped root of the hierarchy — and both associations that hold one (PublicationAssociation.investigation, AnnotationSet.investigation) are @ManyToOne(LAZY). A caller that reached the experiment through either hands the service an Investigation$HibernateProxy, which is an instance of no subclass, so the instanceof that recovers the short name fell through and the message named the dataset by database id.

Author:
claude
  • Constructor Details

    • PublicationAssociationServiceImplTest

      public PublicationAssociationServiceImplTest()
  • Method Details

    • setUp

      @BeforeEach public void setUp()
    • conflictMessage_namesTheExperimentByShortName

      @Test public void conflictMessage_namesTheExperimentByShortName()
    • conflictMessage_namesTheExperimentByShortName_evenThroughALazyProxy

      @Test public void conflictMessage_namesTheExperimentByShortName_evenThroughALazyProxy()
    • conflictMessage_fallsBackToTheIdWhenThereIsNoShortName

      @Test public void conflictMessage_fallsBackToTheIdWhenThereIsNoShortName()
      An investigation that is not an experiment, or one with no short name yet, still has to produce a usable message rather than blowing up.