use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.
the class TestOccurrenceFinderTest method testNoTestRunsFromOthersPersonalBuild.
@Test
public void testNoTestRunsFromOthersPersonalBuild() {
final BuildTypeImpl buildType = registerBuildType("buildConf1", "project");
SUser user = myFixture.createUserAccount("andrey");
final SFinishedBuild personalBuild = build().in(buildType).personalForUser(user.getUsername()).withTest(BuildBuilder.TestData.test("aaa")).finish();
final SFinishedBuild regularBuild = build().in(buildType).withTest(BuildBuilder.TestData.test("aaa")).finish();
TestRunDataWithBuild regularRun = t("aaa", Status.NORMAL, 2, regularBuild.getBuildId());
check("test:(name:aaa)", TEST_MATCHER, regularRun);
check("test:(name:aaa),includePersonal:true", TEST_MATCHER, regularRun);
check("test:(name:aaa),includePersonal:false", TEST_MATCHER, regularRun);
}
use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.
the class TestOccurrenceFinderTest method testTestFromOtherUsersPersonalBuildByBuildLocator.
@Test
public void testTestFromOtherUsersPersonalBuildByBuildLocator() {
final BuildTypeImpl buildType = registerBuildType("buildConf1", "project");
SUser user = myFixture.createUserAccount("andrey");
final SFinishedBuild personalBuild = build().in(buildType).personalForUser(user.getUsername()).withTest(BuildBuilder.TestData.test("aaa")).finish();
TestRunDataWithBuild personalRun = t("aaa", Status.NORMAL, 1, personalBuild.getBuildId());
check(String.format("build:(id:%d)", personalBuild.getBuildId()), TEST_MATCHER, personalRun);
}
use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.
the class TestOccurrenceFinderTest method testTestRunFromOthersPersonalBuild.
@Test
public void testTestRunFromOthersPersonalBuild() throws Throwable {
final BuildTypeImpl buildType = registerBuildType("buildConf1", "project");
SUser user = myFixture.createUserAccount("andrey");
SUser requester = myFixture.createUserAccount("requester");
requester.setUserProperty(StandardProperties.SHOW_ALL_PERSONAL_BUILDS, "true");
requester.addRole(RoleScope.projectScope(buildType.getProjectId()), getTestRoles().getProjectViewerRole());
final SFinishedBuild personalBuild = build().in(buildType).personalForUser(user.getUsername()).withTest(BuildBuilder.TestData.test("aaa")).finish();
final SFinishedBuild regularBuild = build().in(buildType).withTest(BuildBuilder.TestData.test("aaa")).finish();
TestRunDataWithBuild personalRun = t("aaa", Status.NORMAL, 1, personalBuild.getBuildId());
TestRunDataWithBuild regularRun = t("aaa", Status.NORMAL, 2, regularBuild.getBuildId());
myServer.getSecurityContext().runAs(requester, () -> {
check("test:(name:aaa)", TEST_MATCHER, regularRun);
check("test:(name:aaa),includePersonal:true", TEST_MATCHER, personalRun, regularRun);
});
}
use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.
the class TestOccurrenceFinderTest method testTestFromOtherUsersPersonalBuildTestRunId.
@Test
public void testTestFromOtherUsersPersonalBuildTestRunId() {
final BuildTypeImpl buildType = registerBuildType("buildConf1", "project");
SUser user = myFixture.createUserAccount("andrey");
final SFinishedBuild personalBuild = build().in(buildType).personalForUser(user.getUsername()).withTest(BuildBuilder.TestData.test("aaa")).finish();
int testRunId = personalBuild.getBuildStatistics(BuildStatisticsOptions.ALL_TESTS_NO_DETAILS).getAllTests().get(0).getTestRunId();
TestRunDataWithBuild personalRun = t("aaa", Status.NORMAL, 1, personalBuild.getBuildId());
check(String.format("id:%d,build:%d", testRunId, personalBuild.getBuildId()), TEST_MATCHER, personalRun);
}
use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.
the class BuildFinderByPromotionTest method testPersonalBuilds.
@Test
void testPersonalBuilds() {
final SUser user1 = createUser("uuser1");
final SFinishedBuild b10 = build().in(myBuildType).finish();
final SFinishedBuild b20personal = build().in(myBuildType).personalForUser(user1.getUsername()).finish();
// TW-23299
checkBuilds("pinned:any", b10);
checkBuilds("status:SUCCESS", b10);
final RunningBuildEx running30 = build().in(myBuildType).run();
running30.stop(user1, "cancel comment");
SBuild b30canceled = finishBuild(running30, true);
final BuildTypeImpl buildType2 = registerBuildType("buildConf2", "project");
final RunningBuildEx running40 = build().in(buildType2).personalForUser(user1.getUsername()).run();
running40.stop(user1, "cancel comment");
SBuild b40personalCanceled = finishBuild(running40, true);
final SUser user2 = createUser("uuser2");
final RunningBuildEx running50 = build().in(myBuildType).run();
// make the build failed
running50.addBuildProblem(createBuildProblem());
running50.stop(user2, "cancel comment");
SBuild b50canceledFailed = finishBuild(running50, true);
final RunningBuildEx running60 = build().in(myBuildType).personalForUser(user1.getUsername()).run();
// make the build failed
running60.addBuildProblem(createBuildProblem());
running60.stop(user2, "cancel comment");
SBuild b60personalCanceledFailed = finishBuild(running60, true);
final SFinishedBuild b70 = build().in(buildType2).failed().finish();
final SFinishedBuild b80personal = build().in(buildType2).personalForUser(user1.getUsername()).failed().finish();
final SFinishedBuild b90FailedToStart = build().in(myBuildType).failedToStart().finish();
final SFinishedBuild b100personalFailedToStart = build().in(myBuildType).personalForUser(user2.getUsername()).failedToStart().finish();
// by default no personal builds should be listed
checkBuilds("buildType:(id:" + myBuildType.getExternalId() + ")", b10);
checkBuilds("pinned:any", b70, b10);
checkBuilds("pinned:any,failedToStart:any", b90FailedToStart, b70, b10);
checkBuilds("personal:true", b80personal, b20personal);
checkBuilds("personal:true,failedToStart:any", b100personalFailedToStart, b80personal, b20personal);
// checkBuilds("personal:true,status:UNKNOWN", b60personalCanceledFailed, b40personalCanceled);
checkBuilds("personal:true,canceled:true", b60personalCanceledFailed, b40personalCanceled);
checkBuilds("personal:false", b70, b10);
checkBuilds("personal:false,failedToStart:any", b90FailedToStart, b70, b10);
checkBuilds("personal:any,status:FAILURE", b80personal, b70);
checkBuilds("personal:any,status:FAILURE,failedToStart:any", b100personalFailedToStart, b90FailedToStart, b80personal, b70);
checkBuilds("personal:any,status:SUCCESS", b20personal, b10);
checkBuilds("personal:true,status:SUCCESS", b20personal);
// checkBuilds("buildType:(id:" + myBuildType.getExternalId() + "),personal:any,status:FAILURE", b100personalFailedToStart, b90FailedToStart);
checkBuilds("user:(id:" + user1.getId() + ")", b80personal, running60, running40, b20personal);
checkBuilds("user:(id:" + user1.getId() + "),personal:true", b80personal, running60, running40, b20personal);
checkBuilds("user:(id:" + user1.getId() + "),personal:any", b80personal, running60, running40, b20personal);
checkNoBuildsFound("triggered:(user:(id:" + user1.getId() + "))");
checkNoBuildsFound("triggered:(user:(id:" + user1.getId() + ")),personal:true");
checkNoBuildsFound("triggered:(user:(id:" + user1.getId() + ")),personal:any");
}
Aggregations