Search in sources :

Example 16 with SUser

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);
}
Also used : SUser(jetbrains.buildServer.users.SUser) BuildTypeImpl(jetbrains.buildServer.serverSide.impl.BuildTypeImpl) Test(org.testng.annotations.Test)

Example 17 with SUser

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);
}
Also used : SUser(jetbrains.buildServer.users.SUser) BuildTypeImpl(jetbrains.buildServer.serverSide.impl.BuildTypeImpl) Test(org.testng.annotations.Test)

Example 18 with SUser

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);
    });
}
Also used : SUser(jetbrains.buildServer.users.SUser) BuildTypeImpl(jetbrains.buildServer.serverSide.impl.BuildTypeImpl) Test(org.testng.annotations.Test)

Example 19 with SUser

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);
}
Also used : SUser(jetbrains.buildServer.users.SUser) BuildTypeImpl(jetbrains.buildServer.serverSide.impl.BuildTypeImpl) Test(org.testng.annotations.Test)

Example 20 with SUser

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");
}
Also used : SUser(jetbrains.buildServer.users.SUser) Test(org.testng.annotations.Test)

Aggregations

SUser (jetbrains.buildServer.users.SUser)125 Test (org.testng.annotations.Test)70 ApiOperation (io.swagger.annotations.ApiOperation)35 BaseFinderTest (jetbrains.buildServer.server.rest.data.BaseFinderTest)35 Build (jetbrains.buildServer.server.rest.model.build.Build)20 BadRequestException (jetbrains.buildServer.server.rest.errors.BadRequestException)18 NotNull (org.jetbrains.annotations.NotNull)18 NotFoundException (jetbrains.buildServer.server.rest.errors.NotFoundException)15 SecurityContextEx (jetbrains.buildServer.serverSide.SecurityContextEx)13 Fields (jetbrains.buildServer.server.rest.model.Fields)12 SUserGroup (jetbrains.buildServer.groups.SUserGroup)11 ProjectEx (jetbrains.buildServer.serverSide.impl.ProjectEx)10 ServiceLocator (jetbrains.buildServer.ServiceLocator)9 BuildTypeImpl (jetbrains.buildServer.serverSide.impl.BuildTypeImpl)9 Nullable (org.jetbrains.annotations.Nullable)9 LocatorProcessException (jetbrains.buildServer.server.rest.errors.LocatorProcessException)8 SecurityContextImpl (jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl)8 java.util (java.util)7 Collectors (java.util.stream.Collectors)7 jetbrains.buildServer.serverSide (jetbrains.buildServer.serverSide)7