testImplementation 'org.assertj:assertj-core' | testImplementation 'org.assertj:assertj-core' | ||||
testImplementation 'org.junit.jupiter:junit-jupiter-api' | testImplementation 'org.junit.jupiter:junit-jupiter-api' | ||||
testImplementation 'org.mockito:mockito-core' | testImplementation 'org.mockito:mockito-core' | ||||
testImplementation 'org.mockito:mockito-junit-jupiter' | |||||
testImplementation project(':sonar-testing-harness') | testImplementation project(':sonar-testing-harness') | ||||
testImplementation testFixtures(project(':server:sonar-db-dao')) | testImplementation testFixtures(project(':server:sonar-db-dao')) | ||||
testImplementation testFixtures(project(':server:sonar-server-common')) | testImplementation testFixtures(project(':server:sonar-server-common')) | ||||
testImplementation testFixtures(project(':server:sonar-webserver-api')) | testImplementation testFixtures(project(':server:sonar-webserver-api')) | ||||
testImplementation testFixtures(project(':server:sonar-webserver-auth')) | |||||
testImplementation testFixtures(project(':server:sonar-webserver-es')) | |||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' | testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' | ||||
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' | testRuntimeOnly 'org.junit.vintage:junit-vintage-engine' |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.component; | |||||
package org.sonar.server.common.component; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.common.permission.GroupPermissionChanger; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.UserPermissionChanger; | |||||
import org.sonar.server.component.ComponentCreationData; | |||||
import org.sonar.server.es.EsTester; | import org.sonar.server.es.EsTester; | ||||
import org.sonar.server.es.Indexers; | import org.sonar.server.es.Indexers; | ||||
import org.sonar.server.es.IndexersImpl; | import org.sonar.server.es.IndexersImpl; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.permission.GroupPermissionChanger; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionServiceImpl; | import org.sonar.server.permission.PermissionServiceImpl; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.permission.UserPermissionChanger; | |||||
import org.sonar.server.permission.index.FooIndexDefinition; | import org.sonar.server.permission.index.FooIndexDefinition; | ||||
import org.sonar.server.permission.index.PermissionIndexer; | import org.sonar.server.permission.index.PermissionIndexer; | ||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.junit.Test; | import org.junit.Test; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.Set; | import java.util.Set; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.common.permission.GroupPermissionChange; | |||||
import org.sonar.server.common.permission.GroupPermissionChanger; | |||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.permission.PermissionService; | |||||
import org.sonar.server.permission.PermissionServiceImpl; | |||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; | ||||
import static org.assertj.core.api.Assertions.assertThatThrownBy; | import static org.assertj.core.api.Assertions.assertThatThrownBy; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||
import org.sonar.server.es.Indexers; | import org.sonar.server.es.Indexers; | ||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.TemplateMatchingKeyException; | import org.sonar.server.exceptions.TemplateMatchingKeyException; | ||||
import org.sonar.server.permission.PermissionService; | |||||
import org.sonar.server.permission.PermissionServiceImpl; | |||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import static java.util.Collections.singletonList; | import static java.util.Collections.singletonList; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.Set; | import java.util.Set; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.db.user.UserIdDto; | import org.sonar.db.user.UserIdDto; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.permission.PermissionService; | |||||
import org.sonar.server.permission.PermissionServiceImpl; | |||||
import static java.util.stream.Collectors.toSet; | import static java.util.stream.Collectors.toSet; | ||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almintegration.ws; | |||||
package org.sonar.server.common.almintegration; | |||||
import com.google.common.annotations.VisibleForTesting; | import com.google.common.annotations.VisibleForTesting; | ||||
import java.util.List; | import java.util.List; |
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
@ParametersAreNonnullByDefault | @ParametersAreNonnullByDefault | ||||
package org.sonar.server.almsettings.ws.gitlab; | |||||
package org.sonar.server.common.almintegration; | |||||
import javax.annotation.ParametersAreNonnullByDefault; | import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | import java.util.Optional; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings; | |||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | import java.util.Optional; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings; | |||||
import org.sonar.db.alm.setting.ALM; | import org.sonar.db.alm.setting.ALM; | ||||
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings.github; | |||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.auth.github.AppInstallationToken; | import org.sonar.auth.github.AppInstallationToken; | ||||
import org.sonar.auth.github.security.AccessToken; | import org.sonar.auth.github.security.AccessToken; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
public record GithubProjectCreationParameters(DevOpsProjectDescriptor devOpsProjectDescriptor, AlmSettingDto almSettingDto, UserSession userSession, | public record GithubProjectCreationParameters(DevOpsProjectDescriptor devOpsProjectDescriptor, AlmSettingDto almSettingDto, UserSession userSession, |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings.github; | |||||
import java.util.Optional; | import java.util.Optional; | ||||
import java.util.Set; | import java.util.Set; | ||||
import javax.annotation.CheckForNull; | import javax.annotation.CheckForNull; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.alm.client.github.GithubPermissionConverter; | |||||
import org.sonar.api.web.UserRole; | |||||
import org.sonar.auth.github.AppInstallationToken; | import org.sonar.auth.github.AppInstallationToken; | ||||
import org.sonar.auth.github.GitHubSettings; | import org.sonar.auth.github.GitHubSettings; | ||||
import org.sonar.auth.github.client.GithubApplicationClient; | |||||
import org.sonar.alm.client.github.GithubPermissionConverter; | |||||
import org.sonar.auth.github.GsonRepositoryCollaborator; | import org.sonar.auth.github.GsonRepositoryCollaborator; | ||||
import org.sonar.auth.github.GsonRepositoryPermissions; | |||||
import org.sonar.auth.github.GsonRepositoryTeam; | import org.sonar.auth.github.GsonRepositoryTeam; | ||||
import org.sonar.auth.github.client.GithubApplicationClient; | |||||
import org.sonar.auth.github.client.GithubApplicationClient.Repository; | import org.sonar.auth.github.client.GithubApplicationClient.Repository; | ||||
import org.sonar.auth.github.security.AccessToken; | import org.sonar.auth.github.security.AccessToken; | ||||
import org.sonar.api.web.UserRole; | |||||
import org.sonar.auth.github.GsonRepositoryPermissions; | |||||
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.db.provisioning.GithubPermissionsMappingDto; | import org.sonar.db.provisioning.GithubPermissionsMappingDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.db.user.UserIdDto; | import org.sonar.db.user.UserIdDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.util.Objects.requireNonNull; | import static java.util.Objects.requireNonNull; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings.github; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.sonar.db.alm.pat.AlmPatDto; | import org.sonar.db.alm.pat.AlmPatDto; | ||||
import org.sonar.db.alm.setting.ALM; | import org.sonar.db.alm.setting.ALM; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.exceptions.BadConfigurationException; | import org.sonar.server.exceptions.BadConfigurationException; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.almsettings.github; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws.gitlab; | |||||
package org.sonar.server.common.almsettings.gitlab; | |||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.jetbrains.annotations.Nullable; | import org.jetbrains.annotations.Nullable; | ||||
import org.sonar.db.alm.setting.ProjectAlmSettingDto; | import org.sonar.db.alm.setting.ProjectAlmSettingDto; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws.gitlab; | |||||
package org.sonar.server.common.almsettings.gitlab; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.alm.setting.ALM; | import org.sonar.db.alm.setting.ALM; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
public class GitlabProjectCreatorFactory implements DevOpsProjectCreatorFactory { | public class GitlabProjectCreatorFactory implements DevOpsProjectCreatorFactory { |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.almsettings.gitlab; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.almsettings; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.component; | |||||
package org.sonar.server.common.component; | |||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.component; | |||||
package org.sonar.server.common.component; | |||||
import java.util.Date; | import java.util.Date; | ||||
import java.util.List; | import java.util.List; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.common.permission.Operation; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.component.ComponentCreationData; | |||||
import org.sonar.server.es.Indexers; | import org.sonar.server.es.Indexers; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.common.permission.Operation; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import static com.google.common.base.Preconditions.checkState; | import static com.google.common.base.Preconditions.checkState; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.component; | |||||
package org.sonar.server.common.component; | |||||
import javax.annotation.CheckForNull; | import javax.annotation.CheckForNull; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.component; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.newcodeperiod; | |||||
package org.sonar.server.common.newcodeperiod; | |||||
import org.sonar.db.newcodeperiod.NewCodePeriodType; | import org.sonar.db.newcodeperiod.NewCodePeriodType; | ||||
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.newcodeperiod; | |||||
package org.sonar.server.common.newcodeperiod; | |||||
import com.google.common.base.Preconditions; | import com.google.common.base.Preconditions; | ||||
import java.util.EnumSet; | import java.util.EnumSet; |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.newcodeperiod; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.Optional; | import java.util.Optional; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import org.sonar.api.resources.Qualifiers; | import org.sonar.api.resources.Qualifiers; | ||||
import org.sonar.api.resources.ResourceType; | import org.sonar.api.resources.ResourceType; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.Set; | import java.util.Set; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
interface GranteeTypeSpecificPermissionUpdater<T extends PermissionChange> { | |||||
public interface GranteeTypeSpecificPermissionUpdater<T extends PermissionChange> { | |||||
Class<T> getHandledClass(); | Class<T> getHandledClass(); | ||||
Set<String> loadExistingEntityPermissions(DbSession dbSession, String uuidOfGrantee, @Nullable String entityUuid); | Set<String> loadExistingEntityPermissions(DbSession dbSession, String uuidOfGrantee, @Nullable String entityUuid); |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.Optional; | import java.util.Optional; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.server.common.permission.Operation; | |||||
import org.sonar.server.permission.GroupUuidOrAnyone; | |||||
import org.sonar.server.permission.PermissionService; | |||||
public class GroupPermissionChange extends PermissionChange { | public class GroupPermissionChange extends PermissionChange { | ||||
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.HashSet; | import java.util.HashSet; | ||||
import java.util.Set; | import java.util.Set; | ||||
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.permission.GlobalPermission; | import org.sonar.db.permission.GlobalPermission; | ||||
import org.sonar.db.permission.GroupPermissionDto; | import org.sonar.db.permission.GroupPermissionDto; | ||||
import org.sonar.server.exceptions.BadRequestException; | |||||
import org.sonar.server.permission.GroupUuidOrAnyone; | |||||
import static com.google.common.base.Preconditions.checkNotNull; | import static com.google.common.base.Preconditions.checkNotNull; | ||||
import static java.lang.String.format; | import static java.lang.String.format; | ||||
import static org.sonar.server.exceptions.BadRequestException.checkRequest; | |||||
import static org.sonar.server.common.permission.Operation.ADD; | import static org.sonar.server.common.permission.Operation.ADD; | ||||
import static org.sonar.server.common.permission.Operation.REMOVE; | import static org.sonar.server.common.permission.Operation.REMOVE; | ||||
import static org.sonar.server.exceptions.BadRequestException.checkRequest; | |||||
public class GroupPermissionChanger implements GranteeTypeSpecificPermissionUpdater<GroupPermissionChange> { | public class GroupPermissionChanger implements GranteeTypeSpecificPermissionUpdater<GroupPermissionChange> { | ||||
checkRequest( | checkRequest( | ||||
!isAttemptToAddPermissionToAnyoneOnPrivateComponent(change, project), | !isAttemptToAddPermissionToAnyoneOnPrivateComponent(change, project), | ||||
"No permission can be granted to Anyone on a private component"); | "No permission can be granted to Anyone on a private component"); | ||||
checkRequest( | |||||
BadRequestException.checkRequest( | |||||
!isAttemptToRemovePublicPermissionFromPublicComponent(change, project), | !isAttemptToRemovePublicPermissionFromPublicComponent(change, project), | ||||
"Permission %s can't be removed from a public component", change.getPermission()); | "Permission %s can't be removed from a public component", change.getPermission()); | ||||
} | } |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import javax.annotation.CheckForNull; | import javax.annotation.CheckForNull; | ||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.permission.GlobalPermission; | import org.sonar.db.permission.GlobalPermission; | ||||
import org.sonar.server.common.permission.Operation; | |||||
import org.sonar.server.permission.PermissionService; | |||||
import static java.util.Objects.requireNonNull; | import static java.util.Objects.requireNonNull; | ||||
import static org.sonar.server.exceptions.BadRequestException.checkRequest; | import static org.sonar.server.exceptions.BadRequestException.checkRequest; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.text.MessageFormat; | import java.text.MessageFormat; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import org.sonar.db.user.UserId; | import org.sonar.db.user.UserId; | ||||
import org.sonar.server.es.Indexers; | import org.sonar.server.es.Indexers; | ||||
import org.sonar.server.exceptions.TemplateMatchingKeyException; | import org.sonar.server.exceptions.TemplateMatchingKeyException; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static com.google.common.base.Preconditions.checkArgument; | import static com.google.common.base.Preconditions.checkArgument; | ||||
} | } | ||||
String qualifier = entityDto.getQualifier(); | String qualifier = entityDto.getQualifier(); | ||||
ResolvedDefaultTemplates resolvedDefaultTemplates = defaultTemplatesResolver.resolve(dbSession); | |||||
DefaultTemplatesResolver.ResolvedDefaultTemplates resolvedDefaultTemplates = defaultTemplatesResolver.resolve(dbSession); | |||||
switch (qualifier) { | switch (qualifier) { | ||||
case Qualifiers.PROJECT: | case Qualifiers.PROJECT: | ||||
return dbClient.permissionTemplateDao().selectByUuid(dbSession, resolvedDefaultTemplates.getProject()); | return dbClient.permissionTemplateDao().selectByUuid(dbSession, resolvedDefaultTemplates.getProject()); |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collection; | import java.util.Collection; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.user.UserId; | import org.sonar.db.user.UserId; | ||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.permission.PermissionService; | |||||
import static java.util.Objects.requireNonNull; | import static java.util.Objects.requireNonNull; | ||||
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.permission; | |||||
package org.sonar.server.common.permission; | |||||
import java.util.HashSet; | import java.util.HashSet; | ||||
import java.util.Set; | import java.util.Set; | ||||
import org.sonar.db.permission.GlobalPermission; | import org.sonar.db.permission.GlobalPermission; | ||||
import org.sonar.db.permission.UserPermissionDto; | import org.sonar.db.permission.UserPermissionDto; | ||||
import static org.sonar.server.exceptions.BadRequestException.checkRequest; | |||||
import static org.sonar.server.common.permission.Operation.ADD; | import static org.sonar.server.common.permission.Operation.ADD; | ||||
import static org.sonar.server.common.permission.Operation.REMOVE; | import static org.sonar.server.common.permission.Operation.REMOVE; | ||||
import static org.sonar.server.exceptions.BadRequestException.checkRequest; | |||||
/** | /** | ||||
* Adds and removes user permissions. Both global and project scopes are supported. | * Adds and removes user permissions. Both global and project scopes are supported. |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.project.ws; | |||||
package org.sonar.server.common.project; | |||||
import javax.annotation.Nullable; | import javax.annotation.Nullable; | ||||
import org.sonar.api.server.ServerSide; | import org.sonar.api.server.ServerSide; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.sonar.api.resources.Qualifiers.PROJECT; | import static org.sonar.api.resources.Qualifiers.PROJECT; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
@ServerSide | @ServerSide | ||||
public class ProjectCreator { | public class ProjectCreator { | ||||
public ComponentCreationData createProject(DbSession dbSession, String projectKey, String projectName, @Nullable String mainBranchName, CreationMethod creationMethod, | public ComponentCreationData createProject(DbSession dbSession, String projectKey, String projectName, @Nullable String mainBranchName, CreationMethod creationMethod, | ||||
@Nullable Boolean isPrivate, boolean isManaged) { | @Nullable Boolean isPrivate, boolean isManaged) { | ||||
boolean visibility = isPrivate != null ? isPrivate : projectDefaultVisibility.get(dbSession).isPrivate(); | boolean visibility = isPrivate != null ? isPrivate : projectDefaultVisibility.get(dbSession).isPrivate(); | ||||
NewComponent projectComponent = newComponentBuilder() | |||||
NewComponent projectComponent = NewComponent.newComponentBuilder() | |||||
.setKey(projectKey) | .setKey(projectKey) | ||||
.setName(projectName) | .setName(projectName) | ||||
.setPrivate(visibility) | .setPrivate(visibility) |
/* | |||||
* SonarQube | |||||
* Copyright (C) 2009-2024 SonarSource SA | |||||
* mailto:info AT sonarsource DOT com | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Lesser General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 3 of the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Lesser General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Lesser General Public License | |||||
* along with this program; if not, write to the Free Software Foundation, | |||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||||
*/ | |||||
@ParametersAreNonnullByDefault | |||||
package org.sonar.server.common.project; | |||||
import javax.annotation.ParametersAreNonnullByDefault; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almintegration.ws; | |||||
package org.sonar.server.common.almintegration; | |||||
import org.apache.commons.lang3.RandomStringUtils; | import org.apache.commons.lang3.RandomStringUtils; | ||||
import org.junit.Before; | import org.junit.Before; | ||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; | ||||
import static org.mockito.Mockito.when; | import static org.mockito.Mockito.when; | ||||
import static org.sonar.server.almintegration.ws.ProjectKeyGenerator.MAX_PROJECT_KEY_SIZE; | |||||
import static org.sonar.server.almintegration.ws.ProjectKeyGenerator.PROJECT_KEY_SEPARATOR; | |||||
import static org.sonar.server.common.almintegration.ProjectKeyGenerator.MAX_PROJECT_KEY_SIZE; | |||||
import static org.sonar.server.common.almintegration.ProjectKeyGenerator.PROJECT_KEY_SEPARATOR; | |||||
@RunWith(MockitoJUnitRunner.class) | @RunWith(MockitoJUnitRunner.class) | ||||
public class ProjectKeyGeneratorTest { | public class ProjectKeyGeneratorTest { |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings; | |||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.Optional; | import java.util.Optional; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings.github; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Map; | import java.util.Map; | ||||
import org.sonar.db.alm.pat.AlmPatDto; | import org.sonar.db.alm.pat.AlmPatDto; | ||||
import org.sonar.db.alm.setting.ALM; | import org.sonar.db.alm.setting.ALM; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreationParameters; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreator; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.exceptions.BadConfigurationException; | import org.sonar.server.exceptions.BadConfigurationException; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws; | |||||
package org.sonar.server.common.almsettings.github; | |||||
import java.util.Arrays; | import java.util.Arrays; | ||||
import java.util.Collection; | import java.util.Collection; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.provisioning.GithubPermissionsMappingDto; | import org.sonar.db.provisioning.GithubPermissionsMappingDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionServiceImpl; | import org.sonar.server.permission.PermissionServiceImpl; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.util.Objects.requireNonNull; | import static java.util.Objects.requireNonNull; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws.gitlab; | |||||
package org.sonar.server.common.almsettings.gitlab; | |||||
import java.util.Map; | import java.util.Map; | ||||
import org.assertj.core.api.AssertionsForClassTypes; | import org.assertj.core.api.AssertionsForClassTypes; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.alm.setting.ALM; | import org.sonar.db.alm.setting.ALM; | ||||
import org.sonar.db.alm.setting.AlmSettingDto; | import org.sonar.db.alm.setting.AlmSettingDto; | ||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat; | import static org.assertj.core.api.AssertionsForClassTypes.assertThat; | ||||
import static org.mockito.Mockito.mock; | import static org.mockito.Mockito.mock; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.almsettings.ws.gitlab; | |||||
package org.sonar.server.common.almsettings.gitlab; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.sonar.db.alm.setting.ProjectAlmSettingDto; | import org.sonar.db.alm.setting.ProjectAlmSettingDto; | ||||
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat; | import static org.assertj.core.api.AssertionsForClassTypes.assertThat; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.newcodeperiod; | |||||
package org.sonar.server.common.newcodeperiod; | |||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.sonar.db.newcodeperiod.NewCodePeriodDto; | import org.sonar.db.newcodeperiod.NewCodePeriodDto; |
* along with this program; if not, write to the Free Software Foundation, | * along with this program; if not, write to the Free Software Foundation, | ||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||||
*/ | */ | ||||
package org.sonar.server.newcodeperiod; | |||||
package org.sonar.server.common.newcodeperiod; | |||||
import java.util.Optional; | import java.util.Optional; | ||||
import org.junit.Rule; | import org.junit.Rule; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.DbTester; | import org.sonar.db.DbTester; | ||||
import org.sonar.db.newcodeperiod.NewCodePeriodDto; | import org.sonar.db.newcodeperiod.NewCodePeriodDto; | ||||
import org.sonar.server.component.ComponentCreationData; | |||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; | ||||
import static org.assertj.core.api.Assertions.assertThatNoException; | import static org.assertj.core.api.Assertions.assertThatNoException; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.EsTester; | import org.sonar.server.es.EsTester; | ||||
import org.sonar.server.es.IndexersImpl; | import org.sonar.server.es.IndexersImpl; | ||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.GroupPermissionChanger; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.permission.GroupPermissionChanger; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionServiceImpl; | import org.sonar.server.permission.PermissionServiceImpl; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.permission.UserPermissionChanger; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.UserPermissionChanger; | |||||
import org.sonar.server.permission.index.FooIndexDefinition; | import org.sonar.server.permission.index.FooIndexDefinition; | ||||
import org.sonar.server.permission.index.PermissionIndexer; | import org.sonar.server.permission.index.PermissionIndexer; | ||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import org.sonar.server.ws.TestRequest; | import org.sonar.server.ws.TestRequest; | ||||
import org.sonar.server.ws.WsActionTester; | import org.sonar.server.ws.WsActionTester; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import org.sonar.server.ws.TestRequest; | import org.sonar.server.ws.TestRequest; | ||||
import org.sonar.server.ws.WsActionTester; | import org.sonar.server.ws.WsActionTester; |
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.management.ManagedInstanceService; | import org.sonar.server.management.ManagedInstanceService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import static java.util.Collections.emptyMap; | import static java.util.Collections.emptyMap; |
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.almsettings.ws.DelegatingDevOpsProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreationParameters; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreator; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almsettings.DelegatingDevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreationParameters; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreator; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionServiceImpl; | import org.sonar.server.permission.PermissionServiceImpl; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.es.EsTester; | import org.sonar.server.es.EsTester; | ||||
import org.sonar.server.es.IndexersImpl; | import org.sonar.server.es.IndexersImpl; | ||||
import org.sonar.server.permission.GroupPermissionChanger; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChanger; | |||||
import org.sonar.server.common.permission.GroupPermissionChanger; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChanger; | |||||
import org.sonar.server.permission.index.FooIndexDefinition; | import org.sonar.server.permission.index.FooIndexDefinition; | ||||
import org.sonar.server.permission.index.PermissionIndexer; | import org.sonar.server.permission.index.PermissionIndexer; | ||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; |
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.ws.BasePermissionWsIT; | import org.sonar.server.permission.ws.BasePermissionWsIT; | ||||
import org.sonar.server.ws.TestRequest; | import org.sonar.server.ws.TestRequest; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.ws.BasePermissionWsIT; | import org.sonar.server.permission.ws.BasePermissionWsIT; | ||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; |
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.permission.ws.PermissionWsSupport; | import org.sonar.server.permission.ws.PermissionWsSupport; | ||||
import org.sonar.server.tester.UserSessionRule; | import org.sonar.server.tester.UserSessionRule; | ||||
import org.sonar.server.usergroups.DefaultGroupFinder; | import org.sonar.server.usergroups.DefaultGroupFinder; |
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.exceptions.UnauthorizedException; | import org.sonar.server.exceptions.UnauthorizedException; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionServiceImpl; | import org.sonar.server.permission.PermissionServiceImpl; | ||||
import org.sonar.server.permission.ws.BasePermissionWsIT; | import org.sonar.server.permission.ws.BasePermissionWsIT; |
import org.sonar.db.project.CreationMethod; | import org.sonar.db.project.CreationMethod; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.db.user.UserDto; | import org.sonar.db.user.UserDto; | ||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.es.Indexers; | import org.sonar.server.es.Indexers; | ||||
import org.sonar.server.es.TestIndexers; | import org.sonar.server.es.TestIndexers; | ||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.exceptions.ForbiddenException; | import org.sonar.server.exceptions.ForbiddenException; | ||||
import org.sonar.server.favorite.FavoriteUpdater; | import org.sonar.server.favorite.FavoriteUpdater; | ||||
import org.sonar.server.l18n.I18nRule; | import org.sonar.server.l18n.I18nRule; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import static org.sonar.db.newcodeperiod.NewCodePeriodType.NUMBER_OF_DAYS; | import static org.sonar.db.newcodeperiod.NewCodePeriodType.NUMBER_OF_DAYS; | ||||
import static org.sonar.db.newcodeperiod.NewCodePeriodType.REFERENCE_BRANCH; | import static org.sonar.db.newcodeperiod.NewCodePeriodType.REFERENCE_BRANCH; | ||||
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS; | import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS; | ||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.project.Visibility.PRIVATE; | import static org.sonar.server.project.Visibility.PRIVATE; | ||||
import static org.sonar.test.JsonAssert.assertJson; | import static org.sonar.test.JsonAssert.assertJson; | ||||
import static org.sonarqube.ws.client.WsRequest.Method.POST; | import static org.sonarqube.ws.client.WsRequest.Method.POST; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.sonar.db.project.CreationMethod.getCreationMethod; | import static org.sonar.db.project.CreationMethod.getCreationMethod; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.sonar.db.project.CreationMethod.getCreationMethod; | import static org.sonar.db.project.CreationMethod.getCreationMethod; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.sonar.db.project.CreationMethod.getCreationMethod; | import static org.sonar.db.project.CreationMethod.getCreationMethod; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import org.sonarqube.ws.Projects; | import org.sonarqube.ws.Projects; | ||||
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT; | import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | import static org.sonar.server.almintegration.ws.ImportHelper.toCreateResponse; | ||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | import org.sonar.server.almintegration.ws.AlmIntegrationsWsAction; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectDescriptor; | |||||
import org.sonar.server.almsettings.ws.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectDescriptor; | |||||
import org.sonar.server.common.almsettings.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import org.sonarqube.ws.Projects.CreateWsResponse; | import org.sonarqube.ws.Projects.CreateWsResponse; | ||||
import static org.sonar.db.project.CreationMethod.getCreationMethod; | import static org.sonar.db.project.CreationMethod.getCreationMethod; | ||||
import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT; | import static org.sonar.db.project.CreationMethod.Category.ALM_IMPORT; | ||||
import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | import static org.sonar.server.almintegration.ws.ImportHelper.PARAM_ALM_SETTING; | ||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_TYPE; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_NEW_CODE_DEFINITION_VALUE; |
import org.sonar.db.component.BranchDto; | import org.sonar.db.component.BranchDto; | ||||
import org.sonar.db.component.ComponentDto; | import org.sonar.db.component.ComponentDto; | ||||
import org.sonar.db.permission.GlobalPermission; | import org.sonar.db.permission.GlobalPermission; | ||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreator; | |||||
import org.sonar.server.almsettings.ws.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreator; | |||||
import org.sonar.server.common.almsettings.DevOpsProjectCreatorFactory; | |||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.exceptions.BadRequestException; | import org.sonar.server.exceptions.BadRequestException; | ||||
import org.sonar.server.management.ManagedInstanceService; | import org.sonar.server.management.ManagedInstanceService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.project.ws.ProjectCreator; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.component.ComponentFinder; | import org.sonar.server.component.ComponentFinder; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.newcodeperiod.CaycUtils; | |||||
import org.sonar.server.common.newcodeperiod.CaycUtils; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static com.google.common.base.Preconditions.checkArgument; | import static com.google.common.base.Preconditions.checkArgument; |
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.component.ComponentFinder; | import org.sonar.server.component.ComponentFinder; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.newcodeperiod.CaycUtils; | |||||
import org.sonar.server.common.newcodeperiod.CaycUtils; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.lang.String.format; | import static java.lang.String.format; |
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.permission.GroupPermissionChange; | |||||
import org.sonar.server.common.permission.GroupPermissionChange; | |||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static org.sonar.server.permission.ws.WsParameters.createGroupNameParameter; | import static org.sonar.server.permission.ws.WsParameters.createGroupNameParameter; |
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.util.Collections.singletonList; | import static java.util.Collections.singletonList; |
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.user.GroupDto; | import org.sonar.db.user.GroupDto; | ||||
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.permission.GroupPermissionChange; | |||||
import org.sonar.server.common.permission.GroupPermissionChange; | |||||
import org.sonar.server.permission.GroupUuidOrAnyone; | import org.sonar.server.permission.GroupUuidOrAnyone; | ||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.util.Collections.singletonList; | import static java.util.Collections.singletonList; |
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.common.permission.Operation; | import org.sonar.server.common.permission.Operation; | ||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChange; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChange; | |||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; | ||||
import static java.util.Collections.singletonList; | import static java.util.Collections.singletonList; |
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.exceptions.NotFoundException; | import org.sonar.server.exceptions.NotFoundException; | ||||
import org.sonar.server.common.management.ManagedInstanceChecker; | import org.sonar.server.common.management.ManagedInstanceChecker; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.ws.PermissionWsSupport; | import org.sonar.server.permission.ws.PermissionWsSupport; | ||||
import org.sonar.server.permission.ws.PermissionsWsAction; | import org.sonar.server.permission.ws.PermissionsWsAction; | ||||
import org.sonar.server.permission.ws.ProjectWsRef; | import org.sonar.server.permission.ws.ProjectWsRef; |
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.management.ManagedProjectService; | import org.sonar.server.management.ManagedProjectService; | ||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.ws.PermissionWsSupport; | import org.sonar.server.permission.ws.PermissionWsSupport; | ||||
import org.sonar.server.permission.ws.PermissionsWsAction; | import org.sonar.server.permission.ws.PermissionsWsAction; | ||||
import org.sonar.server.permission.ws.WsParameters; | import org.sonar.server.permission.ws.WsParameters; |
import org.sonar.db.DbClient; | import org.sonar.db.DbClient; | ||||
import org.sonar.db.DbSession; | import org.sonar.db.DbSession; | ||||
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.permission.ws.PermissionWsSupport; | import org.sonar.server.permission.ws.PermissionWsSupport; | ||||
import org.sonar.server.permission.ws.PermissionsWsAction; | import org.sonar.server.permission.ws.PermissionsWsAction; | ||||
import org.sonar.server.permission.ws.WsParameters; | import org.sonar.server.permission.ws.WsParameters; |
import org.sonar.db.permission.template.CountByTemplateAndPermissionDto; | import org.sonar.db.permission.template.CountByTemplateAndPermissionDto; | ||||
import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto; | import org.sonar.db.permission.template.PermissionTemplateCharacteristicDto; | ||||
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.permission.PermissionService; | import org.sonar.server.permission.PermissionService; | ||||
import org.sonar.server.permission.ws.PermissionsWsAction; | import org.sonar.server.permission.ws.PermissionsWsAction; | ||||
import org.sonar.server.user.UserSession; | import org.sonar.server.user.UserSession; |
import com.google.common.collect.Table; | import com.google.common.collect.Table; | ||||
import java.util.List; | import java.util.List; | ||||
import org.sonar.db.permission.template.PermissionTemplateDto; | import org.sonar.db.permission.template.PermissionTemplateDto; | ||||
import org.sonar.server.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolver.ResolvedDefaultTemplates; | |||||
import static com.google.common.base.MoreObjects.firstNonNull; | import static com.google.common.base.MoreObjects.firstNonNull; | ||||
import static com.google.common.base.Preconditions.checkState; | import static com.google.common.base.Preconditions.checkState; |
import org.sonar.db.entity.EntityDto; | import org.sonar.db.entity.EntityDto; | ||||
import org.sonar.db.project.ProjectDto; | import org.sonar.db.project.ProjectDto; | ||||
import org.sonar.server.component.ComponentCreationData; | import org.sonar.server.component.ComponentCreationData; | ||||
import org.sonar.server.component.ComponentCreationParameters; | |||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.component.NewComponent; | |||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.component.ComponentCreationParameters; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.NewComponent; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.project.DefaultBranchNameResolver; | import org.sonar.server.project.DefaultBranchNameResolver; | ||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.Visibility; | import org.sonar.server.project.Visibility; | ||||
import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS; | import static org.sonar.db.permission.GlobalPermission.PROVISION_PROJECTS; | ||||
import static org.sonar.db.project.CreationMethod.Category.LOCAL; | import static org.sonar.db.project.CreationMethod.Category.LOCAL; | ||||
import static org.sonar.db.project.CreationMethod.getCreationMethod; | import static org.sonar.db.project.CreationMethod.getCreationMethod; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_TYPE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.NEW_CODE_PERIOD_VALUE_DESCRIPTION_PROJECT_CREATION; | |||||
import static org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver.checkNewCodeDefinitionParam; | |||||
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; | import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; | ||||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | import static org.sonar.server.ws.WsUtils.writeProtobuf; | ||||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.ACTION_CREATE; | import static org.sonarqube.ws.client.project.ProjectsWsParameters.ACTION_CREATE; |
package org.sonar.server.project.ws; | package org.sonar.server.project.ws; | ||||
import org.sonar.core.platform.Module; | import org.sonar.core.platform.Module; | ||||
import org.sonar.server.common.project.ProjectCreator; | |||||
import org.sonar.server.project.ProjectDefaultVisibility; | import org.sonar.server.project.ProjectDefaultVisibility; | ||||
import org.sonar.server.project.ProjectLifeCycleListenersImpl; | import org.sonar.server.project.ProjectLifeCycleListenersImpl; | ||||
package org.sonar.server.component; | package org.sonar.server.component; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.sonar.server.common.component.NewComponent; | |||||
import static com.google.common.base.Strings.repeat; | import static com.google.common.base.Strings.repeat; | ||||
import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; | import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; | ||||
import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; | ||||
import static org.assertj.core.api.Assertions.assertThatThrownBy; | import static org.assertj.core.api.Assertions.assertThatThrownBy; | ||||
import static org.sonar.api.resources.Qualifiers.PROJECT; | import static org.sonar.api.resources.Qualifiers.PROJECT; | ||||
import static org.sonar.server.component.NewComponent.newComponentBuilder; | |||||
import static org.sonar.server.common.component.NewComponent.newComponentBuilder; | |||||
public class NewComponentTest { | public class NewComponentTest { | ||||
private static final String KEY = "key"; | private static final String KEY = "key"; |
import com.google.common.collect.HashBasedTable; | import com.google.common.collect.HashBasedTable; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import static java.util.Collections.singletonList; | import static java.util.Collections.singletonList; | ||||
import static org.assertj.core.api.Assertions.assertThatThrownBy; | import static org.assertj.core.api.Assertions.assertThatThrownBy; |
import org.sonar.server.almintegration.ws.AlmIntegrationsWSModule; | import org.sonar.server.almintegration.ws.AlmIntegrationsWSModule; | ||||
import org.sonar.server.almintegration.ws.CredentialsEncoderHelper; | import org.sonar.server.almintegration.ws.CredentialsEncoderHelper; | ||||
import org.sonar.server.almintegration.ws.ImportHelper; | import org.sonar.server.almintegration.ws.ImportHelper; | ||||
import org.sonar.server.almintegration.ws.ProjectKeyGenerator; | |||||
import org.sonar.server.common.almintegration.ProjectKeyGenerator; | |||||
import org.sonar.server.almintegration.ws.github.GithubProvisioningWs; | import org.sonar.server.almintegration.ws.github.GithubProvisioningWs; | ||||
import org.sonar.server.almsettings.MultipleAlmFeature; | import org.sonar.server.almsettings.MultipleAlmFeature; | ||||
import org.sonar.server.almsettings.ws.AlmSettingsWsModule; | import org.sonar.server.almsettings.ws.AlmSettingsWsModule; | ||||
import org.sonar.server.almsettings.ws.DelegatingDevOpsProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.GithubProjectCreatorFactory; | |||||
import org.sonar.server.almsettings.ws.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.DelegatingDevOpsProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.github.GithubProjectCreatorFactory; | |||||
import org.sonar.server.common.almsettings.gitlab.GitlabProjectCreatorFactory; | |||||
import org.sonar.server.authentication.AuthenticationModule; | import org.sonar.server.authentication.AuthenticationModule; | ||||
import org.sonar.server.authentication.DefaultAdminCredentialsVerifierImpl; | import org.sonar.server.authentication.DefaultAdminCredentialsVerifierImpl; | ||||
import org.sonar.server.authentication.DefaultAdminCredentialsVerifierNotificationHandler; | import org.sonar.server.authentication.DefaultAdminCredentialsVerifierNotificationHandler; | ||||
import org.sonar.server.component.ComponentCleanerService; | import org.sonar.server.component.ComponentCleanerService; | ||||
import org.sonar.server.component.ComponentFinder; | import org.sonar.server.component.ComponentFinder; | ||||
import org.sonar.server.component.ComponentService; | import org.sonar.server.component.ComponentService; | ||||
import org.sonar.server.component.ComponentUpdater; | |||||
import org.sonar.server.common.component.ComponentUpdater; | |||||
import org.sonar.server.component.index.ComponentIndex; | import org.sonar.server.component.index.ComponentIndex; | ||||
import org.sonar.server.component.index.ComponentIndexDefinition; | import org.sonar.server.component.index.ComponentIndexDefinition; | ||||
import org.sonar.server.component.index.EntityDefinitionIndexer; | import org.sonar.server.component.index.EntityDefinitionIndexer; | ||||
import org.sonar.server.monitoring.devops.BitbucketMetricsTask; | import org.sonar.server.monitoring.devops.BitbucketMetricsTask; | ||||
import org.sonar.server.monitoring.devops.GithubMetricsTask; | import org.sonar.server.monitoring.devops.GithubMetricsTask; | ||||
import org.sonar.server.monitoring.devops.GitlabMetricsTask; | import org.sonar.server.monitoring.devops.GitlabMetricsTask; | ||||
import org.sonar.server.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.common.newcodeperiod.NewCodeDefinitionResolver; | |||||
import org.sonar.server.newcodeperiod.ws.NewCodePeriodsWsModule; | import org.sonar.server.newcodeperiod.ws.NewCodePeriodsWsModule; | ||||
import org.sonar.server.notification.NotificationModule; | import org.sonar.server.notification.NotificationModule; | ||||
import org.sonar.server.notification.ws.NotificationWsModule; | import org.sonar.server.notification.ws.NotificationWsModule; | ||||
import org.sonar.server.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.permission.GroupPermissionChanger; | |||||
import org.sonar.server.permission.PermissionTemplateService; | |||||
import org.sonar.server.permission.PermissionUpdater; | |||||
import org.sonar.server.permission.UserPermissionChanger; | |||||
import org.sonar.server.common.permission.DefaultTemplatesResolverImpl; | |||||
import org.sonar.server.common.permission.GroupPermissionChanger; | |||||
import org.sonar.server.common.permission.PermissionTemplateService; | |||||
import org.sonar.server.common.permission.PermissionUpdater; | |||||
import org.sonar.server.common.permission.UserPermissionChanger; | |||||
import org.sonar.server.permission.index.PermissionIndexer; | import org.sonar.server.permission.index.PermissionIndexer; | ||||
import org.sonar.server.permission.ws.PermissionsWsModule; | import org.sonar.server.permission.ws.PermissionsWsModule; | ||||
import org.sonar.server.platform.ClusterVerification; | import org.sonar.server.platform.ClusterVerification; |