Java 类org.apache.http.HttpHeaders 实例源码

项目:personium-core    文件:MoveFileTest.java   
/**
 * MOVEで移動元がユーザスキーマで上位リソースであるコレクションが存在しない場合に404エラーとなること.
 */
@Test
public final void MOVEで移動元がユーザスキーマで上位リソースであるコレクションが存在しない場合に404エラーとなること() {
    final String destination = UrlUtils.box(CELL_NAME, BOX_NAME, FILE_NAME);
    try {
        // Fileの移動
        String url = UrlUtils.entityType(CELL_NAME, BOX_NAME, "dummyCollection", "entity");
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destination);

        // リクエスト実行
        PersoniumResponse response = AbstractCase.request(req);
        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_NOT_FOUND);

    } finally {
        DavResourceUtils.deleteWebDavFile(CELL_NAME, TOKEN, BOX_NAME, FILE_NAME);
    }
}
项目:personium-core    文件:UpdateTest.java   
/**
 * Cellの更新のNameが__の場合に400が返却されること.
 */
@SuppressWarnings("unchecked")
@Test
public final void Cellの更新のNameが__の場合に400が返却されること() {

    // Cellを更新
    // リクエストヘッダをセット
    HashMap<String, String> headers = new HashMap<String, String>();
    headers.put(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    headers.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
    headers.put(HttpHeaders.IF_MATCH, "*");

    // リクエストボディを生成
    JSONObject requestBody = new JSONObject();
    requestBody.put("Name", "__");

    res = updateCell(headers, requestBody);

    // Cell更新のレスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, res.getStatusCode());
    assertEquals(MediaType.APPLICATION_JSON, res.getResponseHeaders(HttpHeaders.CONTENT_TYPE)[0].getValue());
    this.checkErrorResponse(res.bodyAsJson(), "PR400-OD-0006");
}
项目:javaee8-jaxrs-sample    文件:PostResourceIT.java   
@Before
public void setup() throws MalformedURLException {
    client = ClientBuilder.newClient();
    client.register(PostNotFoundExceptionMapper.class);
    client.register(CommentNotFoundExceptionMapper.class);

    final WebTarget targetAuth = client.target(URI.create(new URL(base, "api/auth/login").toExternalForm()));
    final Response resAuthGetAll = targetAuth.request()
        .accept(MediaType.APPLICATION_JSON)
        .post(form(new Form("username", "user").param("password", "password")));

    assertEquals(200, resAuthGetAll.getStatus());

    String token = resAuthGetAll.getHeaderString(HttpHeaders.AUTHORIZATION);

    client.register(new JwtTokenAuthentication(token.substring(Constants.AUTHORIZATION_PREFIX.length())));
}
项目:personium-core    文件:BoxCrudTest.java   
/**
 * BOX新規登録時にNameを1文字指定して場合_201になることを確認.
 */
@Test
public void BOX新規登録時にNameを1文字指定して場合_201になることを確認() {
    PersoniumRequest req = PersoniumRequest.post(UrlUtils.cellCtl(CELL_NAME, ENTITY_TYPE_BOX));
    String boxName = "1";
    String[] key = {"Name", "Schema" };
    String[] value = {boxName, TEST_BOX_SCHEMA };
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN).addJsonBody(key, value);
    try {
        PersoniumResponse res = request(req);

        // 201になることを確認
        assertEquals(HttpStatus.SC_CREATED, res.getStatusCode());
    } finally {
        deleteBoxRequest(boxName).returns();
    }
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * relation_jsonの必須項目がない場合に異常終了すること.
 */
@Test
public final void relation_jsonの必須項目がない場合に異常終了すること() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + BAR_FILE_RELATION_NONAME);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

    res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);

    res.statusCode(HttpStatus.SC_ACCEPTED);
    String location = res.getHeader(HttpHeaders.LOCATION);
    String expected = UrlUtils.cellRoot(reqCell) + reqPath;
    assertEquals(expected, location);

    BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
}
项目:personium-core    文件:AbstractCase.java   
/**
 * URLを指定してPUTを行う汎用メンバ.
 * @param url リクエスト先のURL
 * @param data リクエストデータ
 * @return レスポンスオブジェクト
 */
public final PersoniumResponse restPut(final String url, final String data) {
    PersoniumRestAdapter rest = new PersoniumRestAdapter();
    PersoniumResponse res = null;

    // リクエストヘッダをセット
    HashMap<String, String> requestheaders = new HashMap<String, String>();
    requestheaders.put(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);

    try {
        // リクエスト
        res = rest.put(url, requestheaders, new ByteArrayInputStream(data.getBytes()));
    } catch (Exception e) {
        fail(e.getMessage());
    }
    return res;
}
项目:personium-core    文件:ComplexTypePropertyValidateDefaultValueTest.java   
/**
 * ComplexTypePropertyTypeのEdmDoubleでDefaultValueが負のDouble最大値を下回る場合_BadRequestが返却されること.
 */
