I am trying to follow Michelle's instructions and writing a test case for Sequence Assertions. I have the following question:
1. What package should i put my Test Case in?
2. Which .jdo file should i add the <sequence> element to?
3. I have specified my own .conf file, below are the contents of that file:
-------aaa.conf------------------------------------------
jdo.tck.description = Run one test for debugging
jdo.tck.testdata =
jdo.tck.standarddata =
jdo.tck.mapping = 0
jdo.tck.classes = org.apache.jdo.tck.api.persistencemanager.Test # Change the name of the class once the Test Case runs successfully
--------------------------------------------------------------------
As you can see from above, i was trying to run the Test Case so i temporarily made a Test Case named "Test" and put it in package org.apache.jdo.tck.api.persistencemanager. Then i inserted the <sequence> element in
/test/applicationidentity/jdo/org/apache/jdo/tck/pc/company/package.jdo.

<sequence name="TestSequence" datastore-sequence="TEST_SEQ" strategy="contiguous"/>

--------------Below is my test() method.---------------------

  public void test() {
       pm = getPM();
       Transaction tx = pm.currentTransaction();
       tx.begin();
Sequence seq = pm.getSequence("org.apache.jdo.tck.pc.company.TestSequence");
//
//            fail(ASSERTION_FAILED,
// "Expected a sequence named org.apache.jdo.tck.pc.company.ProductSequence but got null instead");
//
       tx.commit();
       pm.close();
       pm = null;
       }
---------------------------------------------------------------
When i run the test i get the following error (I know i am testing for this error if sequence not found, i just want to make sure i am doing stuff properly):

[java] 1) test(org.apache.jdo.tck.api.persistencemanager.Test)javax.jdo.JDOUserException: The requested sequence "org.apache.jdo.tck.pc.company.ProductSequence" could not be found. Please mak
sure that it is specified in a valid Meta-Data file.
[java] at org.jpox.AbstractPersistenceManager.getSequence(AbstractPersistenceManager.java:3133) [java] at org.apache.jdo.tck.api.persistencemanager.Test.test(Test.java:65) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
[java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:115)

Michelle: One issue here is that your instructions say that i should invoke maven -Djdo.tck.cfglist=aaa.conf installSchema first. If i do that with a mapping of jdo.tck.mapping=0, then it takes a long time to install the schema. Do we really need to installSchema everytime for the value 0. In my case, i am simply trying to test pm.getSequence("org.apache.jdo.tck.pc.company.TestSequence"), can i simply put a jdo.tck.mapping = 1 instead?

An early response would be appreciated

--
Karan Singh

Reply via email to