From 8eb617005432e6a7ecf7f3693919e7ff2e68055d Mon Sep 17 00:00:00 2001 From: Patrick Huang Date: Mon, 1 Dec 2014 15:15:35 +1000 Subject: [PATCH] rhbz1124630 - fix according review comments --- mock-server/pom.xml | 12 ++- pom.xml | 3 +- .../client/commands/ListRemoteCommand.java | 4 +- .../delete/GlossaryDeleteCommand.java | 9 +- zanata-rest-client/pom.xml | 8 +- .../rest/client/ApiKeyHeaderFilter.java | 7 ++ .../zanata/rest/client/AccountClientTest.java | 3 +- .../client/ApiKeyHeaderDecoratorTest.java | 69 --------------- .../rest/client/ApiKeyHeaderFilterTest.java | 83 +++++++++++++++++++ .../rest/client/AsyncProcessClientTest.java | 3 +- .../rest/client/CopyTransClientTest.java | 3 +- .../rest/client/FileResourceClientTest.java | 3 +- .../rest/client/GlossaryClientTest.java | 3 +- .../zanata/rest/client/ProjectClientTest.java | 3 +- .../client/ProjectIterationClientTest.java | 3 +- .../rest/client/ProjectsClientTest.java | 3 +- .../rest/client/RestClientFactoryTest.java | 3 +- .../client/SourceDocResourceClientTest.java | 3 +- .../client/StatisticsResourceClientTest.java | 3 +- .../client/TransDocResourceClientTest.java | 3 +- 20 files changed, 140 insertions(+), 91 deletions(-) delete mode 100644 zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderDecoratorTest.java create mode 100644 zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderFilterTest.java diff --git a/mock-server/pom.xml b/mock-server/pom.xml index 7d14d182..e2248680 100644 --- a/mock-server/pom.xml +++ b/mock-server/pom.xml @@ -152,12 +152,20 @@ com.ning.maven.plugins maven-duplicate-finder-plugin - 1.0.7 - + + + + + about.html + + + true + + diff --git a/pom.xml b/pom.xml index c052562f..2c4d7ccf 100644 --- a/pom.xml +++ b/pom.xml @@ -225,4 +225,5 @@ zanata-maven-plugin zanata-rest-client - \ No newline at end of file + + diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteCommand.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteCommand.java index 9f7a9f9f..059294e1 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteCommand.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteCommand.java @@ -50,10 +50,10 @@ public void run() throws Exception { getOpts().getProj(), getOpts().getProjectVersion()); List list = client.getResourceMeta(null); - ConsoleInteractor console = new ConsoleInteractorImpl(); for (ResourceMeta doc : list) { - console.printfln(doc.getName()); + System.out.println(doc.getName()); } } } + diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/glossary/delete/GlossaryDeleteCommand.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/glossary/delete/GlossaryDeleteCommand.java index 77acdf91..da6c98e6 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/glossary/delete/GlossaryDeleteCommand.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/glossary/delete/GlossaryDeleteCommand.java @@ -39,12 +39,12 @@ public class GlossaryDeleteCommand extends ConfigurableCommand { private static final Logger log = LoggerFactory .getLogger(GlossaryDeleteCommand.class); - private final GlossaryClient client; + private final GlossaryClient glossaryClient; public GlossaryDeleteCommand(GlossaryDeleteOptions opts, RestClientFactory clientFactory) { super(opts, clientFactory); - client = getClientFactory().getGlossaryClient(); + glossaryClient = getClientFactory().getGlossaryClient(); } public GlossaryDeleteCommand(GlossaryDeleteOptions opts) { @@ -59,12 +59,13 @@ public void run() throws Exception { log.info("Delete entire glossary?: {}", getOpts().getAllGlossary()); if (getOpts().getAllGlossary()) { - client.deleteAll(); + glossaryClient.deleteAll(); } else if (!StringUtils.isEmpty(getOpts().getlang())) { - client.delete(new LocaleId(getOpts() + glossaryClient.delete(new LocaleId(getOpts() .getlang())); } else { throw new RuntimeException("Option 'zanata.lang' is required."); } } } + diff --git a/zanata-rest-client/pom.xml b/zanata-rest-client/pom.xml index 3919d9a7..f851da1c 100644 --- a/zanata-rest-client/pom.xml +++ b/zanata-rest-client/pom.xml @@ -133,6 +133,12 @@ guava + + org.mockito + mockito-core + test + + @@ -140,7 +146,6 @@ com.ning.maven.plugins maven-duplicate-finder-plugin - 1.0.7 false @@ -149,3 +154,4 @@ + diff --git a/zanata-rest-client/src/main/java/org/zanata/rest/client/ApiKeyHeaderFilter.java b/zanata-rest-client/src/main/java/org/zanata/rest/client/ApiKeyHeaderFilter.java index 9be0d28e..77c67af4 100644 --- a/zanata-rest-client/src/main/java/org/zanata/rest/client/ApiKeyHeaderFilter.java +++ b/zanata-rest-client/src/main/java/org/zanata/rest/client/ApiKeyHeaderFilter.java @@ -26,6 +26,7 @@ import org.zanata.rest.RestConstant; +import com.google.common.annotations.VisibleForTesting; import com.sun.jersey.api.client.ClientHandlerException; import com.sun.jersey.api.client.ClientRequest; import com.sun.jersey.api.client.ClientResponse; @@ -50,6 +51,11 @@ public ClientResponse handle(ClientRequest cr) headers.add(RestConstant.HEADER_USERNAME, username); headers.add(RestConstant.HEADER_API_KEY, apiKey); headers.add(RestConstant.HEADER_VERSION_NO, ver); + return handleNext(cr); + } + + @VisibleForTesting + protected ClientResponse handleNext(ClientRequest cr) { return getNext().handle(cr); } @@ -61,3 +67,4 @@ public void setUsername(String username) { this.username = username; } } + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/AccountClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/AccountClientTest.java index 7f9a8d67..5df88a9a 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/AccountClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/AccountClientTest.java @@ -55,4 +55,5 @@ public void testPut() throws Exception { MockServerTestUtil.verifyServerRespondSuccessStatus(); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderDecoratorTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderDecoratorTest.java deleted file mode 100644 index 9d19af15..00000000 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderDecoratorTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2011, Red Hat, Inc. and individual contributors - * as indicated by the @author tags. See the copyright.txt file in the - * distribution for a full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.zanata.rest.client; - -import javax.ws.rs.core.MultivaluedMap; - -import org.jboss.resteasy.client.ClientRequest; -import org.jboss.resteasy.client.ClientResponse; -import org.jboss.resteasy.spi.interception.ClientExecutionContext; -import org.junit.Test; -import org.zanata.rest.RestConstant; - -import static org.junit.Assert.assertEquals; - -/** - * @author Sean Flanigan sflaniga@redhat.com - * - */ -public class ApiKeyHeaderDecoratorTest { - @Test - public void testHeaders() throws Exception { -// String username = "username"; -// String apiKey = "apiKey"; -// String ver = "ver"; -// ApiKeyHeaderDecorator decorator = -// new ApiKeyHeaderDecorator(username, apiKey, ver); -// -// final ClientRequest mockRequest = -// new ClientRequest("http://uri.example.com/"); -// ClientExecutionContext mockCtx = new ClientExecutionContext() { -// -// @SuppressWarnings("rawtypes") -// @Override -// public ClientResponse proceed() throws Exception { -// return null; -// } -// -// @Override -// public ClientRequest getRequest() { -// return mockRequest; -// } -// }; -// decorator.execute(mockCtx); -// MultivaluedMap headers = mockRequest.getHeaders(); -// assertEquals(username, headers.getFirst(RestConstant.HEADER_USERNAME)); -// assertEquals(apiKey, headers.getFirst(RestConstant.HEADER_API_KEY)); -// assertEquals(ver, headers.getFirst(RestConstant.HEADER_VERSION_NO)); - } -} diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderFilterTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderFilterTest.java new file mode 100644 index 00000000..8a3fc60a --- /dev/null +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/ApiKeyHeaderFilterTest.java @@ -0,0 +1,83 @@ +/* + * Copyright 2011, Red Hat, Inc. and individual contributors + * as indicated by the @author tags. See the copyright.txt file in the + * distribution for a full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.zanata.rest.client; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.mockito.Mockito.when; + +import javax.ws.rs.core.MultivaluedHashMap; + +import org.hamcrest.Matchers; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.zanata.rest.RestConstant; +import com.sun.jersey.api.client.ClientRequest; +import com.sun.jersey.api.client.ClientResponse; + +/** + * @author Sean Flanigan sflaniga@redhat.com + * + */ +public class ApiKeyHeaderFilterTest { + @Mock + private ClientRequest mockRequest; + @Mock + private ClientResponse response; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testHeaders() throws Exception { + String username = "username"; + String apiKey = "apiKey"; + String ver = "ver"; + ApiKeyHeaderFilter filter = + new ApiKeyHeaderFilter(username, apiKey, ver) { + @Override + protected ClientResponse handleNext( + ClientRequest cr) { + return response; + } + }; + + MultivaluedHashMap headerMap = + new MultivaluedHashMap<>(); + when(mockRequest.getHeaders()).thenReturn(headerMap); + // + + filter.handle(mockRequest); + + assertThat(headerMap.getFirst(RestConstant.HEADER_USERNAME).toString(), + Matchers.equalTo(username)); + assertThat(headerMap.getFirst(RestConstant.HEADER_API_KEY).toString(), + Matchers.equalTo(apiKey)); + assertThat(headerMap.getFirst(RestConstant.HEADER_VERSION_NO) + .toString(), Matchers.equalTo(ver)); + } +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/AsyncProcessClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/AsyncProcessClientTest.java index c6d34499..287396f6 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/AsyncProcessClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/AsyncProcessClientTest.java @@ -79,4 +79,5 @@ public void testGetProcessStatus() throws Exception { assertThat(processStatus.getStatusCode(), Matchers.equalTo( ProcessStatus.ProcessStatusCode.Finished)); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/CopyTransClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/CopyTransClientTest.java index 698d63c8..7da743ee 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/CopyTransClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/CopyTransClientTest.java @@ -54,4 +54,5 @@ public void testGetCopyTransStatus() throws Exception { client.getCopyTransStatus("about-fedora", "master", "Authors"); assertThat(copyTransStatus.isInProgress(), Matchers.is(false)); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/FileResourceClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/FileResourceClientTest.java index 557372fe..cc7be9d4 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/FileResourceClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/FileResourceClientTest.java @@ -167,4 +167,5 @@ public void testDownloadTranslationFile() { Matchers.hasSize(1)); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/GlossaryClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/GlossaryClientTest.java index ff80ac6b..3cbc6c06 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/GlossaryClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/GlossaryClientTest.java @@ -57,4 +57,5 @@ public void testDeleteAll() throws Exception { client.deleteAll(); MockServerTestUtil.verifyServerRespondSuccessStatus(); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectClientTest.java index 39f9a5c9..b7cc56fb 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectClientTest.java @@ -56,4 +56,5 @@ public void testPut() throws Exception { MockServerTestUtil.verifyServerRespondSuccessStatus(); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectIterationClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectIterationClientTest.java index d894aebe..88d86798 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectIterationClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectIterationClientTest.java @@ -61,4 +61,5 @@ public void testSampleConfig() { assertThat(config, Matchers.containsString("")); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectsClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectsClientTest.java index 34ea513f..74fa26e4 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectsClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/ProjectsClientTest.java @@ -49,4 +49,5 @@ public void canGetProjects() { assertThat(projects[0].getId(), Matchers.equalTo("about-fedora")); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/RestClientFactoryTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/RestClientFactoryTest.java index a98d7839..b4082bef 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/RestClientFactoryTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/RestClientFactoryTest.java @@ -43,4 +43,5 @@ public void testGetVersion() { Matchers.equalTo("3.6.0-SNAPSHOT")); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/SourceDocResourceClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/SourceDocResourceClientTest.java index 40007e08..c0f945fb 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/SourceDocResourceClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/SourceDocResourceClientTest.java @@ -76,4 +76,5 @@ public void testDeleteResource() { String result = client.deleteResource("test"); assertThat(result, Matchers.isEmptyOrNullString()); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/StatisticsResourceClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/StatisticsResourceClientTest.java index c28478b8..d437639e 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/StatisticsResourceClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/StatisticsResourceClientTest.java @@ -75,4 +75,5 @@ public void testGetContributorStatistics() { assertThat(statistics, Matchers.hasKey("pahuang")); } -} \ No newline at end of file +} + diff --git a/zanata-rest-client/src/test/java/org/zanata/rest/client/TransDocResourceClientTest.java b/zanata-rest-client/src/test/java/org/zanata/rest/client/TransDocResourceClientTest.java index ac43cbcc..91c31df3 100644 --- a/zanata-rest-client/src/test/java/org/zanata/rest/client/TransDocResourceClientTest.java +++ b/zanata-rest-client/src/test/java/org/zanata/rest/client/TransDocResourceClientTest.java @@ -56,4 +56,5 @@ public void testGetTranslations() { assertThat(translations.getTextFlowTargets(), Matchers.hasSize(1)); } -} \ No newline at end of file +} +