File tree Expand file tree Collapse file tree
main/java/io/snyk/plugins/artifactory
test/java/io/snyk/plugins/artifactory/configuration Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package io .snyk .plugins .artifactory ;
22
33import io .snyk .plugins .artifactory .audit .AuditModule ;
4+ import io .snyk .plugins .artifactory .configuration .UserAgent ;
45import io .snyk .plugins .artifactory .configuration .properties .ArtifactProperty ;
56import io .snyk .plugins .artifactory .configuration .ConfigurationModule ;
67import io .snyk .plugins .artifactory .exception .CannotScanException ;
3334public class SnykPlugin {
3435
3536 private static final Logger LOG = LoggerFactory .getLogger (SnykPlugin .class );
36- private static final String API_USER_AGENT = "snyk-artifactory-plugin/" ;
3737
3838 private ConfigurationModule configurationModule ;
3939 private AuditModule auditModule ;
@@ -155,7 +155,7 @@ private SnykClient createSnykClient(@Nonnull ConfigurationModule configurationMo
155155 var config = SnykConfig .newBuilder ()
156156 .setBaseUrl (baseUrl )
157157 .setToken (token )
158- .setUserAgent (API_USER_AGENT + pluginVersion )
158+ .setUserAgent (UserAgent . getUserAgent ( pluginVersion ) )
159159 .setTrustAllCertificates (trustAllCertificates )
160160 .setSslCertificatePath (sslCertificatePath )
161161 .setHttpProxyHost (httpProxyHost )
Original file line number Diff line number Diff line change 1+ package io .snyk .plugins .artifactory .configuration ;
2+
3+ import java .util .Optional ;
4+ import java .util .function .Function ;
5+
6+ public class UserAgent {
7+ private static final String PREFIX = "snyk-artifactory-plugin/" ;
8+ public static String ARTIFACTORY_VERSION_ENV = "ARTIFACTORY_VERSION" ;
9+
10+ public static String getUserAgent (String pluginVersion ) {
11+ return getUserAgent (pluginVersion , System ::getenv );
12+ }
13+
14+ public static String getUserAgent (String pluginVersion , Function <String , String > getEnv ) {
15+ String pluginPart = PREFIX + pluginVersion ;
16+
17+ String artifactoryPart = Optional .ofNullable (getEnv .apply (ARTIFACTORY_VERSION_ENV ))
18+ .map (v -> " artifactory/" + v )
19+ .orElse ("" );
20+
21+ return pluginPart + artifactoryPart ;
22+ }
23+ }
Original file line number Diff line number Diff line change 1+ package io .snyk .plugins .artifactory .configuration ;
2+
3+ import org .junit .jupiter .api .Test ;
4+
5+ import java .util .HashMap ;
6+ import java .util .Map ;
7+
8+ import static io .snyk .plugins .artifactory .configuration .UserAgent .ARTIFACTORY_VERSION_ENV ;
9+ import static org .junit .jupiter .api .Assertions .*;
10+
11+ class UserAgentTest {
12+
13+ @ Test
14+ void whenArtifactoryVersionEnvAvailable () {
15+ Map <String , String > env = new HashMap <>();
16+ env .put (ARTIFACTORY_VERSION_ENV , "1.2.3" );
17+
18+ String userAgent = UserAgent .getUserAgent ("3.4.5" , env ::get );
19+
20+ assertEquals ("snyk-artifactory-plugin/3.4.5 artifactory/1.2.3" , userAgent );
21+ }
22+
23+ @ Test
24+ void whenArtifactoryVersionEnvNotAvailable () {
25+ String userAgent = UserAgent .getUserAgent ("3.4.5" , env -> null );
26+
27+ assertEquals ("snyk-artifactory-plugin/3.4.5" , userAgent );
28+ }
29+ }
You can’t perform that action at this time.
0 commit comments