Interface TestsManager
-
- All Known Implementing Classes:
TestsManagerImpl
public interface TestsManager
Manager for manipulating all things test related
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
copyTestResultsToBuildResultsSummary(@NotNull BuildResultsSummary summary, @NotNull BuildResults buildResults, @NotNull BuildContext buildContext)
Converts the test results sent back from the agent to a list of TestClassResults and attaches them to the BRS.@NotNull List<Pair<TestCaseResult,Integer>>
getLastNFailingResults(@NotNull TestCase testCase, int number)
Retrieve the last n failing testResults for this given test case, latest first.@NotNull List<Pair<TestCaseResult,Integer>>
getLastNFailingResults(@NotNull TestCase testCase, @NotNull List<BuildResultsSummary> buildResults, int number)
Retrieve the last n failing testResults for this given test case, but only those that occurred within the provided build results.@NotNull List<TestCase>
getLongestRunningTestCases(@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<TestCase,Float>>
getLongestToFixTestCases(@NotNull ImmutablePlan plan)
Retrieve a list of the test cases that have taken the longest amount of time to fix.@NotNull List<Pair<TestCase,Float>>
getLongestToFixTestCases(@NotNull List<BuildResultsSummary> buildResults)
Retrieve a list of the test cases that have taken the longest amount of time to fix.@NotNull List<Pair<TestCase,Long>>
getMostFailingTestCases(@NotNull ImmutablePlan plan)
Provide a list of the top 10 most failing test cases for a plan.@NotNull List<Pair<TestCase,Long>>
getMostFailingTestCases(@NotNull List<BuildResultsSummary> buildResults)
Provide a list of the top 10 most failing test cases for a plan.@NotNull List<TestCaseResultStatisticsProvider>
getResultStatistics(@NotNull TestCase testCase)
Returns a list of wrapped TestCaseResult and BuildResultSummary for a particular test case, for use by e.g.@NotNull List<TestCaseResultStatisticsProvider>
getResultStatistics(@NotNull TestCase testCase, @NotNull List<BuildResultsSummary> buildResults)
Returns a list of wrapped TestCaseResult and BuildResultSummary for a particular test case and contained within a specific span of build result summaries.@Nullable BuildResultsSummary
getSucceedingSinceBuildResultSummary(TestCase testCase)
Find the build in which the given test has been successful since.@Nullable TestCase
getTestCaseById(long testCaseId)
Find a specific testCase by id@Nullable TestCaseResult
getTestCaseResultById(long testCaseResultId)
Find a specific testCaseResult by id@NotNull List<TestCaseResult>
getTestCaseResults(TestCase testCase, long buildNumber)
Find a specific run of a testCase@Nullable TestClass
getTestClassById(long testClassId)
Find a specific testClass by id@Nullable TestClassResult
getTestClassResultById(long testClassResultId)
Find a specific testClassResult by id@NotNull List<TestClassResult>
getTestClassResults(@NotNull PlanResultKey planResultKey)
Retrieves a list of all testClassResults for a BuildResultSummary@NotNull com.google.common.collect.TreeMultimap<TestClassResult,TestCaseResult>
getTestOrderedMap(@NotNull List<TestCaseResult> tests)
Generate a ListOrderedMap of TestClassResult to list ofTestCaseResult
based on a given list of TestCaseResults.@NotNull List<TestCaseResult>
getTestsForBuildResultByDeltaState(BuildResultsSummary summary, TestDeltaState deltaState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a BuildResultSummary based on their delta state (e.g BROKEN, FIXED)@NotNull List<TestCaseResult>
getTestsForBuildResultByState(BuildResultsSummary summary, TestState state)
Retrieves a list of testCaseResults for a BuildResultSummary based on their state (e.f FAILED or SUCCESS)@NotNull List<TestCaseResult>
getTestsForBuildResultByState(BuildResultsSummary summary, TestState state, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a BuildResultSummary based on their state (e.f FAILED or SUCCESS).List<TestCaseResult>
getTestsForChainResultByDeltaState(ChainResultsSummary summary, TestDeltaState deltaState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on their delta state (e.g BROKEN, FIXED)@NotNull List<TestCaseResult>
getTestsForChainResultByDeltaStates(@NotNull ChainResultsSummary summary, @NotNull TestDeltaState[] deltaStates, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on their delta state (e.g BROKEN, FIXED)@NotNull List<TestCaseResult>
getTestsForChainResultByState(@NotNull ChainResultsSummary summary, @NotNull TestState testState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on theirTestState
List<Pair<TestCase,Long>>
getTopBrokenTests(@NotNull PlanKey planKey, BuildResultsFilter filter)
Returns a pai of the top 10 tests that's broken + the count for a given filter periodint
removeResultsByPlan(@NotNull Plan plan)
Deprecated.since 6.5int
removeResultsByPlan(PlanKey planKey)
Remove allTestClassResult
objects referenced byResultsSummary
objects identified by planKeyvoid
repopulateTestResultsInBuildResultsSummary(@NotNull BuildResultsSummary summary, @NotNull Supplier<List<TestResults>> buildResultsSupplier)
void
repopulateTestResultsInBuildResultsSummary(@NotNull BuildResultsSummary summary, @NotNull List<TestResults> successfulTests)
Deprecated.since 8.2 use#repopulateTestResultsInBuildResultsSummary(BuildResultsSummary, Supplier
- >)
void
saveTestCase(TestCase testCase)
Save an individual TestCase to the databasevoid
saveTestClass(TestClass testClass)
Save a TestClass (and included TestCases) to the database
-
-
-
Method Detail
-
saveTestClass
void saveTestClass(TestClass testClass)
Save a TestClass (and included TestCases) to the database- Parameters:
testClass
- to save
-
saveTestCase
void saveTestCase(TestCase testCase)
Save an individual TestCase to the database- Parameters:
testCase
- to save
-
copyTestResultsToBuildResultsSummary
void copyTestResultsToBuildResultsSummary(@NotNull @NotNull BuildResultsSummary summary, @NotNull @NotNull BuildResults buildResults, @NotNull @NotNull BuildContext buildContext)
Converts the test results sent back from the agent to a list of TestClassResults and attaches them to the BRS. Also updates (but does not save) testResultsSummary information in the BRS. This method does not save the test results, or the summary, but does save TestClass and TestCase objects to the database as required.- Parameters:
summary
- for the interesting tests to be attached to.buildResults
- for the boring tests to be attached tobuildContext
- for the build that has the tests we want to move
-
repopulateTestResultsInBuildResultsSummary
@Deprecated void repopulateTestResultsInBuildResultsSummary(@NotNull @NotNull BuildResultsSummary summary, @NotNull @NotNull List<TestResults> successfulTests)
Deprecated.since 8.2 use#repopulateTestResultsInBuildResultsSummary(BuildResultsSummary, Supplier
- >)
-
repopulateTestResultsInBuildResultsSummary
void repopulateTestResultsInBuildResultsSummary(@NotNull @NotNull BuildResultsSummary summary, @NotNull @NotNull Supplier<List<TestResults>> buildResultsSupplier)
-
getTestsForBuildResultByState
@NotNull @NotNull List<TestCaseResult> getTestsForBuildResultByState(BuildResultsSummary summary, TestState state)
Retrieves a list of testCaseResults for a BuildResultSummary based on their state (e.f FAILED or SUCCESS)- Parameters:
summary
- the BuildResultsSummary to get the tests forstate
- - The TestState to search for.- Returns:
- a list of testCaseResults for a BuildResultSummary with the given state
-
getTestsForBuildResultByState
@NotNull @NotNull List<TestCaseResult> getTestsForBuildResultByState(BuildResultsSummary summary, TestState state, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a BuildResultSummary based on their state (e.f FAILED or SUCCESS). To be used whenever pagination is required.- Parameters:
summary
- the BuildResultsSummary to get the tests forstate
- - The TestState to search for.firstResult
- - index of the first resultmaxCount
- - maximum amount of records returned- Returns:
- a list of testCaseResults for a BuildResultSummary with the given state
-
getTestsForBuildResultByDeltaState
@NotNull @NotNull List<TestCaseResult> getTestsForBuildResultByDeltaState(BuildResultsSummary summary, TestDeltaState deltaState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a BuildResultSummary based on their delta state (e.g BROKEN, FIXED)- Parameters:
summary
- the BuildResultsSummary to get the tests fordeltaState
- - The TestDeltaState to search for.firstResult
- - index of the first resultmaxCount
- - maximum amount of records returned- Returns:
- a list of testCaseResults for a BuildResultSummary with the given delta state
-
getTestsForChainResultByDeltaState
List<TestCaseResult> getTestsForChainResultByDeltaState(ChainResultsSummary summary, TestDeltaState deltaState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on their delta state (e.g BROKEN, FIXED)- Parameters:
summary
-deltaState
-firstResult
- - index of the first resultmaxCount
- - maximum amount of records returned- Returns:
- testCaseResults
-
getTestsForChainResultByDeltaStates
@NotNull @NotNull List<TestCaseResult> getTestsForChainResultByDeltaStates(@NotNull @NotNull ChainResultsSummary summary, @NotNull @NotNull TestDeltaState[] deltaStates, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on their delta state (e.g BROKEN, FIXED)- Parameters:
summary
-deltaStates
-firstResult
- - index of the first resultmaxCount
- - maximum amount of records returned- Returns:
- testCaseResults
-
getTestsForChainResultByState
@NotNull @NotNull List<TestCaseResult> getTestsForChainResultByState(@NotNull @NotNull ChainResultsSummary summary, @NotNull @NotNull TestState testState, int firstResult, int maxCount)
Retrieves a list of testCaseResults for a ChainResultSummary based on theirTestState
- Parameters:
summary
-testState
-firstResult
-maxCount
-- Returns:
- testCaseResults
-
getTestOrderedMap
@NotNull @NotNull com.google.common.collect.TreeMultimap<TestClassResult,TestCaseResult> getTestOrderedMap(@NotNull @NotNull List<TestCaseResult> tests)
Generate a ListOrderedMap of TestClassResult to list ofTestCaseResult
based on a given list of TestCaseResults.- Parameters:
tests
- to put in the map- Returns:
- a ListOrderedMap of TestClassResult to list of
TestCaseResult
-
getTestCaseResultById
@Nullable @Nullable TestCaseResult getTestCaseResultById(long testCaseResultId)
Find a specific testCaseResult by id- Parameters:
testCaseResultId
- of the test you want to find- Returns:
- the testCaseResult corresponding to the id provided.
-
getTestClassResultById
@Nullable @Nullable TestClassResult getTestClassResultById(long testClassResultId)
Find a specific testClassResult by id- Parameters:
testClassResultId
- of the test you want to find- Returns:
- the testClassResult corresponding to the id provided.
-
getTestCaseById
@Nullable @Nullable TestCase getTestCaseById(long testCaseId)
Find a specific testCase by id- Parameters:
testCaseId
- of the test case you want to find- Returns:
- the testCase corresponding to the id provided.
-
getTestClassById
@Nullable @Nullable TestClass getTestClassById(long testClassId)
Find a specific testClass by id- Parameters:
testClassId
- of the test class you want to find- Returns:
- the testClass corresponding to the id provided.
-
getResultStatistics
@NotNull @NotNull List<TestCaseResultStatisticsProvider> getResultStatistics(@NotNull @NotNull TestCase testCase)
Returns a list of wrapped TestCaseResult and BuildResultSummary for a particular test case, for use by e.g. graphs- Parameters:
testCase
- to find the results for- Returns:
- list of
TestCaseResultStatisticsProvider
for each TestCaseResult found for the TestCase
-
getResultStatistics
@NotNull @NotNull List<TestCaseResultStatisticsProvider> getResultStatistics(@NotNull @NotNull TestCase testCase, @NotNull @NotNull List<BuildResultsSummary> buildResults)
Returns a list of wrapped TestCaseResult and BuildResultSummary for a particular test case and contained within a specific span of build result summaries. For use by e.g. graphs- Parameters:
testCase
- to find the results forbuildResults
- to contain search to (this list must not be empty)- Returns:
- list of
TestCaseResultStatisticsProvider
for each TestCaseResult found for the TestCase
-
getLongestRunningTestCases
@NotNull @NotNull List<TestCase> getLongestRunningTestCases(@NotNull @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)- Parameters:
plan
- to search in for the tests.- Returns:
- List of TestCases
-
getMostFailingTestCases
@NotNull @NotNull List<Pair<TestCase,Long>> getMostFailingTestCases(@NotNull @NotNull ImmutablePlan plan)
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.- Parameters:
plan
- to search for the tests- Returns:
- List of Pairs containing the testCase and the number of failures found (int)
-
getMostFailingTestCases
@NotNull @NotNull List<Pair<TestCase,Long>> getMostFailingTestCases(@NotNull @NotNull List<BuildResultsSummary> buildResults)
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.- Parameters:
buildResults
- to search in for the tests.- Returns:
- List of Pairs containing the testCase and the number of failures found (int)
-
getLongestToFixTestCases
@NotNull @NotNull List<Pair<TestCase,Float>> getLongestToFixTestCases(@NotNull @NotNull ImmutablePlan plan)
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.- Parameters:
plan
- to search for results in- Returns:
- List of Pairs containing the testCase and the average number of builds between breakages and its corresponding fix (float)
-
getTopBrokenTests
List<Pair<TestCase,Long>> getTopBrokenTests(@NotNull @NotNull PlanKey planKey, BuildResultsFilter filter)
Returns a pai of the top 10 tests that's broken + the count for a given filter period- Parameters:
planKey
-filter
-- Returns:
-
getLongestToFixTestCases
@NotNull @NotNull List<Pair<TestCase,Float>> getLongestToFixTestCases(@NotNull @NotNull List<BuildResultsSummary> buildResults)
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.- Parameters:
buildResults
- to search in for the tests.- Returns:
- List of Pairs containing the testCase and the average number of builds between breakages and its corresponding fix (float)
-
getLastNFailingResults
@NotNull @NotNull List<Pair<TestCaseResult,Integer>> getLastNFailingResults(@NotNull @NotNull TestCase testCase, int number)
Retrieve the last n failing testResults for this given test case, latest first.- Parameters:
testCase
- to look for the results for.number
- of results to retrieve- Returns:
- List of pairs containing the offending TestCaseResult and the build number it occurred in.
-
getLastNFailingResults
@NotNull @NotNull List<Pair<TestCaseResult,Integer>> getLastNFailingResults(@NotNull @NotNull TestCase testCase, @NotNull @NotNull List<BuildResultsSummary> buildResults, int number)
Retrieve the last n failing testResults for this given test case, but only those that occurred within the provided build results. Latest first.- Parameters:
testCase
- to look for the results for.buildResults
- to search in for the tests.number
- of results to retrieve- Returns:
- List of pairs containing the offending TestCaseResult and the build number it occurred in.
-
getTestCaseResults
@NotNull @NotNull List<TestCaseResult> getTestCaseResults(TestCase testCase, long buildNumber)
Find a specific run of a testCase- Parameters:
testCase
- to look forbuildNumber
- of the build the run should have occurred in- Returns:
- the TestCaseResult for the given test case, if it ran in the given build.
-
getSucceedingSinceBuildResultSummary
@Nullable @Nullable BuildResultsSummary getSucceedingSinceBuildResultSummary(TestCase testCase)
Find the build in which the given test has been successful since. AKA the last recored "FIXED" test run.- Parameters:
testCase
- to search history for.- Returns:
- the BuildResultSummary that this test has been successful since.
-
removeResultsByPlan
@Deprecated int removeResultsByPlan(@NotNull @NotNull Plan plan)
Deprecated.since 6.5Remove allTestClassResult
objects referenced byResultsSummary
objects identified by planKey- Parameters:
plan
- plan- Returns:
- number of removed objects
-
removeResultsByPlan
int removeResultsByPlan(PlanKey planKey)
Remove allTestClassResult
objects referenced byResultsSummary
objects identified by planKey- Parameters:
planKey
- planKey- Returns:
- number of removed objects
-
getTestClassResults
@NotNull @NotNull List<TestClassResult> getTestClassResults(@NotNull @NotNull PlanResultKey planResultKey)
Retrieves a list of all testClassResults for a BuildResultSummary- Parameters:
planResultKey
- key of the BuildResultsSummary to get the tests class results for- Returns:
- a list of all testClassResults for the BuildResultSummary
-
-