Search in sources :

Example 41 with SUser

use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.

the class MuteRequestTest method test_unmuteTest.

@Test
public void test_unmuteTest() {
    final ProjectEx project = createProject("Project", "Project");
    final BuildTypeEx bt1 = project.createBuildType("bt1");
    final BuildTypeEx bt2 = project.createBuildType("bt2");
    // just a child project
    final ProjectEx projectChild = project.createProject("Project2", "Project2");
    final BuildTypeEx bt21 = projectChild.createBuildType("bt21");
    createBuild(bt1, new String[0], new String[] { "test1", "test2", "test3" });
    createBuild(bt2, new String[0], new String[] { "test1", "test2", "test3", "test4" });
    createBuild(bt21, new String[0], new String[] { "test1", "test2", "test3", "test4" });
    final STest test1 = myFixture.getTestManager().createTest(new TestName("test1"), project.getProjectId());
    final STest test2 = myFixture.getTestManager().createTest(new TestName("test2"), project.getProjectId());
    SUser user = createUser("user");
    {
        Mutes mutes = myRequest.getMutes(null, null, null, null);
        // assertEquals(Integer.valueOf(0), mutes.count); //todo: fix
        assertEmpty(mutes.items);
    }
    myMutingService.muteTestsInBuildTypes(user, null, false, null, Arrays.asList(bt1, bt2), Arrays.asList(test1, test2), false);
    {
        Mutes mutes = myRequest.getMutes(null, null, null, null);
        assertEquals(Integer.valueOf(1), mutes.count);
        assertEquals(1, mutes.items.size());
        assertNull(mutes.items.get(0).scope.project);
        assertNotNull(mutes.items.get(0).scope.buildTypes);
        assertEquals(2, mutes.items.get(0).scope.buildTypes.buildTypes.size());
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt1.getExternalId().equals(buildType.getId())));
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt2.getExternalId().equals(buildType.getId())));
        assertNull(mutes.items.get(0).target.problems);
        assertEquals(2, mutes.items.get(0).target.tests.items.size());
        assertTrue(mutes.items.get(0).target.tests.items.stream().anyMatch(test -> String.valueOf(test1.getTestNameId()).equals(test.id)));
        assertTrue(mutes.items.get(0).target.tests.items.stream().anyMatch(test -> String.valueOf(test2.getTestNameId()).equals(test.id)));
    }
    myMutingService.unmuteTests(user, null, bt1, Arrays.asList(test1));
    {
        // this is the current behavior, but actually something should change, see TW-53393
        Mutes mutes = myRequest.getMutes(null, null, null, null);
        assertEquals(Integer.valueOf(1), mutes.count);
        assertEquals(1, mutes.items.size());
        assertNull(mutes.items.get(0).scope.project);
        assertNotNull(mutes.items.get(0).scope.buildTypes);
        assertEquals(2, mutes.items.get(0).scope.buildTypes.buildTypes.size());
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt1.getExternalId().equals(buildType.getId())));
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt2.getExternalId().equals(buildType.getId())));
        assertNull(mutes.items.get(0).target.problems);
        assertEquals(2, mutes.items.get(0).target.tests.items.size());
        assertTrue(mutes.items.get(0).target.tests.items.stream().anyMatch(test -> String.valueOf(test1.getTestNameId()).equals(test.id)));
        assertTrue(mutes.items.get(0).target.tests.items.stream().anyMatch(test -> String.valueOf(test2.getTestNameId()).equals(test.id)));
    }
    myMutingService.unmuteTests(user, null, bt2, Arrays.asList(test1));
    {
        Mutes mutes = myRequest.getMutes(null, null, null, null);
        assertEquals(Integer.valueOf(1), mutes.count);
        assertEquals(1, mutes.items.size());
        assertNull(mutes.items.get(0).scope.project);
        assertNotNull(mutes.items.get(0).scope.buildTypes);
        assertEquals(2, mutes.items.get(0).scope.buildTypes.buildTypes.size());
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt1.getExternalId().equals(buildType.getId())));
        assertTrue(mutes.items.get(0).scope.buildTypes.buildTypes.stream().anyMatch(buildType -> bt2.getExternalId().equals(buildType.getId())));
        assertNull(mutes.items.get(0).target.problems);
        assertEquals(1, mutes.items.get(0).target.tests.items.size());
        assertTrue(mutes.items.get(0).target.tests.items.stream().anyMatch(test -> String.valueOf(test2.getTestNameId()).equals(test.id)));
    }
    {
        setInternalProperty(Mutes.REST_MUTES_ACTUAL_STATE, "true");
        Mutes mutes = myRequest.getMutes(null, "$long,mute(target(tests(test(mutes(mute(target(tests($long))))))))", null, null);
        assertEquals(1, mutes.items.get(0).target.tests.items.get(0).mutes.items.get(0).target.tests.items.size());
    }
}
Also used : ProjectEx(jetbrains.buildServer.serverSide.impl.ProjectEx) BuildTypeEx(jetbrains.buildServer.serverSide.BuildTypeEx) TestName(jetbrains.buildServer.tests.TestName) SUser(jetbrains.buildServer.users.SUser) STest(jetbrains.buildServer.serverSide.STest) Mutes(jetbrains.buildServer.server.rest.model.problem.Mutes) STest(jetbrains.buildServer.serverSide.STest) BaseFinderTest(jetbrains.buildServer.server.rest.data.BaseFinderTest) Test(org.testng.annotations.Test)

