Ejemplo n.º 1
0
  @Test
  public void test_1_UpdateItem_2_WithFile_Fetched() throws ImejiException, IOException {

    initCollection();
    initItem();
    final String fileURL = target().getUri() + STATIC_CONTEXT_PATH.substring(1) + "/test2.jpg";

    FormDataMultiPart multiPart = new FormDataMultiPart();
    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replace("___FILE_NAME___", UPDATED_FILE_NAME)
            .replace("___FETCH_URL___", fileURL)
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___REFERENCE_URL___", ""));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(OK.getStatusCode(), response.getStatus());
    DefaultItemTO itemWithFileTO = response.readEntity(DefaultItemTO.class);
    assertThat(
        "Checksum of stored file deos not match the source file",
        itemWithFileTO.getChecksumMd5(),
        equalTo(calculateChecksum(ATTACHED_FILE)));
    // LOGGER.info(RestProcessUtils.buildJSONFromObject(itemWithFileTO));
  }
Ejemplo n.º 2
0
  public String uploadImage(Part file) throws IOException {
    String imageURL = null;
    final Client client = ClientBuilder.newBuilder().register(MultiPartFeature.class).build();
    final StreamDataBodyPart stream = new StreamDataBodyPart("file", file.getInputStream());
    FormDataMultiPart formDataMultiPart = new FormDataMultiPart();
    final MultiPart multiPart =
        formDataMultiPart.field("fileName", file.getSubmittedFileName()).bodyPart(stream);
    if (multiPart instanceof FormDataMultiPart) {
      final FormDataMultiPart dataMultiPart = (FormDataMultiPart) multiPart;
      final WebTarget target = client.target(configuration.getFileUploadServiceEP());
      LOGGER.info("Connecting to file service on " + configuration.getFileUploadServiceEP());
      final Response response =
          target
              .request()
              .header(LoginBean.X_JWT_ASSERTION, getJWTToken())
              .post(Entity.entity(dataMultiPart, dataMultiPart.getMediaType()));
      LOGGER.info("Returned from file service " + configuration.getFileUploadServiceEP());
      if (Response.Status.OK.getStatusCode() == response.getStatus()) {
        imageURL = response.readEntity(String.class);
      } else {
        LOGGER.log(
            Level.SEVERE,
            "TXN service return code is  "
                + response.getStatus()
                + " , "
                + "hence can't proceed with the response");
      }
      formDataMultiPart.close();
      dataMultiPart.close();
      return imageURL;
    }

    return imageURL;
  }
Ejemplo n.º 3
0
  @Test
  public void test_1_UpdateItem_1_WithFile_Attached() throws IOException {
    FileDataBodyPart filePart = new FileDataBodyPart("file", ATTACHED_FILE);
    FormDataMultiPart multiPart = new FormDataMultiPart();
    multiPart.bodyPart(filePart);
    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replace("___FILE_NAME___", ATTACHED_FILE.getName())
            .replace("___FETCH_URL___", "")
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___REFERENCE_URL___", ""));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(OK.getStatusCode(), response.getStatus());
    DefaultItemTO itemWithFileTO = response.readEntity(DefaultItemTO.class);
    assertThat("Wrong file name", itemWithFileTO.getFilename(), equalTo(ATTACHED_FILE.getName()));
    storedFileURL = target().getUri() + itemWithFileTO.getFileUrl().getPath().substring(1);
    assertEquals(ATTACHED_FILE.length(), itemWithFileTO.getFileSize());
    // LOGGER.info(RestProcessUtils.buildJSONFromObject(itemWithFileTO));
  }
Ejemplo n.º 4
0
  @Test
  public void test_2_UpdateItem_1_TypeDetection_JPG() throws IOException {

    FileDataBodyPart filePart = new FileDataBodyPart("file", ATTACHED_FILE);
    FormDataMultiPart multiPart = new FormDataMultiPart();
    multiPart.bodyPart(filePart);
    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replace("___FILE_NAME___", ATTACHED_FILE.getName())
            .replace("___FETCH_URL___", "")
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___REFERENCE_URL___", ""));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(OK.getStatusCode(), response.getStatus());
    DefaultItemTO itemWithFileTO = response.readEntity(DefaultItemTO.class);
    assertThat("Wrong file name", itemWithFileTO.getFilename(), equalTo(ATTACHED_FILE.getName()));
  }