@Test
public final void ComplexTypePropertyTypeのEdmDoubleでDefaultValueが負のDouble最大値を下回る場合_BadRequestが返却されること() {
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(ComplexTypePropertyUtils.CTP_REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(ComplexTypePropertyUtils.CT_PROPERTY_NAME_KEY, CT_PROPERTY_NAME);
    req.addJsonBody(ComplexTypePropertyUtils.CT_PROPERTY_COMPLEXTYPE_NAME_KEY, COMPLEX_TYPE_NAME);
    req.addJsonBody(ComplexTypePropertyUtils.CT_PROPERTY_TYPE_KEY,
            EdmSimpleType.DOUBLE.getFullyQualifiedTypeName());
    req.addJsonBody(ComplexTypePropertyUtils.CT_PROPERTY_DEFAULT_VALUE_KEY, -2.229e-308);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(
            response.bodyAsJson(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.getCode(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.params(
                    ComplexTypePropertyUtils.CT_PROPERTY_DEFAULT_VALUE_KEY)
                    .getMessage());
}
项目:personium-core    文件:PropertyCreateValidateTest.java   
/**
 * PropertyのTypeが不正な値の場合_BadRequestが返却されること.
 */
@Test
public final void PropertyのTypeが不正な値の場合_BadRequestが返却されること() {
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(PropertyUtils.REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(PropertyUtils.PROPERTY_NAME_KEY, propName);
    req.addJsonBody(PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY, PROPERTY_ENTITYTYPE_NAME);
    req.addJsonBody(PropertyUtils.PROPERTY_TYPE_KEY, "Edm.Datetime");
    req.addJsonBody(PropertyUtils.PROPERTY_NULLABLE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_COLLECTION_KIND_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_IS_KEY_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_UNIQUE_KEY_KEY, null);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(response.bodyAsJson(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.getCode(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.params(
                    PropertyUtils.PROPERTY_TYPE_KEY).getMessage());
}
项目:personium-core    文件:MoveFileTest.java   
/**
 * FileのMOVEでDestinationヘッダの値がリクエストURLと同じ場合に403エラーとなること.
 */
@Test
public final void FileのMOVEでDestinationヘッダの値がリクエストURLと同じ場合に403エラーとなること() {
    final String destination = UrlUtils.box(CELL_NAME, BOX_NAME, FILE_NAME);
    try {
        // 事前準備
        DavResourceUtils.createWebDavFile(TOKEN, CELL_NAME,
                BOX_NAME + "/" + FILE_NAME, FILE_BODY, MediaType.TEXT_PLAIN, HttpStatus.SC_CREATED);

        // Fileの移動
        String url = UrlUtils.box(CELL_NAME, BOX_NAME, FILE_NAME);
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destination);

        // リクエスト実行
        PersoniumResponse response = AbstractCase.request(req);
        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_FORBIDDEN);
        PersoniumCoreException expectedException =
                PersoniumCoreException.Dav.DESTINATION_EQUALS_SOURCE_URL.params(destination);
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());

    } finally {
        DavResourceUtils.deleteWebDavFile(CELL_NAME, TOKEN, BOX_NAME, FILE_NAME);
    }
}
项目:personium-core    文件:MoveFileTest.java   
/**
 * FileのMOVEでDestinationヘッダに存在するCellのURLを指定した場合に400エラーとなること.
 */
@Test
public final void FileのMOVEでDestinationヘッダに存在するCellのURLを指定した場合に400エラーとなること() {
    final String destination = UrlUtils.cellRoot(CELL_NAME);
    try {
        // 事前準備
        DavResourceUtils.createWebDavFile(TOKEN, CELL_NAME,
                BOX_NAME + "/" + FILE_NAME, FILE_BODY, MediaType.TEXT_PLAIN, HttpStatus.SC_CREATED);

        // Fileの移動
        String url = UrlUtils.box(CELL_NAME, BOX_NAME, FILE_NAME);
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destination);

        // リクエスト実行
        PersoniumResponse response = AbstractCase.request(req);
        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_BAD_REQUEST);
        PersoniumCoreException expectedException = PersoniumCoreException.Dav.INVALID_REQUEST_HEADER.params(
                HttpHeaders.DESTINATION, destination);
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());

    } finally {
        DavResourceUtils.deleteWebDavFile(CELL_NAME, TOKEN, BOX_NAME, FILE_NAME);
    }
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * barファイルの00_metadata配下のファイルの並び順が誤っている場合に異常終了すること.
 */
@Test
public final void barファイルの00_metadata配下のファイルの並び順が誤っている場合に異常終了すること() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + BAR_FILE_00META_ORDER);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

    res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);

    res.statusCode(HttpStatus.SC_ACCEPTED);
    String location = res.getHeader(HttpHeaders.LOCATION);
    String expected = UrlUtils.cellRoot(reqCell) + reqPath;
    assertEquals(expected, location);

    BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * relation_jsonのFIELDNAME定義が不正な場合に異常終了すること.
 */
