|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object junit.framework.Assert junit.framework.TestCase com.atlassian.jira.functest.framework.FuncTestCase com.atlassian.jira.webtests.ztests.user.TestUserHistory
public class TestUserHistory
Testing for MSSQL and the UserHistoryItem table. We need MSSQL to be cause-insensitive by default so that column names are case insensitive. However, this causes problems with the UserHistoryItem table where there is a unique index on the ('UserName,Type,EntityId') columns. Basically, JIRA was doing a case sensitive compare on 'EntityId' while the database was not which meant that JIRA tried to insert a duplicate (e.g. ('admin', 'assignee', 'Assignee') and ('admin', 'assignee', 'assignee')) if the case of a username changed (NOTE: The case problem is in the EntityId column and not the UserName). From 5.2 onwards we insert items into the UserHistoryItem table when an issue is created or assigned. This meant that a duplicate key error could cause JIRA to stop creating issues because a DB runtime exception is thrown.
Field Summary |
---|
Fields inherited from class com.atlassian.jira.functest.framework.FuncTestCase |
---|
administration, assertions, backdoor, environmentData, form, funcTestHelperFactory, issueTableAssertions, locator, log, navigation, oldway_consider_porting, page, parse, tester, text |
Constructor Summary | |
---|---|
TestUserHistory()
|
Method Summary | |
---|---|
protected void |
setUpTest()
Setup for an actual test |
void |
testCreateIssue()
|
void |
testProfilePage()
|
Methods inherited from class com.atlassian.jira.functest.framework.FuncTestCase |
---|
builtInCustomFieldKey, getAssertions, getEnvironmentData, getTester, getWebClientListener, isDumpHTML, log, log, runBare, runTest, setEnvironmentData, setUp, setUpHttpUnitOptions, shouldSkipSetup, tearDown, tearDownTest, xpath |
Methods inherited from class junit.framework.TestCase |
---|
countTestCases, createResult, getName, run, run, setName, toString |
Methods inherited from class junit.framework.Assert |
---|
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TestUserHistory()
Method Detail |
---|
protected void setUpTest()
FuncTestCase
setUpTest
in class FuncTestCase
public void testCreateIssue() throws Exception
Exception
public void testProfilePage() throws Exception
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |