Class TestCaseHibernateDao
- java.lang.Object
-
- org.springframework.dao.support.DaoSupport
-
- org.springframework.orm.hibernate5.support.HibernateDaoSupport
-
- com.atlassian.bamboo.persistence3.StatelessSessionHibernateDaoSupport
-
- com.atlassian.bamboo.persistence3.BambooHibernateObjectDao<TestCase>
-
- com.atlassian.bamboo.resultsummary.tests.TestCaseHibernateDao
-
- All Implemented Interfaces:
BambooObjectDao<TestCase>
,TestCaseDao
,org.springframework.beans.factory.InitializingBean
public class TestCaseHibernateDao extends BambooHibernateObjectDao<TestCase> implements TestCaseDao
-
-
Constructor Summary
Constructors Constructor Description TestCaseHibernateDao()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
countCurrentlyQuarantinedTests(ImmutableChain chain)
long
countTestCases()
Count all TestCase recordsTestCase
findById(long testCaseId)
Find a specific testCase by id@NotNull List<TestCase>
getAllTestCasesWithExpiredQuarantine()
Returns a list of alltest cases
that are marked as quarantined, but their quarantine has expired.@NotNull List<TestCase>
getLongestRunningTestCasesForPlan(@NotNull ImmutablePlan plan)
Provide a list of the top ten longest running tests for a plan, based on the duration of the TestCase's TestCaseResults Finds top 10 results in order (longest first)@NotNull List<Pair<Long,Float>>
getLongestToFixTestCasesForBuildResults(@NotNull List<BuildResultsSummary> buildResults)
Retrieve a list of the test cases that have taken the longest amount of time to fix.@NotNull List<Pair<Long,Float>>
getLongestToFixTestCasesForPlan(@NotNull ImmutablePlan plan)
Retrieve a list of the test cases that have taken the longest amount of time to fix.@NotNull List<Pair<Long,Long>>
getMostFailingTestCasesForBuildResults(@NotNull List<BuildResultsSummary> buildResults)
Provide a list of the top 10 most failing test cases for a plan.@NotNull List<Pair<Long,Long>>
getMostFailingTestCasesForPlan(@NotNull ImmutablePlan plan)
Provide a list of the top 10 most failing test cases for a plan.@NotNull List<TestCase>
getQuarantinedTestCasesForChain(@NotNull ImmutableChain chain)
Provide a list of the quarantined tests for a job@NotNull List<TestCase>
getQuarantinedTestCasesForJob(@NotNull ImmutableJob job)
Provide a list of the quarantined tests for a job@NotNull List<Pair<Long,Long>>
getTopBrokenTests(@NotNull PlanKey planKey, BuildResultsFilter filter)
long
scrollTestCasesForExport(@NotNull Consumer<TestCase> consumer)
Scroll through and execute function for each of TestCase records Objects passed to function are not fully initialized.-
Methods inherited from class com.atlassian.bamboo.persistence3.BambooHibernateObjectDao
convertSearchTermToLikeExpression, countAll, countWithRestriction, delete, deleteAll, executeCountQuery, findAll, findById, merge, save, saveAll
-
Methods inherited from class com.atlassian.bamboo.persistence3.StatelessSessionHibernateDaoSupport
getCacheAwareHibernateTemplate
-
Methods inherited from class org.springframework.orm.hibernate5.support.HibernateDaoSupport
checkDaoConfig, createHibernateTemplate, currentSession, getHibernateTemplate, getSessionFactory, setHibernateTemplate, setSessionFactory
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.bamboo.persistence3.BambooObjectDao
countAll, countWithRestriction, delete, deleteAll, findAll, findById, merge, save, saveAll
-
-
-
-
Method Detail
-
findById
public TestCase findById(long testCaseId)
Description copied from interface:TestCaseDao
Find a specific testCase by id- Specified by:
findById
in interfaceTestCaseDao
- Parameters:
testCaseId
- of the test case you want to find- Returns:
- the testCase corresponding to the id provided.
-
getLongestRunningTestCasesForPlan
@NotNull public @NotNull List<TestCase> getLongestRunningTestCasesForPlan(@NotNull @NotNull ImmutablePlan plan)
Description copied from interface:TestCaseDao
Provide a list of the top ten longest running tests for a plan, based on the duration of the TestCase's TestCaseResults Finds top 10 results in order (longest first)- Specified by:
getLongestRunningTestCasesForPlan
in interfaceTestCaseDao
- Parameters:
plan
- to search in for the tests.- Returns:
- List of Pairs containing the testCase id (long) and the average duration (float)
-
getQuarantinedTestCasesForChain
@NotNull public @NotNull List<TestCase> getQuarantinedTestCasesForChain(@NotNull @NotNull ImmutableChain chain)
Description copied from interface:TestCaseDao
Provide a list of the quarantined tests for a job- Specified by:
getQuarantinedTestCasesForChain
in interfaceTestCaseDao
- Parameters:
chain
- to search in for the tests.- Returns:
- List of TestCases
-
countCurrentlyQuarantinedTests
public int countCurrentlyQuarantinedTests(ImmutableChain chain)
- Specified by:
countCurrentlyQuarantinedTests
in interfaceTestCaseDao
-
getQuarantinedTestCasesForJob
@NotNull public @NotNull List<TestCase> getQuarantinedTestCasesForJob(@NotNull @NotNull ImmutableJob job)
Description copied from interface:TestCaseDao
Provide a list of the quarantined tests for a job- Specified by:
getQuarantinedTestCasesForJob
in interfaceTestCaseDao
- Parameters:
job
- to search in for the tests.- Returns:
- List of TestCases
-
getMostFailingTestCasesForPlan
@NotNull public @NotNull List<Pair<Long,Long>> getMostFailingTestCasesForPlan(@NotNull @NotNull ImmutablePlan plan)
Description copied from interface:TestCaseDao
Provide a list of the top 10 most failing test cases for a plan. It is calculated based on failure count, not percentage. Results are ordered from most failing to least failing.- Specified by:
getMostFailingTestCasesForPlan
in interfaceTestCaseDao
- Parameters:
plan
- to search for the tests- Returns:
- List of Pairs containing the testCase id (long) and the number of failures found (int)
-
getMostFailingTestCasesForBuildResults
@NotNull public @NotNull List<Pair<Long,Long>> getMostFailingTestCasesForBuildResults(@NotNull @NotNull List<BuildResultsSummary> buildResults)
Description copied from interface:TestCaseDao
Provide a list of the top 10 most failing test cases for a plan. It is calculated based on failure count, not percentage Results are ordered from most failing to least failing.- Specified by:
getMostFailingTestCasesForBuildResults
in interfaceTestCaseDao
- Parameters:
buildResults
- to search in for the tests.- Returns:
- List of Pairs containing the testCase id (long) and the number of failures found (int)
-
getLongestToFixTestCasesForPlan
@NotNull public @NotNull List<Pair<Long,Float>> getLongestToFixTestCasesForPlan(@NotNull @NotNull ImmutablePlan plan)
Description copied from interface:TestCaseDao
Retrieve a list of the test cases that have taken the longest amount of time to fix. Returns top 10 with the longest to fix first.- Specified by:
getLongestToFixTestCasesForPlan
in interfaceTestCaseDao
- Parameters:
plan
- to search for results in- Returns:
- List of Pairs containing the testCase id (long) and the average number of builds between breakages and its corresponding fix (float)
-
getLongestToFixTestCasesForBuildResults
@NotNull public @NotNull List<Pair<Long,Float>> getLongestToFixTestCasesForBuildResults(@NotNull @NotNull List<BuildResultsSummary> buildResults)
Description copied from interface:TestCaseDao
Retrieve a list of the test cases that have taken the longest amount of time to fix. Returns top 10 with the longest to fix first.- Specified by:
getLongestToFixTestCasesForBuildResults
in interfaceTestCaseDao
- Parameters:
buildResults
- to search in for the tests.- Returns:
- List of Pairs containing the testCase id (long) and the average number of builds between breakages and its corresponding fix (float)
-
getTopBrokenTests
@NotNull public @NotNull List<Pair<Long,Long>> getTopBrokenTests(@NotNull @NotNull PlanKey planKey, BuildResultsFilter filter)
- Specified by:
getTopBrokenTests
in interfaceTestCaseDao
-
countTestCases
public long countTestCases()
Description copied from interface:TestCaseDao
Count all TestCase records- Specified by:
countTestCases
in interfaceTestCaseDao
- Returns:
- number of TestCase records
-
scrollTestCasesForExport
public long scrollTestCasesForExport(@NotNull @NotNull Consumer<TestCase> consumer)
Description copied from interface:TestCaseDao
Scroll through and execute function for each of TestCase records Objects passed to function are not fully initialized. Collections are empty and related objects have only id set.- Specified by:
scrollTestCasesForExport
in interfaceTestCaseDao
- Parameters:
consumer
- consumer to accept each of the TestCase records- Returns:
- number of traversed rows
-
getAllTestCasesWithExpiredQuarantine
@NotNull public @NotNull List<TestCase> getAllTestCasesWithExpiredQuarantine()
Description copied from interface:TestCaseDao
Returns a list of alltest cases
that are marked as quarantined, but their quarantine has expired.- Specified by:
getAllTestCasesWithExpiredQuarantine
in interfaceTestCaseDao
- Returns:
- test cases with expired quarantine
-
-