Ejemplo n.º 5
0
  @Test
  public void test_1_UpdateItem_7_WithFile_Attached_Fetched_Referenced()
      throws IOException, ImejiException {
    initCollection();
    initItem();

    File newFile = new File(STATIC_CONTEXT_STORAGE + "/test1.jpg");
    FileDataBodyPart filePart = new FileDataBodyPart("file", newFile);

    final String fileURL = target().getUri() + STATIC_CONTEXT_PATH.substring(1) + "/test1.jpg";

    FormDataMultiPart multiPart = new FormDataMultiPart();
    multiPart.bodyPart(filePart);
    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___FILE_NAME___", newFile.getName())
            .replace("___FETCH_URL___", fileURL)
            .replace("___REFERENCE_URL___", storedFileURL));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(OK.getStatusCode(), response.getStatus());
    DefaultItemTO itemWithFileTO = response.readEntity(DefaultItemTO.class);
    assertThat(
        "Checksum of stored file does not match the source file",
        itemWithFileTO.getChecksumMd5(),
        equalTo(calculateChecksum(newFile)));
    assertThat(itemWithFileTO.getFileUrl().toString(), not(equalTo(fileURL)));
    assertThat(itemWithFileTO.getFileUrl().toString(), not(equalTo(storedFileURL)));
    assertThat(
        itemWithFileTO.getThumbnailUrl().toString(),
        not(containsString(ItemController.NO_THUMBNAIL_URL)));
    assertThat(
        itemWithFileTO.getWebResolutionUrlUrl().toString(),
        not(containsString(ItemController.NO_THUMBNAIL_URL)));
  }
Ejemplo n.º 6
0
  @Test
  public void test_1_UpdateItem_9_FetchURL_NoFile() throws IOException {

    FormDataMultiPart multiPart = new FormDataMultiPart();

    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___FETCH_URL___", "www.google.de"));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(HttpStatus.SC_UNPROCESSABLE_ENTITY, response.getStatus());
  }
Ejemplo n.º 7
0
  @Test
  public void test_1_UpdateItem_3_WithFile_Referenced() throws IOException {

    FormDataMultiPart multiPart = new FormDataMultiPart();
    multiPart.field(
        "json",
        getStringFromPath(UPDATE_ITEM_FILE_JSON)
            .replace("___FILE_NAME___", UPDATED_FILE_NAME)
            .replace("___FETCH_URL___", "")
            .replaceAll("\"id\"\\s*:\\s*\"__ITEM_ID__\",", "")
            .replace("___REFERENCE_URL___", storedFileURL));

    Response response =
        target(PATH_PREFIX)
            .path("/" + itemId)
            .register(authAsUser)
            .register(MultiPartFeature.class)
            .register(JacksonFeature.class)
            .request(MediaType.APPLICATION_JSON_TYPE)
            .put(Entity.entity(multiPart, multiPart.getMediaType()));

    assertEquals(OK.getStatusCode(), response.getStatus());
    DefaultItemTO itemWithFileTO = response.readEntity(DefaultItemTO.class);
    assertThat(
        "Reference URL does not match",
        storedFileURL,
        equalTo(itemWithFileTO.getFileUrl().toString()));
    assertThat(
        "Should be link to NO_THUMBNAIL image:",
        itemWithFileTO.getWebResolutionUrlUrl().toString(),
        endsWith(ItemController.NO_THUMBNAIL_URL));
    assertThat(
        "Should be link to NO_THUMBNAIL image:",
        itemWithFileTO.getThumbnailUrl().toString(),
        endsWith(ItemController.NO_THUMBNAIL_URL));
  }