Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
index 8164035..c0db07b 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
@@ -102,6 +102,7 @@ import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
@Singleton
@Path(JaxrsResource.ADMIN_PATH)
@@ -149,8 +150,8 @@ public class AdminResource extends JaxRsResourceBase {
@GET
@Path("/queues")
- @Produces(APPLICATION_JSON)
- @ApiOperation(value = "Get queues entries", response = Response.class, hidden=true)
+ @Produces(APPLICATION_OCTET_STREAM)
+ @ApiOperation(value = "Get queues entries", response = Response.class)
@ApiResponses(value = {})
public Response getQueueEntries(@QueryParam("accountId") final UUID accountId,
@QueryParam("queueName") final String queueName,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/ExportResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/ExportResource.java
index aeccced..a9cb1f8 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/ExportResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/ExportResource.java
@@ -28,6 +28,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.killbill.billing.account.api.AccountUserApi;
@@ -48,6 +49,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
+import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
@Singleton
@@ -74,8 +76,8 @@ public class ExportResource extends JaxRsResourceBase {
@TimedResource
@GET
@Path("/{accountId:" + UUID_PATTERN + "}")
- @Produces(TEXT_PLAIN)
- @ApiOperation(value = "Export account data", response = String.class)
+ @Produces(APPLICATION_OCTET_STREAM)
+ @ApiOperation(value = "Export account data", response = Response.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid account id supplied"),
@ApiResponse(code = 404, message = "Account not found")})
public StreamingOutput exportDataForAccount(@PathParam("accountId") final UUID accountId,
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java
new file mode 100644
index 0000000..72e1f04
--- /dev/null
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestExportAccount.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2014-2018 Groupon, Inc
+ * Copyright 2014-2018 The Billing Project, LLC
+ *
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
+ * (the "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.killbill.billing.jaxrs;
+
+import java.io.OutputStream;
+
+import org.killbill.billing.client.model.gen.Account;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+public class TestExportAccount extends TestJaxrsBase {
+
+ @BeforeMethod(groups = "slow")
+ public void beforeMethod() throws Exception {
+ super.beforeMethod();
+ }
+
+ @Test(groups = "slow")
+ public void testExportAccount() throws Exception {
+
+ final Account emptyAccount = new Account();
+ final Account account = accountApi.createAccount(emptyAccount, requestOptions);
+ final OutputStream outputStream = System.out;
+ final int statusCode = exportApi.exportDataForAccount(account.getAccountId(), outputStream, requestOptions);
+ outputStream.flush();
+ Assert.assertEquals(statusCode, 200);
+ }
+
+}