@Test
public final void relation_jsonのFIELDNAME定義が不正な場合に異常終了すること() {
    // JSONファイルのバリデートエラー
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + BAR_FILE_RELATION_NOFIELDNAME);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

    res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);

    res.statusCode(HttpStatus.SC_ACCEPTED);
    String location = res.getHeader(HttpHeaders.LOCATION);
    String expected = UrlUtils.cellRoot(reqCell) + reqPath;
    assertEquals(expected, location);

    BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
}
项目:lambda-forest    文件:AbstractRequestHandlerTest.java   
private HttpRequest buildHttpRequest(UserRequestTest userRequest) throws JsonProcessingException {
    String json = new ObjectMapper().writeValueAsString(userRequest);

    Map<String, String> headers = new HashMap<>();      
    headers.put(HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType());
    headers.put(HttpHeaders.ACCEPT, ContentType.APPLICATION_JSON.getMimeType());

    HttpRequest request = new HttpRequest();
    request.setHeaders(headers);
    request.setHttpMethod("POST");
    request.setResource("users");
    request.setPath("/users");
    request.setBody(json);

    return request;
}
项目:personium-core    文件:MoveFileTest.java   
/**
 * FileのMOVEで移動先が存在するODataコレクション配下のファイルの場合400エラーとなること.
 */
@Test
public final void FileのMOVEで移動先が存在するODataコレクション配下のファイルの場合400エラーとなること() {
    final String destination = UrlUtils.box(CELL_NAME, BOX_NAME, Setup.TEST_ODATA) + "/" + FILE_NAME;
    try {
        // 事前準備
        DavResourceUtils.createWebDavFile(TOKEN, CELL_NAME,
                BOX_NAME + "/" + FILE_NAME, FILE_BODY, MediaType.TEXT_PLAIN, HttpStatus.SC_CREATED);

        // Fileの移動
        String url = UrlUtils.box(CELL_NAME, BOX_NAME, FILE_NAME);
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destination);
        req.header(HttpHeaders.OVERWRITE, "T");

        // リクエスト実行
        PersoniumResponse response = AbstractCase.request(req);
        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_BAD_REQUEST);
        PersoniumCoreException expectedException =
                PersoniumCoreException.Dav.RESOURCE_PROHIBITED_TO_MOVE_ODATA_COLLECTION;
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());
    } finally {
        DavResourceUtils.deleteWebDavFile(CELL_NAME, TOKEN, BOX_NAME, FILE_NAME);
    }
}
项目:personium-core    文件:MoveCollectionTest.java   
/**
 * WebDAVコレクションのMOVEでDestinationヘッダの値がリクエストURLと同じ場合に403エラーとなること.
 */
@Test
public final void WebDAVコレクションのMOVEでDestinationヘッダの値がリクエストURLと同じ場合に403エラーとなること() {
    final String srcCol = "srcCol";
    final String destCol = srcCol;
    final String destUrl = UrlUtils.box(CELL_NAME, BOX_NAME, destCol);
    try {
        // 事前準備
        DavResourceUtils.createWebDavCollection(TOKEN, HttpStatus.SC_CREATED, CELL_NAME, BOX_NAME, srcCol);

        // 移動
        String url = UrlUtils.box(CELL_NAME, BOX_NAME, srcCol);
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destUrl);
        PersoniumResponse response = AbstractCase.request(req);

        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_FORBIDDEN);
        PersoniumCoreException expectedException =
                PersoniumCoreException.Dav.DESTINATION_EQUALS_SOURCE_URL.params(destUrl);
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());

    } finally {
        DavResourceUtils.deleteCollection(CELL_NAME, BOX_NAME, srcCol, TOKEN, -1);
    }
}
项目:personium-core    文件:PropertyUtils.java   
/**
 * Propertyを登録する.
 * @param token トークン
 * @param cell セル名
 * @param box ボックス名
 * @param collection コレクション名
 * @param entityTypeName EntityType名
 * @param propertyName Property名
 * @param type PropertyのType項目
 * @param nullable PropertyのNullable項目
 * @param defaultValue PropertyのDefaultValue項目
 * @param collectionKind PropertyのcollectionKind項目
 * @param isKey PropertyのisKey項目
 * @param uniqueKey PropertyのUniqueKey項目
 * @param code 期待するレスポンスコード
 * @return レスポンス
 */
public static PersoniumResponse create(
        String token, String cell, String box, String collection,
        String entityTypeName, String propertyName,
        String type, boolean nullable, Object defaultValue, String collectionKind,
        boolean isKey, String uniqueKey, int code) {

    String url = UrlUtils.property(cell, box, collection, null, null);
    PersoniumRequest req = PersoniumRequest.post(url);
    req.header(HttpHeaders.AUTHORIZATION, token);
    req.addJsonBody(PROPERTY_NAME_KEY, propertyName);
    req.addJsonBody(PROPERTY_ENTITYTYPE_NAME_KEY, entityTypeName);
    req.addJsonBody(PROPERTY_TYPE_KEY, type);
    req.addJsonBody(PROPERTY_NULLABLE_KEY, nullable);
    req.addJsonBody(PROPERTY_DEFAULT_VALUE_KEY, defaultValue);
    req.addJsonBody(PROPERTY_COLLECTION_KIND_KEY, collectionKind);
    req.addJsonBody(PROPERTY_IS_KEY_KEY, isKey);
    req.addJsonBody(PROPERTY_UNIQUE_KEY_KEY, uniqueKey);

    // リクエスト実行
    PersoniumResponse response = AbstractCase.request(req);
    if (code != -1) {
        assertEquals(code, response.getStatusCode());
    }
    return response;
}
项目:aws-sdk-java-v2    文件:ApacheHttpRequestFactory.java   
/**
 * Configures the headers in the specified Apache HTTP request.
 */
private void addHeadersToRequest(HttpRequestBase httpRequest, SdkHttpFullRequest request) {

    httpRequest.addHeader(HttpHeaders.HOST, getHostHeaderValue(request));


    // Copy over any other headers already in our request
    request.headers().entrySet().stream()
           /*
            * HttpClient4 fills in the Content-Length header and complains if
            * it's already present, so we skip it here. We also skip the Host
            * header to avoid sending it twice, which will interfere with some
            * signing schemes.
            */
           .filter(e -> !IGNORE_HEADERS.contains(e.getKey()))
           .forEach(e -> e.getValue().forEach(h -> httpRequest.addHeader(e.getKey(), h)));

    /* Set content type and encoding */
    if (httpRequest.getHeaders(HttpHeaders.CONTENT_TYPE) == null ||
        httpRequest.getHeaders(HttpHeaders.CONTENT_TYPE).length == 0) {
        httpRequest.addHeader(HttpHeaders.CONTENT_TYPE,
                              "application/x-www-form-urlencoded; " +
                              "charset=" + lowerCase(DEFAULT_ENCODING));
    }
}
项目:personium-core    文件:PropertyCreateValidateTest.java   
/**
 * PropertyのNullableが不正な値の場合_BadRequestが返却されること.
 */
@Test
public final void PropertyのNullableが不正な値の場合_BadRequestが返却されること() {
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(PropertyUtils.REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(PropertyUtils.PROPERTY_NAME_KEY, propName);
    req.addJsonBody(PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY, PROPERTY_ENTITYTYPE_NAME);
    req.addJsonBody(PropertyUtils.PROPERTY_TYPE_KEY, "Edm.Datetime");
    req.addJsonBody(PropertyUtils.PROPERTY_NULLABLE_KEY, "test");
    req.addJsonBody(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_COLLECTION_KIND_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_IS_KEY_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_UNIQUE_KEY_KEY, null);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(response.bodyAsJson(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.getCode(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.params(PropertyUtils.PROPERTY_NULLABLE_KEY)
                    .getMessage());
}
项目:personium-core    文件:ComplexTypePropertyListTest.java   
/**
 * ComplexTypePropertyが存在しないとき_一覧取得で0件になること.
 */
@Test
public final void ComplexTypePropertyが存在しないとき_一覧取得で0件になること() {
    String ctplocationUrl = UrlUtils.complexTypeProperty(Setup.TEST_CELL1, Setup.TEST_BOX1, Setup.TEST_ODATA, null,
            null);

    // ComplexTypeProperty取得
    PersoniumRequest req = PersoniumRequest.get(ctplocationUrl);
    req.header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    PersoniumResponse resGet = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_OK, resGet.getStatusCode());
    checkResponseBodyList(resGet.bodyAsJson(), null, ComplexTypePropertyUtils.NAMESPACE, null);
}
项目:personium-core    文件:PropertyCreateValidateTest.java   
/**
 * Propertyの_EntityTypeNameが空文字の場合_BadRequestが返却されること.
 */
@Test
public final void Propertyの_EntityTypeNameが空文字の場合_BadRequestが返却されること() {
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(PropertyUtils.REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(PropertyUtils.PROPERTY_NAME_KEY, propName);
    req.addJsonBody(PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY, "");
    req.addJsonBody(PropertyUtils.PROPERTY_TYPE_KEY, EdmSimpleType.STRING.getFullyQualifiedTypeName());
    req.addJsonBody(PropertyUtils.PROPERTY_NULLABLE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_COLLECTION_KIND_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_IS_KEY_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_UNIQUE_KEY_KEY, null);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(response.bodyAsJson(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.getCode(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.params(
                    PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY).getMessage());
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * rootprops_xmlで定義済みのODataCol用contentsがない場合に異常終了する.
 */
@Test
public final void rootprops_xmlで定義済みのODataCol用contentsがない場合に異常終了する() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    try {
        TResponse res = null;
        File barFile = new File(RESOURCE_PATH + BAR_FILE_ODATA_SPEC_NOTEXIST);
        byte[] body = BarInstallTestUtils.readBarFile(barFile);
        Map<String, String> headers = new LinkedHashMap<String, String>();
        headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
        headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

        res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);
        res.statusCode(HttpStatus.SC_ACCEPTED);
        String location = res.getHeader(HttpHeaders.LOCATION);
        String expected = UrlUtils.cellRoot(reqCell) + reqPath;
        assertEquals(expected, location);

        BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
    } finally {
        BarInstallTestUtils.deleteCollection("odatacol1");
    }
}
项目:personium-core    文件:PropertyCreateValidateTest.java   
/**
 * Propertyの_EntityTypeNameが存在しないEntityTypeの場合_BadRequestが返却されること.
 */
@Test
public final void Propertyの_EntityTypeNameが存在しないEntityTypeの場合_BadRequestが返却されること() {
    String entityTypeName = "xxx";

    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(PropertyUtils.REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(PropertyUtils.PROPERTY_NAME_KEY, propName);
    req.addJsonBody(PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY, entityTypeName);
    req.addJsonBody(PropertyUtils.PROPERTY_TYPE_KEY, EdmSimpleType.STRING.getFullyQualifiedTypeName());
    req.addJsonBody(PropertyUtils.PROPERTY_NULLABLE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_COLLECTION_KIND_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_IS_KEY_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_UNIQUE_KEY_KEY, null);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(response.bodyAsJson(),
            PersoniumCoreException.OData.BODY_NTKP_NOT_FOUND_ERROR.getCode(),
            PersoniumCoreException.OData.BODY_NTKP_NOT_FOUND_ERROR.params(entityTypeName).getMessage());
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * rootprops_xmlで未定義のODataCol用contentsがある場合に異常終了する.
 */
@Test
public final void rootprops_xmlで未定義のODataCol用contentsがある場合に異常終了する() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    try {
        TResponse res = null;
        File barFile = new File(RESOURCE_PATH + BAR_FILE_ODATA_CONT_NOTEXIST);
        byte[] body = BarInstallTestUtils.readBarFile(barFile);
        Map<String, String> headers = new LinkedHashMap<String, String>();
        headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
        headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

        res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);
        res.statusCode(HttpStatus.SC_ACCEPTED);
        String location = res.getHeader(HttpHeaders.LOCATION);
        String expected = UrlUtils.cellRoot(reqCell) + reqPath;
        assertEquals(expected, location);

        BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
    } finally {
        BarInstallTestUtils.deleteCollection("odatacol1");
    }
}
项目:personium-core    文件:MoveCollectionTest.java   
/**
 * WebDAVコレクションのMOVEで存在するBoxを指定した場合に400エラーとなること.
 */
@Test
public final void WebDAVコレクションのMOVEで存在するBoxを指定した場合に400エラーとなること() {
    final String srcColName = "davColforMOVE";
    final String destUrl = UrlUtils.box(CELL_NAME, BOX_NAME);
    try {
        // 事前準備
        DavResourceUtils.createWebDavCollection(TOKEN, HttpStatus.SC_CREATED, CELL_NAME, BOX_NAME, srcColName);

        // 移動
        TResponse response = DavResourceUtils.moveWebDav(TOKEN, CELL_NAME, BOX_NAME + "/" + srcColName, destUrl,
                HttpStatus.SC_BAD_REQUEST);
        PersoniumCoreException expectedException = PersoniumCoreException.Dav.INVALID_REQUEST_HEADER.params(
                HttpHeaders.DESTINATION, destUrl);
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());
    } finally {
        DavResourceUtils.deleteCollection(CELL_NAME, BOX_NAME, srcColName, TOKEN, -1);
    }
}
项目:personium-core    文件:AbstractCase.java   
/**
 * Cell作成.
 * @param cellName Cell名
 * @return Cell作成時のレスポンスオブジェクト
 */
@SuppressWarnings("unchecked")
public final PersoniumResponse createCell(final String cellName) {
    PersoniumRestAdapter rest = new PersoniumRestAdapter();
    PersoniumResponse res = null;

    // リクエストヘッダをセット
    HashMap<String, String> requestheaders = new HashMap<String, String>();
    requestheaders.put(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);

    // リクエストボディを生成
    JSONObject requestBody = new JSONObject();
    requestBody.put("Name", cellName);
    String data = requestBody.toJSONString();

    // リクエスト
    try {
        res = rest.post(UrlUtils.unitCtl(Cell.EDM_TYPE_NAME), data, requestheaders);
    } catch (Exception e) {
        fail(e.getMessage());
    }
    return res;
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * Relation情報が重複しているbarファイルをインストールできないこと.
 */
@Test
public final void Relation情報が重複しているbarファイルをインストールできないこと() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + BAR_FILE_RELATION_CONFLICT);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

    res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);
    res.statusCode(HttpStatus.SC_ACCEPTED);
    String location = res.getHeader(HttpHeaders.LOCATION);
    String expected = UrlUtils.cellRoot(reqCell) + reqPath;
    assertEquals(expected, location);

    BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
}
项目:personium-core    文件:CellUtils.java   
/**
 * __event/{boxName}のPOSTを行うユーティリティ.
 * @param authorization Authorizationヘッダの値(auth-shemaを含む文字列)
 * @param cellName セル名
 * @param boxName ボックス名
 * @param level ログ出力レベル
 * @param action イベントのアクション
 * @param object イベントの対象オブジェクト
 * @param result イベントの結果
 * @return レスポンス
 * @throws PersoniumException リクエスト失敗
 */
@SuppressWarnings("unchecked")
public static PersoniumResponse eventUnderBox(String authorization,
        String cellName,
        String boxName,
        String level,
        String action,
        String object,
        String result) throws PersoniumException {
    JSONObject body = new JSONObject();
    body.put("level", level);
    body.put("action", action);
    body.put("object", object);
    body.put("result", result);

    PersoniumRestAdapter adaper = new PersoniumRestAdapter();
    HashMap<String, String> header = new HashMap<String, String>();
    header.put(HttpHeaders.AUTHORIZATION, authorization);
    return adaper.post(UrlUtils.cellRoot(cellName) + "__event/" + boxName,
            body.toJSONString(), header);
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * 不正な名前のRole情報をもつbarファイルをインストールできないこと.
 */
@Test
public final void 不正な名前のRole情報をもつbarファイルをインストールできないこと() {
    String reqCell = Setup.TEST_CELL1;
    String reqPath = INSTALL_TARGET;

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + BAR_FILE_NGROLE);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));

    res = BarInstallTestUtils.request(REQUEST_NORM_FILE, reqCell, reqPath, headers, body);
    res.statusCode(HttpStatus.SC_ACCEPTED);
    String location = res.getHeader(HttpHeaders.LOCATION);
    String expected = UrlUtils.cellRoot(reqCell) + reqPath;
    assertEquals(expected, location);

    BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.FAILED);
}
项目:personium-core    文件:ReadTest.java   
/**
 * Cell取得した場合にjsonフォーマットでレスポンスが返却されること. $format → なし Accept → application/json
 */
