Package org.easymock

Examples of org.easymock.MockControl


    }
  }

  final public void testAddDocuments() throws Exception {
    SimpleAnalyzer analyzer = new SimpleAnalyzer();
    MockControl indexFactoryControl = MockControl.createStrictControl(IndexFactory.class);
    IndexFactory indexFactory = (IndexFactory)indexFactoryControl.getMock();
    MockControl indexWriterControl = MockControl.createStrictControl(LuceneIndexWriter.class);
    LuceneIndexWriter indexWriter = (LuceneIndexWriter)indexWriterControl.getMock();
    MockControl documentsCreatorControl = MockControl.createStrictControl(DocumentsCreator.class);
    DocumentsCreator documentsCreator = (DocumentsCreator)documentsCreatorControl.getMock();
   
    //documents
    List documents = new ArrayList();
    Document document1 = new Document();
    document1.add(new Field("field", "a sample", Field.Store.YES, Field.Index.TOKENIZED));
    document1.add(new Field("filter", "a sample filter", Field.Store.YES, Field.Index.TOKENIZED));
    document1.add(new Field("sort", "2", Field.Store.YES, Field.Index.UN_TOKENIZED));
    documents.add(document1);

    indexFactory.getIndexWriter();
    indexFactoryControl.setReturnValue(indexWriter, 1);
   
    documentsCreator.createDocuments();
    documentsCreatorControl.setReturnValue(documents, 1);
   
    indexWriter.addDocument(document1);
    indexWriterControl.setVoidCallable();
   
    indexWriter.close();
    indexWriterControl.setVoidCallable(1);
   
    indexFactoryControl.replay();
    indexWriterControl.replay();
    documentsCreatorControl.replay();
   
    //Lucene template
    LuceneIndexTemplate template = new DefaultLuceneIndexTemplate(indexFactory,analyzer);
    template.addDocuments(documentsCreator);

    indexFactoryControl.verify();
    indexWriterControl.verify();
    documentsCreatorControl.verify();
  }
View Full Code Here


    documentsCreatorControl.verify();
  }

  final public void testUpdateDocument() throws Exception {
    SimpleAnalyzer analyzer = new SimpleAnalyzer();
    MockControl indexFactoryControl = MockControl.createStrictControl(IndexFactory.class);
    IndexFactory indexFactory = (IndexFactory)indexFactoryControl.getMock();
    MockControl indexWriterControl = MockControl.createStrictControl(LuceneIndexWriter.class);
    LuceneIndexWriter indexWriter = (LuceneIndexWriter)indexWriterControl.getMock();
    MockControl indexReaderControl = MockControl.createStrictControl(LuceneIndexReader.class);
    LuceneIndexReader indexReader = (LuceneIndexReader)indexReaderControl.getMock();
    MockControl searcherControl = MockControl.createStrictControl(LuceneSearcher.class);
    LuceneSearcher searcher = (LuceneSearcher)searcherControl.getMock();
    MockControl documentModifierControl = MockControl.createStrictControl(DocumentModifier.class);
    DocumentModifier documentModifier = (DocumentModifier)documentModifierControl.getMock();
    MockControl hitsControl = MockControl.createStrictControl(LuceneHits.class);
    LuceneHits hits = (LuceneHits)hitsControl.getMock();
   
    //document
    Document document = new Document();
    document.add(new Field("field", "a sample", Field.Store.YES, Field.Index.TOKENIZED));
    document.add(new Field("filter", "a sample filter", Field.Store.YES, Field.Index.TOKENIZED));
    document.add(new Field("sort", "2", Field.Store.YES, Field.Index.UN_TOKENIZED));

    Term term = new Term("id","2");
   
    indexFactory.getIndexReader();
    indexFactoryControl.setReturnValue(indexReader, 1);
   
    indexReader.createSearcher();
    indexReaderControl.setReturnValue(searcher);
   
    searcher.search(new TermQuery(term));
    searcherControl.setReturnValue(hits);
   
    hits.length();
    hitsControl.setReturnValue(1, 2);
   
    hits.doc(0);
    hitsControl.setReturnValue(document);
   
    documentModifier.updateDocument(document);
    documentModifierControl.setReturnValue(document, 1);
   
    searcher.close();
    searcherControl.setVoidCallable(1);

    indexReader.close();
    indexReaderControl.setVoidCallable(1);

    indexFactory.getIndexReader();
    indexFactoryControl.setReturnValue(indexReader, 1);
   
    indexReader.deleteDocuments(term);
    indexReaderControl.setReturnValue(1, 1);
   
    indexReader.close();
    indexReaderControl.setVoidCallable(1);
   
    indexFactory.getIndexWriter();
    indexFactoryControl.setReturnValue(indexWriter, 1);
   
    indexWriter.addDocument(document);
    indexWriterControl.setVoidCallable();
   
    indexWriter.close();
    indexWriterControl.setVoidCallable(1);
   
    indexFactoryControl.replay();
    indexReaderControl.replay();
    indexWriterControl.replay();
    searcherControl.replay();
    documentModifierControl.replay();
    hitsControl.replay();
   
    //Lucene template
    LuceneIndexTemplate template = new DefaultLuceneIndexTemplate(indexFactory, analyzer);
    template.updateDocument(term, documentModifier);

    indexFactoryControl.verify();
    indexReaderControl.verify();
    indexWriterControl.verify();
    searcherControl.verify();
    documentModifierControl.verify();
    hitsControl.verify();
  }
