From 056e9051c1103bb38cbada5eb22d22a1a8a44563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Evaristo=20Gutie=CC=81rrez?= Date: Thu, 9 Mar 2017 10:19:58 +0100 Subject: [PATCH 1/2] [JENKINS-42437] Use not deprecated constructors. --- .../java/org/jenkinsci/plugins/plaincredentials/BaseTest.java | 4 ++-- .../plugins/plaincredentials/FileCredentialsTest.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java b/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java index 4cdfd2a..91e2806 100644 --- a/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java +++ b/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java @@ -7,6 +7,7 @@ import java.util.Collections; import java.util.List; +import com.cloudbees.plugins.credentials.SecretBytes; import org.apache.commons.fileupload.disk.DiskFileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl; @@ -22,7 +23,6 @@ import com.cloudbees.plugins.credentials.domains.Domain; import com.cloudbees.plugins.credentials.domains.DomainRequirement; import com.cloudbees.plugins.credentials.impl.BaseStandardCredentials; -import com.trilead.ssh2.crypto.Base64; import hudson.security.ACL; import hudson.util.Secret; @@ -56,7 +56,7 @@ public void secretTextBaseTest() throws IOException { public void secretFileBaseTest() throws IOException, URISyntaxException { DiskFileItem fileItem = createEmptyFileItem(); - FileCredentialsImpl credential = new FileCredentialsImpl(CredentialsScope.GLOBAL, CRED_ID, "Test Secret file", fileItem, "keys.txt", Base64.encode(fileItem.get()).toString()); + FileCredentialsImpl credential = new FileCredentialsImpl(CredentialsScope.GLOBAL, CRED_ID, "Test Secret file", fileItem, "keys.txt", SecretBytes.fromBytes(fileItem.get())); FileCredentialsImpl updatedCredential = new FileCredentialsImpl(credential.getScope(), UPDATED_CRED_ID, credential.getDescription(), fileItem, credential.getFileName(), credential.getSecretBytes()); testCreateUpdateDelete(credential, updatedCredential); } diff --git a/src/test/java/org/jenkinsci/plugins/plaincredentials/FileCredentialsTest.java b/src/test/java/org/jenkinsci/plugins/plaincredentials/FileCredentialsTest.java index ef251d9..2bcb0d6 100644 --- a/src/test/java/org/jenkinsci/plugins/plaincredentials/FileCredentialsTest.java +++ b/src/test/java/org/jenkinsci/plugins/plaincredentials/FileCredentialsTest.java @@ -24,6 +24,7 @@ package org.jenkinsci.plugins.plaincredentials; import com.cloudbees.plugins.credentials.CredentialsScope; +import com.cloudbees.plugins.credentials.SecretBytes; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemHeaders; import org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl; @@ -46,7 +47,7 @@ public class FileCredentialsTest { @Test(expected = IllegalArgumentException.class) @Issue("JENKINS-30926") public void shouldThrowAnExceptionIfFileNameIsBlank() throws IOException { - new FileCredentialsImpl(CredentialsScope.GLOBAL, "1", "", new StubFileItem(), "", ""); + new FileCredentialsImpl(CredentialsScope.GLOBAL, "1", "", new StubFileItem(), "", SecretBytes.fromString("")); } private class StubFileItem implements FileItem { From 1f721a2d92d40954d00512090831d3ad19ef624b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Evaristo=20Gutie=CC=81rrez?= Date: Thu, 9 Mar 2017 11:04:13 +0100 Subject: [PATCH 2/2] [JENKINS-42437] Add explicit test for deprecated constructor. --- .../plugins/plaincredentials/BaseTest.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java b/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java index 91e2806..f4a0ad5 100644 --- a/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java +++ b/src/test/java/org/jenkinsci/plugins/plaincredentials/BaseTest.java @@ -23,6 +23,7 @@ import com.cloudbees.plugins.credentials.domains.Domain; import com.cloudbees.plugins.credentials.domains.DomainRequirement; import com.cloudbees.plugins.credentials.impl.BaseStandardCredentials; +import com.trilead.ssh2.crypto.Base64; import hudson.security.ACL; import hudson.util.Secret; @@ -54,9 +55,25 @@ public void secretTextBaseTest() throws IOException { @Test public void secretFileBaseTest() throws IOException, URISyntaxException { + secretFileTest(false); + } + + @Test + public void secretFileBaseTestWithDeprecatedCtor() throws IOException, URISyntaxException { + secretFileTest(true); + } + + private void secretFileTest(boolean useDeprecatedConstructor) throws IOException, URISyntaxException { DiskFileItem fileItem = createEmptyFileItem(); - - FileCredentialsImpl credential = new FileCredentialsImpl(CredentialsScope.GLOBAL, CRED_ID, "Test Secret file", fileItem, "keys.txt", SecretBytes.fromBytes(fileItem.get())); + + FileCredentialsImpl credential; + + if (useDeprecatedConstructor) { + credential = new FileCredentialsImpl(CredentialsScope.GLOBAL, CRED_ID, "Test Secret file", fileItem, "keys.txt", Base64.encode(fileItem.get()).toString()); + } else { + credential = new FileCredentialsImpl(CredentialsScope.GLOBAL, CRED_ID, "Test Secret file", fileItem, "keys.txt", SecretBytes.fromBytes(fileItem.get())); + } + FileCredentialsImpl updatedCredential = new FileCredentialsImpl(credential.getScope(), UPDATED_CRED_ID, credential.getDescription(), fileItem, credential.getFileName(), credential.getSecretBytes()); testCreateUpdateDelete(credential, updatedCredential); }