@Test
public final void acceptがjsonでCell取得した場合にjsonフォーマットでレスポンスが返却されること() {
    String url = getUrl(this.cellId);
    // $format なし
    // Acceptヘッダ application/json
    HashMap<String, String> headers = new HashMap<String, String>();
    headers.put(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    headers.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
    this.setHeaders(headers);

    PersoniumResponse res = this.restGet(url);

    assertEquals(HttpStatus.SC_OK, res.getStatusCode());
    this.checkHeaders(res);
    // Etagのチェック
    assertEquals(1, res.getResponseHeaders(HttpHeaders.ETAG).length);
    // レスポンスボディのパース
    this.checkCellResponse(res.bodyAsJson(), url);
}
项目:personium-core    文件:PropertyCreateValidateDefaultValueTest.java   
/**
 * PropertyのTypeがEdmDateTimeでDefaultValueがLong型を指定した場合_BadRequestが返却されること.
 */
@Test
public final void PropertyのTypeがEdmDateTimeでDefaultValueがLong型を指定した場合_BadRequestが返却されること() {
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(PropertyUtils.REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(PropertyUtils.PROPERTY_NAME_KEY, propName);
    req.addJsonBody(PropertyUtils.PROPERTY_ENTITYTYPE_NAME_KEY, PROPERTY_ENTITYTYPE_NAME);
    req.addJsonBody(PropertyUtils.PROPERTY_TYPE_KEY, EdmSimpleType.DATETIME.getFullyQualifiedTypeName());
    req.addJsonBody(PropertyUtils.PROPERTY_NULLABLE_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY, new Long("9223372036854775807"));
    req.addJsonBody(PropertyUtils.PROPERTY_COLLECTION_KIND_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_IS_KEY_KEY, null);
    req.addJsonBody(PropertyUtils.PROPERTY_UNIQUE_KEY_KEY, null);

    // リクエスト実行
    PersoniumResponse response = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusCode());
    checkErrorResponse(response.bodyAsJson(), PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.getCode(),
            PersoniumCoreException.OData.REQUEST_FIELD_FORMAT_ERROR.params(PropertyUtils.PROPERTY_DEFAULT_VALUE_KEY)
                    .getMessage());
}
项目:personium-core    文件:ComplexTypeListTest.java   
/**
 * ComplexTypeが存在しないとき_一覧取得で0件になること.
 */
@Test
public final void ComplexTypeが存在しないとき_一覧取得で0件になること() {
    String locationUrl = UrlUtils.complexType(Setup.TEST_CELL1, Setup.TEST_BOX1, Setup.TEST_ODATA, null);

    // ComplexType一覧取得
    PersoniumRequest req = PersoniumRequest.get(locationUrl);
    req.header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    PersoniumResponse resGet = request(req);

    // レスポンスチェック
    assertEquals(HttpStatus.SC_OK, resGet.getStatusCode());
    checkResponseBodyList(resGet.bodyAsJson(), null, NAMESPACE, null);

}
项目:personium-core    文件:ReadTest.java   
/**
 * 登録したCellをすぐに取得するテスト.
 */
@Test
public final void Cell登録直後にCellが参照できること() {
    // Cellを作成
    PersoniumResponse res;
    res = createCell("testSoonGetCell");
    assertEquals(HttpStatus.SC_CREATED, res.getStatusCode());
    // Cell作成のレスポンスチェック
    // LOCATIONヘッダを取得
    Header[] resHeaders = res.getResponseHeaders(HttpHeaders.LOCATION);
    // 作成したCellのIDを抽出
    String createdcellId = resHeaders[0].getValue().split("'")[1];
    // Cellを取得
    res = this.restGet(getUrl(createdcellId));
    // Cellを取得できることを確認
    assertEquals(HttpStatus.SC_OK, res.getStatusCode());
    // 作成したCellを削除
    res = restDelete(getUrl(createdcellId));
    // 削除された事を確認するため、取得を行い、404になる事を確認
    res = this.restGet(getUrl(createdcellId));
    assertEquals(HttpStatus.SC_NOT_FOUND, res.getStatusCode());
}
项目:personium-core    文件:UserDataGetTest.java   
/**
 * UserDataを$selectクエリに存在するプロパティ名と存在しないプロパティ名を指定して正しい値が返却されること.
 */
@Test
public final void UserDataを$selectクエリに存在するプロパティ名と存在しないプロパティ名を指定して正しい値が返却されること() {
    // リクエスト実行
    try {
        createUserData();

        // ユーザデータの取得
        TResponse response = getUserData(cellName, boxName, colName, entityTypeName,
                userDataId, AbstractCase.MASTER_TOKEN_NAME,
                "?\\$select=dynamicProperty,noneExistProperty",
                HttpStatus.SC_OK);

        // レスポンスヘッダからETAGを取得する
        String etag = response.getHeader(HttpHeaders.ETAG);

        // レスポンスボディーのチェック
        Map<String, Object> additional = new HashMap<String, Object>();
        additional.put("__id", userDataId);
        additional.put("dynamicProperty", "dynamicPropertyValue");

        String nameSpace = getNameSpace(entityTypeName);
        ODataCommon.checkResponseBody(response.bodyAsJson(), null, nameSpace, additional, null, etag);

    } finally {
        deleteUserData(userDataId);
    }
}
项目:Reer    文件:HttpClientHelper.java   
public CloseableHttpResponse performRequest(HttpRequestBase request, boolean revalidate) {
    String method = request.getMethod();
    if (revalidate) {
        request.addHeader(HttpHeaders.CACHE_CONTROL, "max-age=0");
    }
    CloseableHttpResponse response;
    try {
        response = executeGetOrHead(request);
    } catch (IOException e) {
        throw new HttpRequestException(String.format("Could not %s '%s'.", method, request.getURI()), e);
    }

    return response;
}
项目:camunda-task-dispatcher    文件:ExternalTaskRestServiceImpl.java   
private <T> void executeAbstractMethod(String url, T data) throws CamundaRestException {
    HttpPost post = new HttpPost(url);
    try {
        String requestJson = objectMapper.writeValueAsString(data);
        StringEntity entity = new StringEntity(requestJson);
        post.setEntity(entity);
        post.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
        executeAbstractMethod(post);
    } catch (Exception ex) {
        throw new CamundaRestException(ex);
    }
}
项目:personium-core    文件:MoveServiceSourceTest.java   
/**
 * ServiceSourceのMOVEで移動先が存在するWebDavコレクションに対して上書き禁止モードで移動する場合412エラーとなること.
 */
@Test
public final void ServiceSourceのMOVEで移動先が存在するWebDavコレクションに対して上書き禁止モードで移動する場合412エラーとなること() {
    final String svcColName = "serviceColforMOVE";
    final String davColName = "davColforMOVE";
    final String destination = UrlUtils.box(CELL_NAME, BOX_NAME, davColName);
    try {
        // 事前準備
        DavResourceUtils.createServiceCollection(AbstractCase.BEARER_MASTER_TOKEN, HttpStatus.SC_CREATED,
                CELL_NAME, BOX_NAME, svcColName);
        DavResourceUtils.createWebDavFile(TOKEN, CELL_NAME,
                BOX_NAME + "/" + svcColName + "/__src/" + FILE_NAME, FILE_BODY, MediaType.TEXT_PLAIN,
                HttpStatus.SC_CREATED);
        DavResourceUtils.createWebDavCollection(TOKEN, HttpStatus.SC_CREATED,
                CELL_NAME, BOX_NAME, davColName);

        // Fileの移動
        String url = UrlUtils.box(CELL_NAME, BOX_NAME, svcColName + "/__src/" + FILE_NAME);
        PersoniumRequest req = PersoniumRequest.move(url);
        req.header(HttpHeaders.AUTHORIZATION, AbstractCase.BEARER_MASTER_TOKEN);
        req.header(HttpHeaders.DESTINATION, destination);
        req.header(HttpHeaders.OVERWRITE, "F");

        // リクエスト実行
        PersoniumResponse response = AbstractCase.request(req);
        assertThat(response.getStatusCode()).isEqualTo(HttpStatus.SC_PRECONDITION_FAILED);
        PersoniumCoreException expectedException = PersoniumCoreException.Dav.DESTINATION_ALREADY_EXISTS;
        ODataCommon.checkErrorResponseBody(response, expectedException.getCode(), expectedException.getMessage());
    } finally {
        DavResourceUtils.deleteWebDavFile(CELL_NAME, TOKEN, BOX_NAME, svcColName + "/__src/" + FILE_NAME);
        DavResourceUtils.deleteCollection(CELL_NAME, BOX_NAME, svcColName, TOKEN, -1);
        DavResourceUtils.deleteCollection(CELL_NAME, BOX_NAME, davColName, TOKEN, -1);
    }
}
项目:personium-core    文件:BoxUrlTest.java   
/**
 * BoxRead権限のあるユーザーでschema指定がある場合に302が返却されること.
 */
@Test
public final void BoxRead権限のあるユーザーでschema指定がある場合に302が返却されること() {
    try {
        String aclXml = String.format("<D:acl xmlns:D='DAV:' xml:base='%s/%s/__role/__/'>",
                UrlUtils.getBaseUrl(), Setup.TEST_CELL1)
                + "  <D:ace>"
                + "    <D:principal>"
                + "      <D:href>role1</D:href>"
                + "    </D:principal>"
                + "    <D:grant>"
                + "      <D:privilege><D:read/></D:privilege>"
                + "    </D:grant>"
                + "  </D:ace>"
                + "</D:acl>";
        beforeACLTest(aclXml);

        PersoniumRestAdapter rest = new PersoniumRestAdapter();
        PersoniumResponse res = null;

        HashMap<String, String> requestheaders = new HashMap<String, String>();
        String token = ResourceUtils.getMyCellLocalToken(Setup.TEST_CELL1, "account1", "password1");
        requestheaders.put(HttpHeaders.AUTHORIZATION, "Bearer " + token);

        res = rest.getAcceptEncodingGzip(
                UrlUtils.boxUrl(Setup.TEST_CELL1, UrlUtils.cellRoot("boxUrlTestSchema")),
                requestheaders);
        assertEquals(HttpStatus.SC_OK, res.getStatusCode());
        assertEquals(UrlUtils.boxRoot(Setup.TEST_CELL1, "boxUrlTest"), res.getFirstHeader(HttpHeaders.LOCATION));
    } catch (PersoniumException e) {
        fail(e.getMessage());
    } finally {
        afterACLTest();
    }
}
项目:personium-core    文件:ComplexTypePropertyGetTest.java   
/**
 * すべてのテスト毎に1度実行される処理.
 */
@Before
public void before() {
    // ComplexType作成
    // リクエストパラメータ設定
    PersoniumRequest req = PersoniumRequest.post(ComplexTypePropertyUtils.CT_REQUEST_URL);
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN);
    req.addJsonBody(COMPLEX_TYPE_NAME_KEY, COMPLEX_TYPE_NAME);
    // リクエスト実行
    request(req);
}
项目:personium-core    文件:BarInstallTest.java   
/**
 * 全てのOdata情報をもつbarファイルをMethodOverrideのMKCOL指定でもインストールが正常終了すること.
 */