View Full Code Here

    hitsControl.verify();
  }

  final public void testUpdateDocuments() throws Exception {
    SimpleAnalyzer analyzer = new SimpleAnalyzer();
    MockControl indexFactoryControl = MockControl.createStrictControl(IndexFactory.class);
    IndexFactory indexFactory = (IndexFactory)indexFactoryControl.getMock();
    MockControl indexWriterControl = MockControl.createStrictControl(LuceneIndexWriter.class);
    LuceneIndexWriter indexWriter = (LuceneIndexWriter)indexWriterControl.getMock();
    MockControl indexReaderControl = MockControl.createStrictControl(LuceneIndexReader.class);
    LuceneIndexReader indexReader = (LuceneIndexReader)indexReaderControl.getMock();
    MockControl searcherControl = MockControl.createStrictControl(LuceneSearcher.class);
    LuceneSearcher searcher = (LuceneSearcher)searcherControl.getMock();
    MockControl documentsModifierControl = MockControl.createStrictControl(DocumentsModifier.class);
    DocumentsModifier documentsModifier = (DocumentsModifier)documentsModifierControl.getMock();
    MockControl hitsControl = MockControl.createStrictControl(LuceneHits.class);
    LuceneHits hits = (LuceneHits)hitsControl.getMock();
   
    //document
    Document document = new Document();
    document.add(new Field("field", "a sample", Field.Store.YES, Field.Index.TOKENIZED));
    document.add(new Field("filter", "a sample filter", Field.Store.YES, Field.Index.TOKENIZED));
    document.add(new Field("sort", "2", Field.Store.YES, Field.Index.UN_TOKENIZED));

    Term term = new Term("id","2");
    List documents = new ArrayList();
   
    indexFactory.getIndexReader();
    indexFactoryControl.setReturnValue(indexReader, 1);
   
    indexReader.createSearcher();
    indexReaderControl.setReturnValue(searcher);
   
    searcher.search(new TermQuery(term));
    searcherControl.setReturnValue(hits);
   
    documentsModifier.updateDocuments(hits);
    documentsModifierControl.setReturnValue(documents, 1);
   
    searcher.close();
    searcherControl.setVoidCallable(1);

    indexReader.close();
    indexReaderControl.setVoidCallable(1);

    indexFactory.getIndexReader();
    indexFactoryControl.setReturnValue(indexReader, 1);
   
    indexReader.deleteDocuments(term);
    indexReaderControl.setReturnValue(1, 1);
   
    indexReader.close();
    indexReaderControl.setVoidCallable(1);
   
    indexFactory.getIndexWriter();
    indexFactoryControl.setReturnValue(indexWriter, 1);
   
    indexWriter.addDocument(document);
    indexWriterControl.setVoidCallable();
   
    indexWriter.close();
    indexWriterControl.setVoidCallable(1);
   
    indexFactoryControl.replay();
    indexReaderControl.replay();
    indexWriterControl.replay();
    searcherControl.replay();
    documentsModifierControl.replay();
    hitsControl.replay();
  }