Example 42 with SUser

use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.

the class ServerRequestTest method test_default_fields_in_licensing_data.

@Test
public void test_default_fields_in_licensing_data() throws Throwable {
    final SUser user = createUser("user");
    user.addRole(RoleScope.globalScope(), getSysAdminRole());
    LicensingData data = myRequest.getLicensingData("");
    assertNotNull(data.maxAgents);
    assertNotNull(data.getAgentsLeft());
    assertNotNull(data.serverLicenseType);
    assertNotNull(data.serverEffectiveReleaseDate);
    assertNotNull(data.licenseKeys);
}
Also used : LicensingData(jetbrains.buildServer.server.rest.model.server.LicensingData) SUser(jetbrains.buildServer.users.SUser) BaseFinderTest(jetbrains.buildServer.server.rest.data.BaseFinderTest) Test(org.testng.annotations.Test)

Example 43 with SUser

use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.

the class ServerRequestTest method test_user_with_enough_permissions_should_get_licensing_data.

@Test
public void test_user_with_enough_permissions_should_get_licensing_data() throws Throwable {
    final SUser user = createUser("user");
    user.addRole(RoleScope.globalScope(), getSysAdminRole());
    LicensingData data = myRequest.getLicensingData("licenseUseExceeded,maxAgents,unlimitedAgents,agentsLeft,maxBuildTypes,unlimitedBuildTypes,buildTypesLeft,serverLicenseType");
    assertNotNull(data.licenseUseExceeded);
    assertNotNull(data.maxAgents);
    assertNotNull(data.unlimitedAgents);
    assertNotNull(data.getAgentsLeft());
}
Also used : LicensingData(jetbrains.buildServer.server.rest.model.server.LicensingData) SUser(jetbrains.buildServer.users.SUser) BaseFinderTest(jetbrains.buildServer.server.rest.data.BaseFinderTest) Test(org.testng.annotations.Test)

Example 44 with SUser

use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.

the class TwoFactorRequestTest method testSetupAdminKey.

@Test
public void testSetupAdminKey() throws Throwable {
    final SUser admin = createAdmin("admin");
    myFixture.getSecurityContext().runAs(admin, new SecurityContextEx.RunAsAction() {

        @Override
        public void run() {
            TwoFactorCredentials credentials = myRequest.setupTwoFactor();
            myRequest.confirmTwoFactor(credentials.uuid.toString(), 0, new FakeHttpServletRequest());
            assertNotNull(admin.getPropertyValue(SECRET_KEY_PROPERTY));
            assertNotNull(admin.getPropertyValue(RECOVERY_KEY_PROPERTY));
        }
    });
}
Also used : FakeHttpServletRequest(jetbrains.buildServer.controllers.fakes.FakeHttpServletRequest) SecurityContextEx(jetbrains.buildServer.serverSide.SecurityContextEx) SUser(jetbrains.buildServer.users.SUser) TwoFactorCredentials(jetbrains.buildServer.server.rest.model.user.TwoFactorCredentials) BaseFinderTest(jetbrains.buildServer.server.rest.data.BaseFinderTest) Test(org.testng.annotations.Test)

Example 45 with SUser

use of jetbrains.buildServer.users.SUser in project teamcity-rest by JetBrains.

the class TwoFactorRequestTest method testSetupUserKey.

@Test
public void testSetupUserKey() throws Throwable {
    final SUser user = createUser("user");
    myFixture.getSecurityContext().runAs(user, new SecurityContextEx.RunAsAction() {

        @Override
        public void run() throws Throwable {
            TwoFactorCredentials credentials = myRequest.setupTwoFactor();
            myRequest.confirmTwoFactor(credentials.uuid.toString(), 0, new FakeHttpServletRequest());
            assertNotNull(myFixture.getSecurityContext().runAsSystem(() -> user.getPropertyValue(SECRET_KEY_PROPERTY)));
            assertNotNull(myFixture.getSecurityContext().runAsSystem(() -> user.getPropertyValue(RECOVERY_KEY_PROPERTY)));
        }
    });
}
Also used : FakeHttpServletRequest(jetbrains.buildServer.controllers.fakes.FakeHttpServletRequest) SecurityContextEx(jetbrains.buildServer.serverSide.SecurityContextEx) SUser(jetbrains.buildServer.users.SUser) TwoFactorCredentials(jetbrains.buildServer.server.rest.model.user.TwoFactorCredentials) BaseFinderTest(jetbrains.buildServer.server.rest.data.BaseFinderTest) 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