From a2d772eea9c150f54012c349920ac4bd08c09811 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Wed, 24 Feb 2016 17:36:07 +0100 Subject: [PATCH 1/6] added api key param for saas connector --- .travis.yml | 3 ++- build.gradle | 2 +- .../touk/sputnik/configuration/CliOption.java | 3 ++- .../sputnik/connector/saas/SaasConnector.java | 17 +++++++++++++---- .../connector/saas/SaasFacadeBuilder.java | 8 +++++++- .../sputnik/connector/saas/SaasFacadeTest.java | 14 ++++++++------ .../findbugs/FindBugsProcessorTest.java | 3 --- 7 files changed, 33 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 02c72abf..0ecea277 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ jdk: before_install: - sudo pip install codecov + after_success: - codecov - - bash <(curl -s https://raw.githubusercontent.com/TouK/sputnik/saas/sputnik-ci.sh) + - python <(curl -s https://raw.githubusercontent.com/TouK/sputnik-ci/master/sputnik-ci.py) diff --git a/build.gradle b/build.gradle index 726b4f85..f7475d52 100644 --- a/build.gradle +++ b/build.gradle @@ -117,7 +117,7 @@ dependencies { testCompile 'org.mockito:mockito-core:1.9.5' testCompile 'org.assertj:assertj-core:1.5.0' testCompile 'com.googlecode.catch-exception:catch-exception:1.2.0' - testCompile('com.github.tomakehurst:wiremock:1.46') { + testCompile('com.github.tomakehurst:wiremock:1.57') { exclude group: 'log4j' } } diff --git a/src/main/java/pl/touk/sputnik/configuration/CliOption.java b/src/main/java/pl/touk/sputnik/configuration/CliOption.java index 9566dc5a..f96cc95d 100644 --- a/src/main/java/pl/touk/sputnik/configuration/CliOption.java +++ b/src/main/java/pl/touk/sputnik/configuration/CliOption.java @@ -9,7 +9,8 @@ public enum CliOption implements ConfigurationOption { CONF("cli.conf", "Configuration properties file", null), CHANGE_ID("cli.changeId", "Gerrit change id", null), REVISION_ID("cli.revisionId", "Gerrit revision id", null), - PULL_REQUEST_ID("cli.pullRequestId", "Stash pull request id", null); + PULL_REQUEST_ID("cli.pullRequestId", "Stash pull request id", null), + API_KEY("cli.apiKey", "Optional API key", null); private String key; private String description; diff --git a/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java b/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java index 1c169c4d..0f96a48e 100644 --- a/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java +++ b/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java @@ -1,11 +1,13 @@ package pl.touk.sputnik.connector.saas; import lombok.AllArgsConstructor; +import org.apache.http.NameValuePair; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; +import org.apache.http.message.BasicNameValuePair; import org.jetbrains.annotations.NotNull; import pl.touk.sputnik.connector.Connector; import pl.touk.sputnik.connector.github.GithubPatchset; @@ -21,7 +23,9 @@ public class SaasConnector implements Connector { private HttpConnector httpConnector; private GithubPatchset githubPatchset; + private String apiKey; + private static final String API_KEY_PARAM = "key"; private static final String FILES_URL_FORMAT = "/api/github/%s/pulls/%d/files"; private static final String VIOLATIONS_URL_FORMAT = "/api/github/%s/pulls/%d/violations"; @@ -32,16 +36,16 @@ public List getReviewFiles() { @NotNull @Override public String listFiles() throws URISyntaxException, IOException { - URI uri = httpConnector.buildUri(createUrl(githubPatchset, FILES_URL_FORMAT)); - CloseableHttpResponse httpResponse = httpConnector.logAndExecute(new HttpGet(uri)); + URI uri = httpConnector.buildUri(createUrl(githubPatchset, FILES_URL_FORMAT), apiKeyParam()); + HttpGet request = new HttpGet(uri); + CloseableHttpResponse httpResponse = httpConnector.logAndExecute(request); return httpConnector.consumeAndLogEntity(httpResponse); } @NotNull @Override public String sendReview(String violationsAsJson) throws URISyntaxException, IOException { - System.out.println(violationsAsJson); - URI uri = httpConnector.buildUri(createUrl(githubPatchset, VIOLATIONS_URL_FORMAT)); + URI uri = httpConnector.buildUri(createUrl(githubPatchset, VIOLATIONS_URL_FORMAT), apiKeyParam()); HttpPost httpPost = new HttpPost(uri); httpPost.setEntity(new StringEntity(violationsAsJson, ContentType.APPLICATION_JSON)); CloseableHttpResponse httpResponse = httpConnector.logAndExecute(httpPost); @@ -51,4 +55,9 @@ public String sendReview(String violationsAsJson) throws URISyntaxException, IOE private String createUrl(GithubPatchset patchset, String formatUrl) { return String.format(formatUrl, patchset.getProjectPath(), patchset.getPullRequestId()); } + + @NotNull + private NameValuePair apiKeyParam() { + return new BasicNameValuePair(API_KEY_PARAM, apiKey); + } } diff --git a/src/main/java/pl/touk/sputnik/connector/saas/SaasFacadeBuilder.java b/src/main/java/pl/touk/sputnik/connector/saas/SaasFacadeBuilder.java index 59297f1c..4a06bbf1 100644 --- a/src/main/java/pl/touk/sputnik/connector/saas/SaasFacadeBuilder.java +++ b/src/main/java/pl/touk/sputnik/connector/saas/SaasFacadeBuilder.java @@ -6,12 +6,15 @@ import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.CloseableHttpClient; import org.jetbrains.annotations.NotNull; +import pl.touk.sputnik.configuration.CliOption; import pl.touk.sputnik.configuration.Configuration; import pl.touk.sputnik.connector.ConnectorDetails; import pl.touk.sputnik.connector.github.GithubPatchsetBuilder; import pl.touk.sputnik.connector.http.HttpConnector; import pl.touk.sputnik.connector.http.HttpHelper; +import static org.apache.commons.lang3.Validate.notBlank; + public class SaasFacadeBuilder { private HttpHelper httpHelper = new HttpHelper(); @@ -20,13 +23,16 @@ public class SaasFacadeBuilder { public SaasFacade build(Configuration configuration) { ConnectorDetails connectorDetails = new ConnectorDetails(configuration); + String apiKey = configuration.getProperty(CliOption.API_KEY); + notBlank(apiKey, "You must provide non blank Sputnik API key"); + HttpHost httpHost = httpHelper.buildHttpHost(connectorDetails); HttpClientContext httpClientContext = httpHelper.buildClientContext(httpHost, new BasicScheme()); CloseableHttpClient closeableHttpClient = httpHelper.buildClient(httpHost, connectorDetails); return new SaasFacade(new SaasConnector( new HttpConnector(closeableHttpClient, httpClientContext, connectorDetails.getPath()), - GithubPatchsetBuilder.build(configuration)), new Gson()); + GithubPatchsetBuilder.build(configuration), apiKey), new Gson()); } } diff --git a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java index 49cb0f9e..d777cdf2 100644 --- a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java +++ b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java @@ -23,9 +23,11 @@ public class SaasFacadeTest extends HttpConnectorEnv { private static Integer SOME_PULL_REQUEST_ID = 12314; private static String SOME_REPOSITORY = "repo"; private static String SOME_PROJECT = "proj"; + private static String SOME_API_KEY = "my_api_key"; private static final Map GITHUB_PATCHSET_MAP = ImmutableMap.of( "cli.pullRequestId", SOME_PULL_REQUEST_ID.toString(), + "cli.apiKey", SOME_API_KEY, "connector.repository", SOME_REPOSITORY, "connector.project", SOME_PROJECT ); @@ -45,8 +47,8 @@ public void setUp() { @Test public void shouldListFiles() throws Exception { stubGet(urlEqualTo(String.format( - "%s/api/github/%s/%s/pulls/%s/files", - FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID)), "/json/saas-files.json"); + "%s/api/github/%s/%s/pulls/%s/files?key=%s", + FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID, SOME_API_KEY)), "/json/saas-files.json"); List files = saasFacade.listFiles(); @@ -56,8 +58,8 @@ public void shouldListFiles() throws Exception { @Test public void shouldPublishReview() throws Exception { stubPost(urlEqualTo(String.format( - "%s/api/github/%s/%s/pulls/%s/violations", - FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID)), "/json/saas-files.json"); + "%s/api/github/%s/%s/pulls/%s/violations?key=%s", + FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID, SOME_API_KEY)), "/json/saas-files.json"); String filename = "src/main/java/Main.java"; Review review = new Review(ImmutableList.of(new ReviewFile(filename)), ReviewFormatterFactory.get(config)); @@ -66,7 +68,7 @@ public void shouldPublishReview() throws Exception { saasFacade.publish(review); - verify(1, postRequestedFor(urlMatching(String.format("%s/api/github/%s/%s/pulls/%s/violations", - FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID)))); + verify(1, postRequestedFor(urlMatching(String.format("%s/api/github/%s/%s/pulls/%s/violations\\?key=%s", + FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID, SOME_API_KEY)))); } } diff --git a/src/test/java/pl/touk/sputnik/processor/findbugs/FindBugsProcessorTest.java b/src/test/java/pl/touk/sputnik/processor/findbugs/FindBugsProcessorTest.java index bfa4ae27..78394cd8 100644 --- a/src/test/java/pl/touk/sputnik/processor/findbugs/FindBugsProcessorTest.java +++ b/src/test/java/pl/touk/sputnik/processor/findbugs/FindBugsProcessorTest.java @@ -4,8 +4,6 @@ import com.google.common.collect.ImmutableMap; import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.runners.MockitoJUnitRunner; import pl.touk.sputnik.TestEnvironment; import pl.touk.sputnik.configuration.ConfigurationSetup; import pl.touk.sputnik.configuration.GeneralOption; @@ -18,7 +16,6 @@ import static org.assertj.core.api.Assertions.assertThat; -@RunWith(MockitoJUnitRunner.class) public class FindBugsProcessorTest extends TestEnvironment { private FindBugsProcessor findBugsProcessor; From 8b7dbd4ff0d56e9bcf2dafb2dbd561eeba58fba7 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Mon, 29 Feb 2016 11:11:55 +0100 Subject: [PATCH 2/6] api key sent to saas --- .../sputnik/configuration/CliWrapper.java | 1 + .../sputnik/connector/http/HttpConnector.java | 8 ++++++++ .../sputnik/connector/http/HttpException.java | 20 +++++++++++++++++++ .../sputnik/connector/saas/SaasConnector.java | 3 +++ .../sputnik/connector/saas/SaasFacade.java | 5 +++++ .../connector/saas/SaasFacadeTest.java | 5 +++++ 6 files changed, 42 insertions(+) create mode 100644 src/main/java/pl/touk/sputnik/connector/http/HttpException.java diff --git a/src/main/java/pl/touk/sputnik/configuration/CliWrapper.java b/src/main/java/pl/touk/sputnik/configuration/CliWrapper.java index 1b659d56..3fbbed59 100644 --- a/src/main/java/pl/touk/sputnik/configuration/CliWrapper.java +++ b/src/main/java/pl/touk/sputnik/configuration/CliWrapper.java @@ -23,6 +23,7 @@ private Options createOptions() { localOptions.addOption(buildOption(CliOption.REVISION_ID, true, false)); localOptions.addOption(buildOption(CliOption.PULL_REQUEST_ID, true, false)); + localOptions.addOption(buildOption(CliOption.API_KEY, true, false)); return localOptions; } diff --git a/src/main/java/pl/touk/sputnik/connector/http/HttpConnector.java b/src/main/java/pl/touk/sputnik/connector/http/HttpConnector.java index 3aa26540..c12f2474 100644 --- a/src/main/java/pl/touk/sputnik/connector/http/HttpConnector.java +++ b/src/main/java/pl/touk/sputnik/connector/http/HttpConnector.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpHost; +import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpRequestBase; @@ -51,6 +52,9 @@ public CloseableHttpResponse logAndExecute(@NotNull HttpRequestBase request) thr @NotNull public String consumeAndLogEntity(@NotNull CloseableHttpResponse response) throws IOException { + if (!isSuccessful(response)) { + throw new HttpException(response); + } if (response.getEntity() == null) { log.debug("Entity {}: no entity", REQUEST_COUNTER); return StringUtils.EMPTY; @@ -59,4 +63,8 @@ public String consumeAndLogEntity(@NotNull CloseableHttpResponse response) throw log.info("Entity {}: {}", REQUEST_COUNTER, content); return content; } + + private boolean isSuccessful(HttpResponse response) { + return response.getStatusLine().getStatusCode() / 100 == 2; + } } diff --git a/src/main/java/pl/touk/sputnik/connector/http/HttpException.java b/src/main/java/pl/touk/sputnik/connector/http/HttpException.java new file mode 100644 index 00000000..ee96ab3b --- /dev/null +++ b/src/main/java/pl/touk/sputnik/connector/http/HttpException.java @@ -0,0 +1,20 @@ +package pl.touk.sputnik.connector.http; + +import org.apache.http.HttpResponse; + +public class HttpException extends RuntimeException { + + private final HttpResponse response; + + public HttpException(HttpResponse response) { + this.response = response; + } + + public int getStatusCode() { + return response.getStatusLine().getStatusCode(); + } + + public String getMessage() { + return "Response status [" + getStatusCode() + "]"; + } +} diff --git a/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java b/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java index 0f96a48e..79f82691 100644 --- a/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java +++ b/src/main/java/pl/touk/sputnik/connector/saas/SaasConnector.java @@ -1,6 +1,7 @@ package pl.touk.sputnik.connector.saas; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.http.NameValuePair; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; @@ -19,6 +20,7 @@ import java.util.List; @AllArgsConstructor +@Slf4j public class SaasConnector implements Connector { private HttpConnector httpConnector; @@ -45,6 +47,7 @@ public String listFiles() throws URISyntaxException, IOException { @NotNull @Override public String sendReview(String violationsAsJson) throws URISyntaxException, IOException { + log.info("Sending violations: {}", violationsAsJson); URI uri = httpConnector.buildUri(createUrl(githubPatchset, VIOLATIONS_URL_FORMAT), apiKeyParam()); HttpPost httpPost = new HttpPost(uri); httpPost.setEntity(new StringEntity(violationsAsJson, ContentType.APPLICATION_JSON)); diff --git a/src/main/java/pl/touk/sputnik/connector/saas/SaasFacade.java b/src/main/java/pl/touk/sputnik/connector/saas/SaasFacade.java index 6dd9f719..003783e5 100644 --- a/src/main/java/pl/touk/sputnik/connector/saas/SaasFacade.java +++ b/src/main/java/pl/touk/sputnik/connector/saas/SaasFacade.java @@ -7,6 +7,7 @@ import pl.touk.sputnik.configuration.GeneralOptionNotSupportedException; import pl.touk.sputnik.connector.ConnectorFacade; import pl.touk.sputnik.connector.Connectors; +import pl.touk.sputnik.connector.http.HttpException; import pl.touk.sputnik.connector.saas.json.FileViolation; import pl.touk.sputnik.connector.saas.json.Violation; import pl.touk.sputnik.review.Comment; @@ -40,6 +41,8 @@ public List listFiles() { reviewFiles.add(new ReviewFile(filename)); } return reviewFiles; + } catch (HttpException ex) { + throw new SaasException("Error when listing files, check your api key", ex); } catch (URISyntaxException | IOException ex) { throw new SaasException("Error when listing files", ex); } @@ -58,6 +61,8 @@ public void publish(Review review) { String request = gson.toJson(fileViolations); try { saasConnector.sendReview(request); + } catch (HttpException ex) { + throw new SaasException("Error when listing files, check your api key", ex); } catch (URISyntaxException | IOException ex) { throw new SaasException("Error while publishing review", ex); } diff --git a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java index d777cdf2..6db0fc89 100644 --- a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java +++ b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java @@ -71,4 +71,9 @@ public void shouldPublishReview() throws Exception { verify(1, postRequestedFor(urlMatching(String.format("%s/api/github/%s/%s/pulls/%s/violations\\?key=%s", FacadeConfigUtil.PATH, SOME_PROJECT, SOME_REPOSITORY, SOME_PULL_REQUEST_ID, SOME_API_KEY)))); } + + @Test(expected = SaasException.class) + public void shouldHandleWrongApiKey() throws Exception { + List files = saasFacade.listFiles(); + } } From 97c7d144f6df0cf5cb5982d0f714f4880603ca63 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Mon, 29 Feb 2016 11:18:23 +0100 Subject: [PATCH 3/6] remove configs from repo --- checkstyle.xml | 172 --------------------------------------------- sputnik.properties | 21 ------ 2 files changed, 193 deletions(-) delete mode 100644 checkstyle.xml delete mode 100644 sputnik.properties diff --git a/checkstyle.xml b/checkstyle.xml deleted file mode 100644 index 5f25af97..00000000 --- a/checkstyle.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sputnik.properties b/sputnik.properties deleted file mode 100644 index ea5fe7a0..00000000 --- a/sputnik.properties +++ /dev/null @@ -1,21 +0,0 @@ -project.build.tool=gradle -connector.type=saas -connector.host=sputnik.touk.pl -connector.path=/ -connector.port=80 -connector.username= -connector.password= -connector.useHttps=false -connector.project=TouK -connector.repository=sputnik -checkstyle.enabled=true -checkstyle.configurationFile=checkstyle.xml -checkstyle.propertiesFile= -pmd.enabled=false -pmd.ruleSets=rulesets/java/android.xml,rulesets/java/basic.xml -findbugs.enabled=true -findbugs.includeFilter= -findbugs.excludeFilter= -codenarc.enabled=true -codenarc.ruleSets= -codenarc.excludes=**/*.java From 1618be6ac7bb55b5c2abf56588e80a2b4393f201 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Tue, 1 Mar 2016 11:12:46 +0100 Subject: [PATCH 4/6] constants made final --- .../pl/touk/sputnik/connector/saas/SaasFacadeTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java index 6db0fc89..15c54eae 100644 --- a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java +++ b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java @@ -20,10 +20,10 @@ public class SaasFacadeTest extends HttpConnectorEnv { - private static Integer SOME_PULL_REQUEST_ID = 12314; - private static String SOME_REPOSITORY = "repo"; - private static String SOME_PROJECT = "proj"; - private static String SOME_API_KEY = "my_api_key"; + private final static Integer SOME_PULL_REQUEST_ID = 12314; + private final static String SOME_REPOSITORY = "repo"; + private final static String SOME_PROJECT = "proj"; + private final static String SOME_API_KEY = "my_api_key"; private static final Map GITHUB_PATCHSET_MAP = ImmutableMap.of( "cli.pullRequestId", SOME_PULL_REQUEST_ID.toString(), From c6c84968c20b8a5fb116ec813f7640badac6ece8 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Tue, 1 Mar 2016 11:18:41 +0100 Subject: [PATCH 5/6] constants made final --- .../pl/touk/sputnik/connector/saas/SaasFacadeTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java index 15c54eae..28a4d0ae 100644 --- a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java +++ b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java @@ -20,10 +20,10 @@ public class SaasFacadeTest extends HttpConnectorEnv { - private final static Integer SOME_PULL_REQUEST_ID = 12314; - private final static String SOME_REPOSITORY = "repo"; - private final static String SOME_PROJECT = "proj"; - private final static String SOME_API_KEY = "my_api_key"; + private static final Integer SOME_PULL_REQUEST_ID = 12314; + private static final String SOME_REPOSITORY = "repo"; + private static final String SOME_PROJECT = "proj"; + private static final String SOME_API_KEY = "my_api_key"; private static final Map GITHUB_PATCHSET_MAP = ImmutableMap.of( "cli.pullRequestId", SOME_PULL_REQUEST_ID.toString(), From 6f5e65cb90f4b854b5ad860ef85a898d62db97f6 Mon Sep 17 00:00:00 2001 From: Piotr Jagielski Date: Wed, 2 Mar 2016 17:06:14 +0100 Subject: [PATCH 6/6] better cli option description --- src/main/java/pl/touk/sputnik/configuration/CliOption.java | 2 +- .../java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/pl/touk/sputnik/configuration/CliOption.java b/src/main/java/pl/touk/sputnik/configuration/CliOption.java index f96cc95d..4f770103 100644 --- a/src/main/java/pl/touk/sputnik/configuration/CliOption.java +++ b/src/main/java/pl/touk/sputnik/configuration/CliOption.java @@ -10,7 +10,7 @@ public enum CliOption implements ConfigurationOption { CHANGE_ID("cli.changeId", "Gerrit change id", null), REVISION_ID("cli.revisionId", "Gerrit revision id", null), PULL_REQUEST_ID("cli.pullRequestId", "Stash pull request id", null), - API_KEY("cli.apiKey", "Optional API key", null); + API_KEY("cli.apiKey", "Optional API key for using Sputnik for Github", null); private String key; private String description; diff --git a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java index 28a4d0ae..79131563 100644 --- a/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java +++ b/src/test/java/pl/touk/sputnik/connector/saas/SaasFacadeTest.java @@ -74,6 +74,6 @@ public void shouldPublishReview() throws Exception { @Test(expected = SaasException.class) public void shouldHandleWrongApiKey() throws Exception { - List files = saasFacade.listFiles(); + saasFacade.listFiles(); } }