Package org.openstreetmap.osmosis.apidb.v0_6.impl

Source Code of org.openstreetmap.osmosis.apidb.v0_6.impl.ChangesetManagerTest

// This software is released into the Public Domain.  See copying.txt for details.
package org.openstreetmap.osmosis.apidb.v0_6.impl;

import org.junit.Test;
import org.openstreetmap.osmosis.apidb.common.DatabaseContext;
import org.openstreetmap.osmosis.core.domain.v0_6.OsmUser;
import org.openstreetmap.osmosis.testutil.AbstractDataTest;


/**
* Tests for the changeset manager class.
*
* @author Brett Henderson
*/
public class ChangesetManagerTest extends AbstractDataTest {

    private final DatabaseUtilities dbUtils = new DatabaseUtilities(dataUtils);
   
   
    /**
     * Tests the changeset manager.
     */
    @Test
    public void testChangeset() {
      DatabaseContext dbCtx;
      UserManager userManager;
      ChangesetManager changesetManager;
      OsmUser user;
      long changesetId;
     
      user = new OsmUser(1, "user");
      changesetId = 2;
     
      dbCtx = dbUtils.createDatabaseContext();
     
      // Reset the database to a clean state.
      dbUtils.truncateDatabase();
     
      userManager = new UserManager(dbCtx);
      changesetManager = new ChangesetManager(dbCtx);
     
      userManager.addOrUpdateUser(user);
     
      // Create the changeset in the database.
      changesetManager.addChangesetIfRequired(changesetId, user);
     
      // Make the same call which should just return if the changeset is already known.
      changesetManager.addChangesetIfRequired(changesetId, user);
     
      // Create a new instance of the manager to verify that it copes with a non-cached changeset.
      changesetManager = new ChangesetManager(dbCtx);
      changesetManager.addChangesetIfRequired(changesetId, user);
     
      dbCtx.release();
    }
}
TOP

Related Classes of org.openstreetmap.osmosis.apidb.v0_6.impl.ChangesetManagerTest

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.