'"java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started" running Gunit tests
When running Gunit tests for ClaimCenter using the following command and tomcat running we get an error related to the TableMetaDataFactory.
call ant -f Gunittestingtasks.xml rungunitReport -Dgunit.test.packages=com.lmig.pm.cl.cc.plugins >> d:\tmp\gunit.txt
Below is the full stack trace of a single error out of the Gunit test report XML file.
<testcase classname="com.lmig.claims.assignment.AssignmentFactoryTest" gosu="true" name="testAssignmentRepoInstantiation" time="0.013">
<error message="java.lang.IllegalStateException: TableMetadataFactory Caused by: java.lang.LinkageError type="java.lang.RuntimeException">java.lang.RuntimeException: java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started
at gw.testharness.v3.PLServerTestEnvironment.beforeTestSuite(PLServerTestEnvironment.java:50)
at com.guidewire.api.test.TestExecutionManager.maybeCallBeforeTestSuite(TestExecutionManager.java:206)
at com.guidewire.api.test.TestExecutionManager.runTestClass(TestExecutionManager.java:115)
at gw.api.test.TestClass.run(TestClass.java:318)
at com.guidewire.api.test.TestClassWrapper.runTest(TestClassWrapper.java:48)
at gw.test.Suite.run(Suite.java:385)
Caused by: java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started
at com.guidewire.pl.system.database.metadata.TableMetadataFactoryImpl.getTableMetadata(TableMetadataFactoryImpl.java:78)
at com.guidewire.pl.system.database.metadata.TableMetadataFactoryImpl.getColumn(TableMetadataFactoryImpl.java:102)
at com.guidewire.pl.system.database.impl.ForwardJoinCondition.<init>(ForwardJoinCondition.java:40)
at com.guidewire.pl.system.database.impl.TableObjectImpl.join(TableObjectImpl.java:225)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.getCredentialQuery(AbstractUserFinder.java:193)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.findByCredentialName(AbstractUserFinder.java:82)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.findSystemUser(AbstractUserFinder.java:53)
at com.guidewire.pl.system.security.impl.SuperUserIdentifierImpl.initIfNecessary(SuperUserIdentifierImpl.java:61)
at com.guidewire.pl.system.security.impl.SuperUserIdentifierImpl.getSystemServicesUserId(SuperUserIdentifierImpl.java:54)
at gw.testharness.v3.PLServerTestEnvironment.executeBeforeBackUpDatabase(PLServerTestEnvironment.java:73)
at gw.testharness.v3.PLServerTestEnvironment.afterServerStarted(PLServerTestEnvironment.java:55)
at gw.testharness.v3.PLServerTestEnvironment.beforeTestSuite(PLServerTestEnvironment.java:48)
</error>
<error message="java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started" type="java.lang.RuntimeException">java.lang.RuntimeException: java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started
at gw.testharness.v3.PLServerTestEnvironment.beforeTestSuite(PLServerTestEnvironment.java:50)
at com.guidewire.api.test.TestExecutionManager.maybeCallBeforeTestSuite(TestExecutionManager.java:206)
at com.guidewire.api.test.TestExecutionManager.runTestClass(TestExecutionManager.java:115)
at gw.api.test.TestClass.run(TestClass.java:318)
at com.guidewire.api.test.TestClassWrapper.runTest(TestClassWrapper.java:48)
at gw.test.Suite.run(Suite.java:385)
Caused by: java.lang.IllegalStateException: TableMetadataFactory cannot be used before it is started
at com.guidewire.pl.system.database.metadata.TableMetadataFactoryImpl.getTableMetadata(TableMetadataFactoryImpl.java:78)
at com.guidewire.pl.system.database.metadata.TableMetadataFactoryImpl.getColumn(TableMetadataFactoryImpl.java:102)
at com.guidewire.pl.system.database.impl.ForwardJoinCondition.<init>(ForwardJoinCondition.java:40)
at com.guidewire.pl.system.database.impl.TableObjectImpl.join(TableObjectImpl.java:225)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.getCredentialQuery(AbstractUserFinder.java:193)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.findByCredentialName(AbstractUserFinder.java:82)
at com.guidewire.pl.domain.community.impl.AbstractUserFinder.findSystemUser(AbstractUserFinder.java:53)
at com.guidewire.pl.system.security.impl.SuperUserIdentifierImpl.initIfNecessary(SuperUserIdentifierImpl.java:61)
at com.guidewire.pl.system.security.impl.SuperUserIdentifierImpl.getSystemServicesUserId(SuperUserIdentifierImpl.java:54)
at gw.testharness.v3.PLServerTestEnvironment.executeBeforeBackUpDatabase(PLServerTestEnvironment.java:73)
at gw.testharness.v3.PLServerTestEnvironment.afterServerStarted(PLServerTestEnvironment.java:55)
at gw.testharness.v3.PLServerTestEnvironment.beforeTestSuite(PLServerTestEnvironment.java:48)
</error>
</testcase>
All of the errors are coming from that issue for all of the GUnit tests
Not sure if it's a context.xml issue with configuration or something else at this point.Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|