View Full Code Here

    namespaces.put("hocus", "pocus");

    factory.setNamespaces(namespaces);
    factory.setSkipExistingNamespaces(false);

    MockControl sessionCtrl = MockControl.createControl(Session.class);
    Session session = (Session) sessionCtrl.getMock();

    MockControl wsCtrl = MockControl.createControl(Workspace.class);
    Workspace ws = (Workspace) wsCtrl.getMock();

    MockControl nrCtrl = MockControl.createControl(NamespaceRegistry.class);
    NamespaceRegistry registry = (NamespaceRegistry) nrCtrl.getMock();

    // afterPropertiesSet
    repoCtrl.expectAndReturn(repo.login(null, null), session);
    sessionCtrl.expectAndReturn(session.getWorkspace(), ws);
    wsCtrl.expectAndReturn(ws.getNamespaceRegistry(), registry);

    registry.registerNamespace("foo", "bar");
    registry.registerNamespace("hocus", "pocus");

    nrCtrl.expectAndReturn(registry.getPrefixes(), new String[0]);
    nrCtrl.replay();
    wsCtrl.replay();
    sessionCtrl.replay();
    repoCtrl.replay();

    factory.afterPropertiesSet();

    factory.destroy();

    nrCtrl.verify();
    wsCtrl.verify();
    sessionCtrl.verify();
  }
View Full Code Here

  public void testSessionHolder() throws Exception {
    final String REPO_NAME = "hocus_pocus";

    repoCtrl.expectAndReturn(repo.getDescriptor(Repository.REP_NAME_DESC), REPO_NAME);

    MockControl sessionCtrl = MockControl.createControl(Session.class);
    Session session = (Session) sessionCtrl.getMock();

    repoCtrl.expectAndReturn(repo.login(null, null), session);

    repoCtrl.replay();
    sessionCtrl.replay();

    List providers = new ArrayList();

    providers.add(new SessionHolderProvider() {

      /**
       * @see org.springmodules.jcr.SessionHolderProvider#acceptsRepository(java.lang.String)
       */
      public boolean acceptsRepository(String repositoryName) {
        return REPO_NAME.equals(repositoryName);
      }

      /**
       * @see org.springmodules.jcr.SessionHolderProvider#createSessionHolder(javax.jcr.Session)
       */
      public SessionHolder createSessionHolder(Session session) {
        return new CustomSessionHolder(session);
      }

    });

    ListSessionHolderProviderManager providerManager = new ListSessionHolderProviderManager();
    providerManager.setProviders(providers);

    factory.setSessionHolderProviderManager(providerManager);
    factory.afterPropertiesSet();

    Session sess = factory.getSession();
    assertSame(session, sess);
    assertSame(CustomSessionHolder.class, factory.getSessionHolder(sess).getClass());

    repoCtrl.verify();
    sessionCtrl.verify();
  }
View Full Code Here

import org.springmodules.jcr.support.ListSessionHolderProviderManager;

public class LocalTransactionManagerTests extends TestCase {

  public void testTransactionCommit() throws Exception {
    MockControl sfControl = MockControl.createControl(SessionFactory.class);
    final SessionFactory sf = (SessionFactory) sfControl.getMock();
    MockControl sessionControl = MockControl.createControl(XASession.class);
    final XASession session = (XASession) sessionControl.getMock();
    // create nice mock
    MockControl xaResControl = MockControl.createControl(XAResource.class);
    XAResource xaRes = (XAResource) xaResControl.getMock();

    sfControl.expectAndReturn(sf.getSession(), session);
    sessionControl.expectAndReturn(session.getXAResource(), xaRes);

    session.save();
    session.logout();

    /*
     * MockControl repositoryControl =
     * MockControl.createNiceControl(Repository.class); Repository
     * repository = (Repository) repositoryControl.getMock();
     * repositoryControl.replay();
     *
     * sessionControl.expectAndReturn(session.getRepository(), repository,
     * MockControl.ONE_OR_MORE); final SessionHolderProviderManager
     * providerManager = new ListSessionHolderProviderManager();
     *
     */

    Xid xidMock = new XidMock();

    xaRes.start(xidMock, XAResource.TMNOFLAGS);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.prepare(xidMock);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaResControl.setReturnValue(0);
    xaRes.commit(xidMock, false);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.end(xidMock, XAResource.TMSUCCESS);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);