@Test
public final void 全てのOdata情報をもつbarファイルをMethodOverrideのMKCOL指定でもインストールが正常終了すること() {
    final String barFilename = "/V1_3_12_bar_maximum.bar";
    final String reqCell = Setup.TEST_CELL1;
    final String reqPath = INSTALL_TARGET;
    final String user = "testuser";
    final String password = "password";
    final String testCell = "dummyCell00";
    final String odataColName = "odatacol1";

    TResponse res = null;
    File barFile = new File(RESOURCE_PATH + barFilename);
    byte[] body = BarInstallTestUtils.readBarFile(barFile);
    Map<String, String> headers = new LinkedHashMap<String, String>();
    headers.put(HttpHeaders.CONTENT_TYPE, REQ_CONTENT_TYPE);
    headers.put(HttpHeaders.CONTENT_LENGTH, String.valueOf(body.length));
    headers.put("X-HTTP-Method-Override", "MKCOL");

    try {
        AccountUtils.create(AbstractCase.MASTER_TOKEN_NAME, Setup.TEST_CELL1,
                user, password, HttpStatus.SC_CREATED);
        ExtCellUtils.create(AbstractCase.MASTER_TOKEN_NAME, Setup.TEST_CELL1,
                UrlUtils.cellRoot(testCell), HttpStatus.SC_CREATED);

        res = BarInstallTestUtils.request(REQUEST_METHOD_OVERRIDE_FILE, reqCell, reqPath, headers, body);
        res.statusCode(HttpStatus.SC_ACCEPTED);
        String location = res.getHeader(HttpHeaders.LOCATION);
        String expected = UrlUtils.cellRoot(reqCell) + reqPath;
        assertEquals(expected, location);

        BarInstallTestUtils.assertBarInstallStatus(location, SCHEMA_URL, ProgressInfo.STATUS.COMPLETED);
        checkRegistData();
    } finally {
        deleteAllData(reqCell, reqPath, user, testCell, odataColName);
    }
}
项目:personium-core    文件:BoxCrudTest.java   
/**
 * BOX新規登録時にNameにアンダーバー始まり文字を指定して場合_400になることを確認.
 */
@Test
public void BOX新規登録時にNameにアンダーバー始まり文字を指定して場合_400になることを確認() {
    PersoniumRequest req = PersoniumRequest.post(UrlUtils.cellCtl(CELL_NAME, ENTITY_TYPE_BOX));
    String[] key = {"Name", "Schema" };
    String[] value = {"_xxx", TEST_BOX_SCHEMA };
    req.header(HttpHeaders.AUTHORIZATION, BEARER_MASTER_TOKEN).addJsonBody(key, value);
    PersoniumResponse res = request(req);

    // 400になることを確認
    assertEquals(HttpStatus.SC_BAD_REQUEST, res.getStatusCode());
}