[appengine-java] Re: Testing with JDO

2010-10-25 Thread Daniel Blasco
Thank you Didier.

This is my BaseTest.java and works perfect now:

package ...;

import static org.junit.Assert.assertEquals;

import java.util.Date;
import java.util.List;

import javax.jdo.PersistenceManager;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.declaraciones.PMF;
import com.declaraciones.shared.Declaracion.EstadoDeclaracion;
import com.declaraciones.shared.Movimiento;
import
com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig;
import
com.google.appengine.tools.development.testing.LocalServiceTestHelper;

public class BaseTest {
private final LocalServiceTestHelper dsHelper = new
LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
private final PersistenceManager pm = PMF.getPersistenceManager();

@Before
public void setUp() {
System.out.println(Entering @Before for BaseTest);
dsHelper.setUp();
}

@After
public void tearDown() {
System.out.println(Entering @After for BaseTest);
this.dsHelper.tearDown();
}

// run this test twice to prove we're not leaking any state across
tests
@SuppressWarnings(unchecked)
private void doTest() {
String query = select from  + Movimiento.class.getName();
assertEquals(0, ((ListMovimiento)
pm.newQuery(query).execute()).size());
Movimiento m1 = new Movimiento();
pm.makePersistent(m1);
assertEquals(1, ((ListMovimiento)
pm.newQuery(query).execute()).size());
Movimiento m2 = new Movimiento();
pm.makePersistent(m2);
assertEquals(2, ((ListMovimiento)
pm.newQuery(query).execute()).size());
}

@Test
public void testInsert1() {
doTest();
}

@Test
public void testInsert2() {
doTest();
}

}

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: Testing with JDO

2010-10-25 Thread Didier Durand
Daniel,
You're welcome.
didier

On Oct 25, 12:40 pm, Daniel Blasco dab...@gmail.com wrote:
 Thank you Didier.

 This is my BaseTest.java and works perfect now:

 package ...;

 import static org.junit.Assert.assertEquals;

 import java.util.Date;
 import java.util.List;

 import javax.jdo.PersistenceManager;

 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

 import com.declaraciones.PMF;
 import com.declaraciones.shared.Declaracion.EstadoDeclaracion;
 import com.declaraciones.shared.Movimiento;
 import
 com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig;
 import
 com.google.appengine.tools.development.testing.LocalServiceTestHelper;

 public class BaseTest {
         private final LocalServiceTestHelper dsHelper = new
 LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
         private final PersistenceManager pm = PMF.getPersistenceManager();

         @Before
         public void setUp() {
                 System.out.println(Entering @Before for BaseTest);
                 dsHelper.setUp();
         }

         @After
         public void tearDown() {
                 System.out.println(Entering @After for BaseTest);
                 this.dsHelper.tearDown();
         }

         // run this test twice to prove we're not leaking any state across
 tests
         @SuppressWarnings(unchecked)
         private void doTest() {
                 String query = select from  + Movimiento.class.getName();
                 assertEquals(0, ((ListMovimiento)
 pm.newQuery(query).execute()).size());
                 Movimiento m1 = new Movimiento();
                 pm.makePersistent(m1);
                 assertEquals(1, ((ListMovimiento)
 pm.newQuery(query).execute()).size());
                 Movimiento m2 = new Movimiento();
                 pm.makePersistent(m2);
                 assertEquals(2, ((ListMovimiento)
 pm.newQuery(query).execute()).size());
         }

         @Test
         public void testInsert1() {
                 doTest();
         }

         @Test
         public void testInsert2() {
                 doTest();
         }

 }

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: Testing with JDO

2010-10-22 Thread Didier Durand
Hi Daniel,

Here is the source code I use daily on my own tests (starts all local
Services that I currently need)

You can forget Ofy.reset(): I use Objectify (must simpler and more
transparent  efficient than JDO which I started with)

public class TestCaseServer {

private
com.google.appengine.tools.development.testing.LocalServiceTestHelper
bssHelper;
private
com.google.appengine.tools.development.testing.LocalServiceTestHelper
dsHelper;
private
com.google.appengine.tools.development.testing.LocalServiceTestHelper
imgHelper;
private
com.google.appengine.tools.development.testing.LocalServiceTestHelper
userHelper;

@Before
public void setUp() {
// System.out.println(Entering @Before for TestCase );
this.setupBlobstoreService();
this.setupDatastoreService();
this.setupImageService();
this.setupUserService();
//
Ofy.reset();
}

@After
public void tearDown() {
// System.out.println(Entering @After for TestCase);
this.removeEntities();
//this.teardownBlobstoreService();
this.teardownDatastoreService();
this.teardownImageService();
this.teardownUserService();
}

private void setupBlobstoreService() {
this.bssHelper = new
com.google.appengine.tools.development.testing.LocalServiceTestHelper(
new
com.google.appengine.tools.development.testing.LocalBlobstoreServiceTestConfig());
this.bssHelper.setUp();
}

private void setupDatastoreService() {
this.dsHelper = new
com.google.appengine.tools.development.testing.LocalServiceTestHelper(
new
com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig());
this.dsHelper.setUp();
}

private void setupImageService() {
this.imgHelper = new
com.google.appengine.tools.development.testing.LocalServiceTestHelper(
new
com.google.appengine.tools.development.testing.LocalImagesServiceTestConfig());
this.imgHelper.setUp();
}

private void setupUserService() {
this.userHelper = new
com.google.appengine.tools.development.testing.LocalServiceTestHelper(
new
com.google.appengine.tools.development.testing.LocalUserServiceTestConfig());
this.userHelper.setUp();
}


/*
private void teardownBlobstoreService() {
this.bssHelper.tearDown();
}
*/

private void teardownDatastoreService() {
this.dsHelper.tearDown();
}

private void teardownImageService() {
this.imgHelper.tearDown();
}

private void teardownUserService() {
this.userHelper.tearDown();
}

}


On Oct 22, 1:01 pm, Daniel Blasco dab...@gmail.com wrote:
 Hi, I'm using GAE 1.3.5 and JUnit 4.

 I want to test a GAE App which uses JDO. Firstly I read the HowTo in
 the GAE official 
 site:http://code.google.com/appengine/docs/java/tools/localunittesting.html
 But there is no clues.

 In this pagehttp://blog.appenginefan.com/2009/05/jdo-and-unit-tests.html
 I found some instructions but, obselete I guess.

 Some instructions please?

 Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.