    sfControl.replay();
    sessionControl.replay();
    xaResControl.replay();

    PlatformTransactionManager tm = new LocalTransactionManager(sf);
    TransactionTemplate tt = new TransactionTemplate(tm);
    final List l = new ArrayList();
    l.add("test");
    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    tt.execute(new TransactionCallbackWithoutResult() {
      protected void doInTransactionWithoutResult(TransactionStatus status) {
        assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
        JcrTemplate template = new JcrTemplate(sf);
        template.save();
      }
    });

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    sfControl.verify();
    sessionControl.verify();
    xaResControl.verify();
  }
View Full Code Here

    sessionControl.verify();
    xaResControl.verify();
  }

  public void testTransactionRollback() throws Exception {
    MockControl sfControl = MockControl.createControl(SessionFactory.class);
    final SessionFactory sf = (SessionFactory) sfControl.getMock();
    MockControl sessionControl = MockControl.createControl(XASession.class);
    final XASession session = (XASession) sessionControl.getMock();
    // create nice mock
    MockControl xaResControl = MockControl.createControl(XAResource.class);
    XAResource xaRes = (XAResource) xaResControl.getMock();

    sfControl.expectAndReturn(sf.getSession(), session);

    sessionControl.expectAndReturn(session.getXAResource(), xaRes);
    session.save();
    session.logout();
    /*
     * // used for ServiceProvider MockControl repositoryControl =
     * MockControl.createNiceControl(Repository.class); Repository
     * repository = (Repository) repositoryControl.getMock();
     * repositoryControl.replay();
     *
     * sessionControl.expectAndReturn(session.getRepository(), repository,
     * MockControl.ONE_OR_MORE);
     */

    Xid xidMock = new XidMock();

    xaRes.start(xidMock, XAResource.TMNOFLAGS);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.end(xidMock, XAResource.TMFAIL);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.rollback(xidMock);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);

    sfControl.replay();
    sessionControl.replay();
    xaResControl.replay();
    final SessionHolderProviderManager providerManager = new ListSessionHolderProviderManager();

    PlatformTransactionManager tm = new LocalTransactionManager(sf);
    TransactionTemplate tt = new TransactionTemplate(tm);
    final List l = new ArrayList();
    l.add("test");
    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    try {
      tt.execute(new TransactionCallbackWithoutResult() {
        protected void doInTransactionWithoutResult(TransactionStatus status) {
          assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
          JcrTemplate template = new JcrTemplate(sf);
          template.execute(new JcrCallback() {
            public Object doInJcr(Session se) throws RepositoryException {
              se.save();
              throw new RuntimeException();
            }

          });
        }
      });
    }
    catch (RuntimeException e) {
      // it's okay
    }

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    sfControl.verify();
    sessionControl.verify();
    xaResControl.verify();
  }
