Package org.springmodules.orm.ojb

Source Code of org.springmodules.orm.ojb.PersistenceBrokerTemplateTests

/*
* Copyright 2002-2005 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.springmodules.orm.ojb;

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

import junit.framework.TestCase;

import org.apache.ojb.broker.Identity;
import org.apache.ojb.broker.IdentityFactory;
import org.apache.ojb.broker.PBKey;
import org.apache.ojb.broker.PersistenceBroker;
import org.apache.ojb.broker.PersistenceBrokerFactory;
import org.apache.ojb.broker.query.Query;
import org.apache.ojb.broker.query.QueryByCriteria;
import org.easymock.MockControl;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springmodules.beans.TestBean;

/**
* @author Juergen Hoeller
* @since 08.07.2004
*/
public class PersistenceBrokerTemplateTests extends TestCase {

  protected void setUp() throws Exception {
    Resource res = new ClassPathResource("OJB.properties");
    System.setProperty("OJB.properties", res.getFile().getAbsolutePath());
  }

  public void testPbKey() {
    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate();
    assertEquals(PersistenceBrokerFactory.getDefaultKey(), template.getPbKey());

    template = new PersistenceBrokerTemplate();
    template.setJcdAlias("alias1");
    assertEquals("alias1", template.getJcdAlias());
    assertEquals("alias1", template.getPbKey().getAlias());

    template = new PersistenceBrokerTemplate();
    template.setPbKey(new PBKey("alias2", "user2", "password2"));
    assertEquals("alias2", template.getJcdAlias());
    assertEquals("alias2", template.getPbKey().getAlias());
    assertEquals("user2", template.getPbKey().getUser());
    assertEquals("password2", template.getPbKey().getPassword());
  }

  public void testGetObjectById() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    MockControl idfControl = MockControl.createControl(IdentityFactory.class);
    final IdentityFactory idf = (IdentityFactory) idfControl.getMock();

    Identity identity = new Identity(String.class, Object.class, new Object[] {"id"});
    pb.serviceIdentity();
    pbControl.setReturnValue(idf, 1);
    idf.buildIdentity(String.class, "id");
    idfControl.setReturnValue(identity, 1);
    pb.getObjectByIdentity(identity);
    pbControl.setReturnValue("", 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();
    idfControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals("", template.getObjectById(String.class, "id"));
    pbControl.verify();
    idfControl.verify();
  }

  public void testGetObjectByQuery() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    pb.getObjectByQuery(query);
    pbControl.setReturnValue("", 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals("", template.getObjectByQuery(query));
    pbControl.verify();
  }

  public void testGetCollectionByQuery() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    Collection result = new HashSet();
    pb.getCollectionByQuery(query);
    pbControl.setReturnValue(result, 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals(result, template.getCollectionByQuery(query));
    pbControl.verify();
  }

  public void testGetIteratorByQuery() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    Iterator result = new HashSet().iterator();
    pb.getIteratorByQuery(query);
    pbControl.setReturnValue(result, 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals(result, template.getIteratorByQuery(query));
    pbControl.verify();
  }

  public void testGetReportQueryIteratorByQuery() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    Iterator result = new HashSet().iterator();
    pb.getReportQueryIteratorByQuery(query);
    pbControl.setReturnValue(result, 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals(result, template.getReportQueryIteratorByQuery((query)));
    pbControl.verify();
  }

  public void testGetCount() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    pb.getCount(query);
    pbControl.setReturnValue(0, 1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    assertEquals(0, template.getCount(query));
    pbControl.verify();
  }

  public void testRemoveFromCache() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Object entity = new Object();
    pb.removeFromCache(entity);
    pbControl.setVoidCallable(1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    template.removeFromCache(entity);
    pbControl.verify();
  }

  public void testClearCache() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    pb.clearCache();
    pbControl.setVoidCallable(1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    template.clearCache();
    pbControl.verify();
  }

  public void testStore() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Object entity = new Object();
    pb.store(entity);
    pbControl.setVoidCallable(1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    template.store(entity);
    pbControl.verify();
  }

  public void testDelete() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Object entity = new Object();
    pb.delete(entity);
    pbControl.setVoidCallable(1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    template.delete(entity);
    pbControl.verify();
  }

  public void testDeleteByQuery() {
    MockControl pbControl = MockControl.createControl(PersistenceBroker.class);
    final PersistenceBroker pb = (PersistenceBroker) pbControl.getMock();
    Query query = new QueryByCriteria(TestBean.class);
    pb.deleteByQuery(query);
    pbControl.setVoidCallable(1);
    pb.close();
    pbControl.setReturnValue(true, 1);
    pbControl.replay();

    PersistenceBrokerTemplate template = new PersistenceBrokerTemplate() {
      protected PersistenceBroker getPersistenceBroker() {
        return pb;
      }
    };
    template.deleteByQuery(query);
    pbControl.verify();
  }

}
TOP

Related Classes of org.springmodules.orm.ojb.PersistenceBrokerTemplateTests

TOP
Copyright © 2018 www.massapi.com. 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.