Skip to content

Commit

Permalink
Code improvements (#1728)
Browse files Browse the repository at this point in the history
  • Loading branch information
offa committed Sep 13, 2021
1 parent 42de339 commit 3026091
Show file tree
Hide file tree
Showing 75 changed files with 130 additions and 138 deletions.
2 changes: 1 addition & 1 deletion docs/features/configurationReload.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ reload-jcasc-configuration

- via Groovy script
```groovy
import io.jenkins.plugins.casc.ConfigurationAsCode;
import io.jenkins.plugins.casc.ConfigurationAsCode
ConfigurationAsCode.get().configure()
```
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class ActiveDirectoryTest {

@Test
@ConfiguredWithReadme("active-directory/README.md")
public void configure_active_directory() throws Exception {
public void configure_active_directory() {
final Jenkins jenkins = Jenkins.get();
final ActiveDirectorySecurityRealm realm = (ActiveDirectorySecurityRealm) jenkins.getSecurityRealm();
assertEquals(1, realm.domains.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class ArtifactManagerS3Test {

@Test
@ConfiguredWithReadme(value = "artifact-manager-s3/README.md")
public void configure_artifact_manager() throws Exception {
public void configure_artifact_manager() {
assertThat(CredentialsAwsGlobalConfiguration.get().getRegion(), is(equalTo("us-east-1")));
assertThat(S3BlobStoreConfig.get().getPrefix(), is(equalTo("jenkins_data/")));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class ArtifactoryTest {

@Test
@ConfiguredWithReadme(value = "artifactory/README.md")
public void configure_artifactory() throws Exception {
public void configure_artifactory() {
final Jenkins jenkins = Jenkins.get();
final ArtifactoryBuilder.DescriptorImpl descriptor = (ArtifactoryBuilder.DescriptorImpl) jenkins.getDescriptor(ArtifactoryBuilder.class);
assertTrue(descriptor.getUseCredentialsPlugin());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class BuildAgentsTest {

@Test
@ConfiguredWithReadme(value = "build_agents/README.md")
public void configure_build_agents() throws Exception {
public void configure_build_agents() {
assertThat(j.getInstance().getComputers().length, is(3));

Slave slave = (Slave)j.getInstance().getNode("utility-node");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class ConfigFileProviderTest {

@Test
@ConfiguredWithReadme(value = "config-file-provider/README.md")
public void configure_config_file_provider() throws Exception {
public void configure_config_file_provider() {
assertThat(GlobalConfigFiles.get().getConfigs(), hasSize(4));

Config config = GlobalConfigFiles.get().getById("custom-test");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator;
import com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials;
import com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.ExtensionList;
import hudson.util.Secret;
import io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator;
Expand All @@ -16,7 +17,6 @@
import java.util.Collections;
import java.util.List;
import java.util.Set;
import javax.annotation.Nonnull;
import jenkins.model.Jenkins;
import org.junit.Rule;
import org.junit.Test;
Expand Down Expand Up @@ -140,8 +140,8 @@ public void checkUsernamePasswordIsSecret() {
new UsernamePasswordCredentialsImpl(CredentialsScope.GLOBAL, "1", "2", "3", "4")));
}

@Nonnull
private <T> Attribute<T,?> getFromDatabound(Class<T> clazz, @Nonnull String attributeName) {
@NonNull
private <T> Attribute<T,?> getFromDatabound(Class<T> clazz, @NonNull String attributeName) {
DataBoundConfigurator<T> cfg = new DataBoundConfigurator<>(clazz);
Set<Attribute<T,?>> attributes = cfg.describe();
for (Attribute<T,?> a : attributes) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class Crowd2Test {

@Test
@ConfiguredWithReadme("crowd2/README.md")
public void configure_artifact_manager() throws Exception {
public void configure_artifact_manager() {
SecurityRealm realm = Jenkins.get().getSecurityRealm();
assertThat(realm, instanceOf(CrowdSecurityRealm.class));
CrowdSecurityRealm securityRealm = (CrowdSecurityRealm) realm;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class CustomToolsTest {

@Test @Issue("#97") @Ignore
@ConfiguredWithCode(value = "CustomToolsTest.yml")
public void configure_custom_tools() throws Exception {
public void configure_custom_tools() {
DescriptorImpl descriptor = (DescriptorImpl) j.jenkins.getDescriptorOrDie(CustomTool.class);
assertEquals(1, descriptor.getInstallations().length);
final CustomTool customTool = descriptor.getInstallations()[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class DockerCloudTest {

@Test
@ConfiguredWithReadme("docker/README.md")
public void configure_docker_cloud() throws Exception {
public void configure_docker_cloud() {
final DockerCloud docker = DockerCloud.getCloudByName("docker");
assertNotNull(docker);
assertNotNull(docker.getDockerApi());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class DockerWorkflowSymbolTest {

@Test
@Issue("1260")
public void configure_global_definition() throws Exception {
public void configure_global_definition() {
GlobalConfig config = GlobalConfig.get();

assertNotNull(config);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class DockerWorkflowTest {

@Test
@ConfiguredWithReadme("docker-workflow/README.md")
public void configure_global_definition() throws Exception {
public void configure_global_definition() {
GlobalConfig config = GlobalConfig.get();

assertNotNull(config);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class EssentialsTest {

@Test
@ConfiguredWithCode("EssentialsTest.yml")
public void essentialsTest() throws Exception {
public void essentialsTest() {
final Jenkins jenkins = Jenkins.get();
assertEquals("Welcome to Jenkins Essentials!", jenkins.getSystemMessage());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ExternalWorkspaceManagerTest {

@Test
@ConfiguredWithReadme("external-workspace-manager/README.md")
public void configure_external_workspace_manager() throws Exception {
public void configure_external_workspace_manager() {
// Already validated in the plugin itself:
// https://github.com/jenkinsci/external-workspace-manager-plugin/pull/68

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class GitHubTest {

@Test
@ConfiguredWithReadme("github/README.md")
public void configure_github() throws Exception {
public void configure_github() {

final GitHubPluginConfig configuration = GlobalConfiguration.all().get(GitHubPluginConfig.class);
assertThat(configuration.getConfigs(), hasSize(1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class GitLabConfigurationTest {

@Test
@ConfiguredWithReadme("gitlab/README.md")
public void configure_gitlab_api_token() throws Exception {
public void configure_gitlab_api_token() {
SystemCredentialsProvider systemCreds = SystemCredentialsProvider.getInstance();
List<DomainCredentials> domainCredentials = systemCreds.getDomainCredentials();
assertEquals(1, domainCredentials.size());
Expand All @@ -44,7 +44,7 @@ public void configure_gitlab_api_token() throws Exception {
}
@Test
@ConfiguredWithReadme("gitlab/README.md")
public void configure_gitlab_connection() throws Exception {
public void configure_gitlab_connection() {
final Jenkins jenkins = Jenkins.get();
final GitLabConnectionConfig gitLabConnections = jenkins.getDescriptorByType(GitLabConnectionConfig.class);
assertEquals(1, gitLabConnections.getConnections().size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public void dumpLogs() {
@Test
@Issue("JENKINS-57604")
@ConfiguredWithCode("GitTest.yml")
public void checkAssemblaWebIsLoaded() throws Exception {
public void checkAssemblaWebIsLoaded() {
final Jenkins jenkins = Jenkins.get();
final GlobalLibraries libs = jenkins.getExtensionList(GlobalConfiguration.class)
.get(GlobalLibraries.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class GitToolInstallationTest {
public static JenkinsConfiguredWithReadmeRule j = new JenkinsConfiguredWithReadmeRule();

@Test
public void configure_git_installations() throws Exception {
public void configure_git_installations() {
final Jenkins jenkins = Jenkins.get();
final GitTool.DescriptorImpl descriptor = (GitTool.DescriptorImpl) jenkins.getDescriptor(GitTool.class);
assertEquals(2, descriptor.getInstallations().length);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class GithubOrganisationFolderTest {
// @Test
// Fails as Items do override submit() with manual data-binding implementation
@ConfiguredWithCode("GithubOrganisationFolderTest.yml")
public void configure_github_organisation_folder_seed_job() throws Exception {
public void configure_github_organisation_folder_seed_job() {
final TopLevelItem job = Jenkins.get().getItem("ndeloof");
assertNotNull(job);
assertTrue(job instanceof OrganizationFolder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class GlobalLibrariesTest {
@Issue("JENKINS-57557")
@Test
@ConfiguredWithCode("GlobalLibrariesGitHubTest.yml")
public void configure_global_library_using_github() throws Exception {
public void configure_global_library_using_github() {
assertEquals(1, GlobalLibraries.get().getLibraries().size());
final LibraryConfiguration library = GlobalLibraries.get().getLibraries().get(0);
assertEquals("jenkins-pipeline-lib", library.getName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class GlobalMatrixAuthorizationTest {

@Test
@ConfiguredWithReadme("matrix-auth/README.md")
public void checkCorrectlyConfiguredPermissions() throws Exception {
public void checkCorrectlyConfiguredPermissions() {
assertEquals("The configured instance must use the Global Matrix Authentication Strategy", GlobalMatrixAuthorizationStrategy.class, Jenkins.get().getAuthorizationStrategy().getClass());
GlobalMatrixAuthorizationStrategy gms = (GlobalMatrixAuthorizationStrategy) Jenkins.get().getAuthorizationStrategy();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public class GlobalNodePropertiesTest {
public static JenkinsConfiguredWithCodeRule j = new JenkinsConfiguredWithCodeRule();

@Test
public void configure() throws Exception {
public void configure() {
final Jenkins jenkins = Jenkins.get();

DescribableList<NodeProperty<?>, NodePropertyDescriptor> nodeProperties = jenkins.getGlobalNodeProperties();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public class JenkinsDemoTest {

@Test
@ConfiguredWithCode("jenkins/jenkins.yaml")
public void configure_demo_yaml() throws Exception {
public void configure_demo_yaml() {
final Jenkins jenkins = Jenkins.get();
assertEquals("Jenkins configured automatically by Jenkins Configuration as Code plugin\n\n", jenkins.getSystemMessage());
assertEquals(5, jenkins.getNumExecutors());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class JenkinsReadmeDemoTest {

@Test
@ConfiguredWithReadme("jenkins/README.md#0")
public void configure_demo_first_code_block() throws Exception {
public void configure_demo_first_code_block() {
final Jenkins jenkins = Jenkins.get();
assertEquals("Jenkins configured automatically by Jenkins Configuration as Code plugin\n\n", jenkins.getSystemMessage());
assertEquals(5, jenkins.getNumExecutors());
Expand All @@ -32,7 +32,7 @@ public void configure_demo_first_code_block() throws Exception {

@Test
@ConfiguredWithReadme("jenkins/README.md#1")
public void configure_demo_second_code_block() throws Exception {
public void configure_demo_second_code_block() {
final Jenkins jenkins = Jenkins.get();
assertThat(jenkins.getSystemMessage(), containsString("Welcome to our build server."));
assertEquals(1, jenkins.getNumExecutors());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class JiraTest {
@Test
@ConfiguredWithReadme("jira/README.md")
@Issue("JENKINS-52906")
public void configure_jira_project_globalconfig() throws Exception {
public void configure_jira_project_globalconfig() {

List<JiraSite> sites = JiraGlobalConfiguration.get().getSites();
// Was failing due to JENKINS-52906
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class KeycloakTest {

@Test
@ConfiguredWithReadme("keycloak/README.md")
public void configure_artifact_manager() throws Exception {
public void configure_artifact_manager() {
SecurityRealm realm = j.jenkins.get().getSecurityRealm();
assertThat(realm, instanceOf(KeycloakSecurityRealm.class));
KeycloakSecurityRealm securityRealm = (KeycloakSecurityRealm)realm;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class KubernetesCloudTest {

@Test
@ConfiguredWithReadme("kubernetes/README.md")
public void configure_kubernetes_cloud() throws Exception {
public void configure_kubernetes_cloud() {
final KubernetesCloud cloud = j.jenkins.clouds.get(KubernetesCloud.class);
assertNotNull(cloud);
assertEquals("advanced-k8s-config", cloud.name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class MailerTest {

@Test
@ConfiguredWithReadme("mailer/README.md")
public void configure_mailer() throws Exception {
public void configure_mailer() {
final Jenkins jenkins = Jenkins.get();
final Mailer.DescriptorImpl descriptor = (Mailer.DescriptorImpl) jenkins.getDescriptor(Mailer.class);
assertEquals("4441", descriptor.getSmtpPort());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public class MesosTest {

@Test
@ConfiguredWithReadme("mesos/README.md")
public void configure_mesos_cloud() throws Exception {
public void configure_mesos_cloud() {
final MesosCloud cloud = Jenkins.get().clouds.get(MesosCloud.class);
assertNotNull(cloud);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class NodeJSTest {

@Test
@ConfiguredWithReadme("nodejs/README.md")
public void configure_nodejs() throws Exception {
public void configure_nodejs() {
final NodeJSInstallation.DescriptorImpl descriptor = ExtensionList.lookupSingleton(NodeJSInstallation.DescriptorImpl.class);
assertEquals(1, descriptor.getInstallations().length);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ProjectMatrixAuthorizationTest {

@Test
@ConfiguredWithCode("ProjectMatrixStrategy.yml")
public void checkCorrectlyConfiguredPermissions() throws Exception {
public void checkCorrectlyConfiguredPermissions() {
assertEquals("The configured instance must use the Global Matrix Authentication Strategy", ProjectMatrixAuthorizationStrategy.class, Jenkins.get().getAuthorizationStrategy().getClass());
ProjectMatrixAuthorizationStrategy gms = (ProjectMatrixAuthorizationStrategy) Jenkins.get().getAuthorizationStrategy();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class PropertiesSecretSourceTest {

@Test
@ConfiguredWithCode("PropertiesSecretSourceTest.yaml")
public void testReadingSecretsFromProperties() throws Exception {
public void testReadingSecretsFromProperties() {
List<UsernamePasswordCredentials> credentialList = CredentialsProvider
.lookupCredentials(UsernamePasswordCredentials.class,
Jenkins.getInstanceOrNull(), null, Collections.emptyList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.cloudbees.hudson.plugins.folder.Folder;
import com.michelin.cio.hudson.plugins.rolestrategy.Role;
import com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy;
import com.synopsys.arc.jenkins.plugins.rolestrategy.RoleType;
import hudson.model.Computer;
import hudson.model.FreeStyleProject;
import hudson.model.Item;
Expand Down Expand Up @@ -58,7 +59,7 @@ public void shouldReadRolesCorrectly() throws Exception {
s, instanceOf(RoleBasedAuthorizationStrategy.class));
RoleBasedAuthorizationStrategy rbas = (RoleBasedAuthorizationStrategy) s;

Map<Role, Set<String>> globalRoles = rbas.getGrantedRoles(RoleBasedAuthorizationStrategy.GLOBAL);
Map<Role, Set<String>> globalRoles = rbas.getGrantedRoles(RoleType.Global);
assertThat(globalRoles.size(), equalTo(2));

// Admin has configuration access
Expand Down Expand Up @@ -108,13 +109,13 @@ public void shouldExportRolesCorrect() throws Exception {
@Test
@Issue("Issue #214")
@ConfiguredWithCode("RoleStrategy2.yml")
public void shouldHandleNullItemsAndAgentsCorrectly() throws Exception {
public void shouldHandleNullItemsAndAgentsCorrectly() {
AuthorizationStrategy s = j.jenkins.getAuthorizationStrategy();
assertThat("Authorization Strategy has been read incorrectly",
s, instanceOf(RoleBasedAuthorizationStrategy.class));
RoleBasedAuthorizationStrategy rbas = (RoleBasedAuthorizationStrategy) s;

Map<Role, Set<String>> globalRoles = rbas.getGrantedRoles(RoleBasedAuthorizationStrategy.GLOBAL);
Map<Role, Set<String>> globalRoles = rbas.getGrantedRoles(RoleType.Global);
assertThat(globalRoles.size(), equalTo(2));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials;
import io.jenkins.plugins.casc.misc.ConfiguredWithCode;
import io.jenkins.plugins.casc.misc.JenkinsConfiguredWithCodeRule;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
Expand Down Expand Up @@ -65,7 +64,7 @@ public void shouldNotExportOrLogCredentials() throws Exception {
@Test
@ConfiguredWithCode("SSHCredentialsTest_Multiline_Key.yml")
@Issue("https://github.com/jenkinsci/configuration-as-code-plugin/issues/1189")
public void shouldSupportMultilineCertificates() throws Exception {
public void shouldSupportMultilineCertificates() {
BasicSSHUserPrivateKey certKey = getCredentials(BasicSSHUserPrivateKey.class);
assertThat("Private key roundtrip failed",
certKey.getPrivateKey().trim(), equalTo(MySSHKeySecretSource.PRIVATE_SSH_KEY.trim()));
Expand All @@ -74,7 +73,7 @@ public void shouldSupportMultilineCertificates() throws Exception {
@Test
@ConfiguredWithCode("SSHCredentialsTest_Singleline_Key.yml")
@Issue("https://github.com/jenkinsci/configuration-as-code-plugin/issues/1189")
public void shouldSupportSinglelineBase64Certificates() throws Exception {
public void shouldSupportSinglelineBase64Certificates() {
BasicSSHUserPrivateKey certKey = getCredentials(BasicSSHUserPrivateKey.class);
assertThat("Private key roundtrip failed",
certKey.getPrivateKey().trim().replace("\r\n", "\n"), equalTo(MySSHKeySecretSource.PRIVATE_SSH_KEY));
Expand All @@ -85,7 +84,7 @@ private <T extends Credentials> T getCredentials(Class<T> clazz) {
clazz, Jenkins.getInstanceOrNull(),
null, Collections.emptyList());
assertEquals("There should be only one credential", 1, creds.size());
return (T)creds.get(0);
return creds.get(0);
}

@TestExtension
Expand All @@ -104,7 +103,7 @@ public static class MySSHKeySecretSource extends SecretSource {
private static final String PRIVATE_SSH_KEY_BASE64 = "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0NCmIzQmxibk56YUMxclpYa3RkakVBQUFBQUJHNXZibVVBQUFBRWJtOXVaUUFBQUFBQUFBQUJBQUFBTXdBQUFBdHpjMmd0WlcNClF5TlRVeE9RQUFBQ0NZZHZ6NExkSGcwRzVLRlM4UGxhdXVPd1ZCbXM2WTcwRmFMNEpZMVlWYWhnQUFBS0NqSjFsK295ZFoNCmZnQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQ1lkdno0TGRIZzBHNUtGUzhQbGF1dU93VkJtczZZNzBGYUw0SlkxWVZhaGcNCkFBQUVCV3J0RlpHWDF5T2cxL2VzZ20zNFRQRTVadzhFWFExT3V4Y2dZR0lhUlJWcGgyL1BndDBlRFFia29WTHcrVnE2NDcNCkJVR2F6cGp2UVZvdmdsalZoVnFHQUFBQUdXOXVaVzVoYzJobGRrQk1RVkJVVDFBdE1qVkxOalZNVDFNQkFnTUUNCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQ0K";

@Override
public Optional<String> reveal(String secret) throws IOException {
public Optional<String> reveal(String secret) {
if (secret.equals("MY_PRIVATE_KEY")) {
return Optional.of(PRIVATE_SSH_KEY);
}
Expand Down

0 comments on commit 3026091

Please sign in to comment.