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());
}
}
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);
}
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());
}
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));
}
});
}
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)));
}
});
}
Aggregations