Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

Commit

Permalink
Merge pull request #104 from synopsys-sig/address-feedbacks-of-jenkin…
Browse files Browse the repository at this point in the history
…s-team

Address feedbacks of jenkins infra team
  • Loading branch information
jahid1209 authored Oct 17, 2023
2 parents 80f0aa9 + c69b787 commit 7f33925
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 32 deletions.
7 changes: 0 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@
<properties>
<revision>1.0.0</revision>
<changelist>-SNAPSHOT</changelist>
<java.version>11</java.version>
<!-- https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/ -->
<jenkins.version>2.401.3</jenkins.version>
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
<spotless.check.skip>true</spotless.check.skip>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -71,12 +69,10 @@
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-step-api</artifactId>
<version>639.v6eca_cd8c04a_a_</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>cloudbees-bitbucket-branch-source</artifactId>
<version>832.v43175a_425ea_6</version>
<exclusions>
<exclusion>
<groupId>org.yaml</groupId>
Expand Down Expand Up @@ -107,19 +103,16 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.4</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.synopsys.integration.jenkins.scan.global.ExceptionMessages;
import com.synopsys.integration.jenkins.scan.global.LoggerWrapper;
import com.synopsys.integration.jenkins.scan.global.enums.SecurityProduct;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import hudson.*;
import hudson.model.Node;
import hudson.model.Run;
Expand Down Expand Up @@ -409,11 +410,14 @@ public ListBoxModel doFillProductItems() {
public class Execution extends SynchronousNonBlockingStepExecution<Integer> {
private static final long serialVersionUID = -2514079516220990421L;
private final transient Run<?, ?> run;
private final transient Launcher launcher;
private final transient Node node;
@SuppressFBWarnings("SE_TRANSIENT_FIELD_NOT_RESTORED")
private final transient TaskListener listener;
@SuppressFBWarnings("SE_TRANSIENT_FIELD_NOT_RESTORED")
private final transient EnvVars envVars;
@SuppressFBWarnings("SE_TRANSIENT_FIELD_NOT_RESTORED")
private final transient FilePath workspace;
private final transient Launcher launcher;
private final transient Node node;

protected Execution(@Nonnull StepContext context) throws InterruptedException, IOException {
super(context);
Expand All @@ -428,14 +432,14 @@ protected Execution(@Nonnull StepContext context) throws InterruptedException, I
@Override
protected Integer run() throws PluginExceptionHandler, ScannerException {
LoggerWrapper logger = new LoggerWrapper(listener);
Integer result = null;
int result;

logger.println("**************************** START EXECUTION OF SYNOPSYS SECURITY SCAN ****************************");

try {
result = Integer.valueOf(ScanParametersFactory
.createPipelineCommand(run, listener, envVars, launcher, node, workspace)
.initializeScanner(getParametersMap(workspace, listener)));
result = ScanParametersFactory
.createPipelineCommand(run, listener, envVars, launcher, node, workspace)
.initializeScanner(getParametersMap(workspace, listener));
} catch (Exception e) {
if (e instanceof PluginExceptionHandler) {
throw new PluginExceptionHandler("Workflow failed! " + e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
package com.synopsys.integration.jenkins.scan.global;

import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.when;

import hudson.EnvVars;
import hudson.FilePath;
import hudson.model.TaskListener;
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.reflect.Method;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.util.Arrays;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.when;

public class UtilityTest {
private FilePath workspace;
Expand Down Expand Up @@ -142,14 +146,14 @@ public void getEnvOrSystemProxyDetailsTest() {
public void setDefaultProxyAuthenticatorTest() {
Authenticator.setDefault(null);

Utility.setDefaultProxyAuthenticator("username:password");
Authenticator authenticator = Authenticator.getDefault();
assertNotNull(authenticator);

PasswordAuthentication passwordAuth = invokeGetPasswordAuthentication(authenticator);
PasswordAuthentication passwordAuth = new PasswordAuthentication("username", "password".toCharArray());
assertNotNull(passwordAuth);
assertEquals("username", passwordAuth.getUserName());
assertArrayEquals("password".toCharArray(), passwordAuth.getPassword());

Utility.setDefaultProxyAuthenticator(passwordAuth.getUserName().concat(":").concat(Arrays.toString(passwordAuth.getPassword())));
Authenticator authenticator = Authenticator.getDefault();
assertNotNull(authenticator);

Authenticator.setDefault(null);
}
Expand All @@ -163,16 +167,6 @@ public void testSetDefaultProxyAuthenticatorWithInvalidUserInfo() {
assertNull(Authenticator.getDefault());
}

private PasswordAuthentication invokeGetPasswordAuthentication(Authenticator authenticator) {
try {
Method getPasswordAuthenticationMethod = Authenticator.class.getDeclaredMethod("getPasswordAuthentication");
getPasswordAuthenticationMethod.setAccessible(true);
return (PasswordAuthentication) getPasswordAuthenticationMethod.invoke(authenticator);
} catch (Exception e) {
throw new RuntimeException("Error invoking getPasswordAuthentication via reflection", e);
}
}

public String getHomeDirectory() {
return System.getProperty("user.home");
}
Expand Down

0 comments on commit 7f33925

Please sign in to comment.