View Full Code Here

    sessionControl.verify();
    xaResControl.verify();
  }

  public void testTransactionRollbackOnly() throws Exception {
    MockControl sfControl = MockControl.createControl(SessionFactory.class);
    final SessionFactory sf = (SessionFactory) sfControl.getMock();
    MockControl sessionControl = MockControl.createControl(XASession.class);
    final XASession session = (XASession) sessionControl.getMock();
    // create nice mock
    MockControl xaResControl = MockControl.createControl(XAResource.class);
    XAResource xaRes = (XAResource) xaResControl.getMock();

    sfControl.expectAndReturn(sf.getSession(), session);

    sessionControl.expectAndReturn(session.getXAResource(), xaRes);
    session.save();
    session.logout();

    Xid xidMock = new XidMock();

    xaRes.start(xidMock, XAResource.TMNOFLAGS);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.end(xidMock, XAResource.TMFAIL);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);
    xaRes.rollback(xidMock);
    xaResControl.setMatcher(MockControl.ALWAYS_MATCHER);

    sfControl.replay();
    sessionControl.replay();
    xaResControl.replay();
    final SessionHolderProviderManager providerManager = new ListSessionHolderProviderManager();

    PlatformTransactionManager tm = new LocalTransactionManager(sf);
    TransactionTemplate tt = new TransactionTemplate(tm);
    final List l = new ArrayList();
    l.add("test");
    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    tt.execute(new TransactionCallbackWithoutResult() {
      protected void doInTransactionWithoutResult(TransactionStatus status) {
        assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
        JcrTemplate template = new JcrTemplate(sf);
        template.execute(new JcrCallback() {
          public Object doInJcr(Session se) throws RepositoryException {
            se.save();
            return null;
          }

        });
        status.setRollbackOnly();
      }
    });

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    sfControl.verify();
    sessionControl.verify();
    xaResControl.verify();
  }
View Full Code Here

    sessionControl.verify();
    xaResControl.verify();
  }

  public void testInvalidIsolation() throws Exception {
    MockControl sfControl = MockControl.createControl(SessionFactory.class);
    final SessionFactory sf = (SessionFactory) sfControl.getMock();

    sfControl.replay();

    PlatformTransactionManager tm = new LocalTransactionManager(sf);
    TransactionTemplate tt = new TransactionTemplate(tm);

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    tt.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE);
    try {
      tt.execute(new TransactionCallbackWithoutResult() {
        protected void doInTransactionWithoutResult(TransactionStatus status) {
          assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
          JcrTemplate template = new JcrTemplate(sf);
          template.execute(new JcrCallback() {
            public Object doInJcr(Session session) throws RepositoryException {
              return null;
            }
          });
        }
      });
      fail("Should have thrown InvalidIsolationLevelException");

    }
    catch (InvalidIsolationLevelException e) {
      // it's okay
    }

    assertTrue("Hasn't thread session", !TransactionSynchronizationManager.hasResource(sf));
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    sfControl.verify();
  }
View Full Code Here

    sfControl.verify();
  }

  public void testTransactionCommitWithPrebound() throws Exception {
    MockControl sfControl = MockControl.createControl(SessionFactory.class);
    final SessionFactory sf = (SessionFactory) sfControl.getMock();
    MockControl sessionControl = MockControl.createControl(XASession.class);
    final XASession session = (XASession) sessionControl.getMock();

    MockControl xaResControl = MockControl.createControl(XAResource.class);
    XAResource xaRes = (XAResource) xaResControl.getMock();

    sessionControl.expectAndReturn(session.getXAResource(), xaRes);
    session.save();

    sfControl.replay();
    sessionControl.replay();
    xaResControl.replay();
    final SessionHolderProviderManager providerManager = new ListSessionHolderProviderManager();

    PlatformTransactionManager tm = new LocalTransactionManager(sf);
    TransactionTemplate tt = new TransactionTemplate(tm);
    UserTxSessionHolder uTx = new UserTxSessionHolder(session);
    TransactionSynchronizationManager.bindResource(sf, uTx);

    assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));

    tt.execute(new TransactionCallbackWithoutResult() {
      protected void doInTransactionWithoutResult(TransactionStatus status) {
        assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
        JcrTemplate template = new JcrTemplate(sf);
        template.save();
      }
    });

    assertTrue("Has thread session", TransactionSynchronizationManager.hasResource(sf));
    TransactionSynchronizationManager.unbindResource(sf);
    assertTrue("JTA synchronizations not active", !TransactionSynchronizationManager.isSynchronizationActive());

    sfControl.verify();
    sessionControl.verify();
    xaResControl.verify();
  }
View Full Code Here

TOP

Related Classes of org.easymock.MockControl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.