Java tutorial
/* FailProximityProfileTestCase.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.profile.restful.test; import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; import org.apache.http.client.methods.HttpUriRequest; import org.deviceconnect.message.DConnectMessage; import org.deviceconnect.message.DConnectMessage.ErrorCode; import org.deviceconnect.profile.DConnectProfileConstants; import org.deviceconnect.profile.ProximityProfileConstants; import org.deviceconnect.utils.URIBuilder; import org.json.JSONException; import org.json.JSONObject; /** * Promixity?. * @author NTT DOCOMO, INC. */ public class FailProximityProfileTestCase extends RESTfulDConnectTestCase { /** * . * * @param tag */ public FailProximityProfileTestCase(final String tag) { super(tag); } /** * deviceId???ondeviceproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/ondeviceproximity?sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnDeviceProximityChangeNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.EMPTY_DEVICE_ID.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId??ondeviceproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/ondeviceproximity?deviceId=&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnDeviceProximityChangeEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ???deviceId?ondeviceproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/ondeviceproximity?deviceId=123456789&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnDeviceProximityChangeInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2????ondeviceproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/ondeviceproximity?deviceId=123456789&deviceId=xxx&sessionKey=xxxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testPutOnDeviceProximityChangeDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId???ondeviceproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/ondeviceproximity?sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.EMPTY_DEVICE_ID.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId??ondeviceproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/ondeviceproximity?deviceId=&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ???deviceId?ondeviceproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/ondeviceproximity?deviceId=123456789&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2????ondeviceproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/ondeviceproximity?deviceId=123456789&deviceId=xxx&sessionKey=xxxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ?GET??ondeviceproximity??. * <pre> * ?HTTP * Method: GET * Path: /proximity/ondeviceproximity?deviceId=xxxx&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeInvalidMethodGet() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectProfileConstants.PARAM_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpGet(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_SUPPORT_ACTION.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ?POST??ondeviceproximity??. * <pre> * ?HTTP * Method: POST * Path: /proximity/ondeviceproximity?deviceId=xxxx&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnDeviceProximityChangeInvalidMethodPost() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_DEVICE_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectProfileConstants.PARAM_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPost(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_SUPPORT_ACTION.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId???onuserproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/onuserproximity?sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnUserProximityChangeNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.EMPTY_DEVICE_ID.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId??onuserproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/onuserproximity?deviceId=&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnUserProximityChangeEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ???deviceId?onuserproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/onuserproximity?deviceId=123456789&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutOnUserProximityChangeInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2????onuserproximity???. * <pre> * ?HTTP * Method: PUT * Path: /proximity/onuserproximity?deviceId=123456789&deviceId=xxx&sessionKey=xxxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testPutOnUserProximityChangeDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId???onuserproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/onuserproximity?sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.EMPTY_DEVICE_ID.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId??onuserproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/onuserproximity?deviceId=&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ???deviceId?onuserproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/onuserproximity?deviceId=123456789&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2????onuserproximity???. * <pre> * ?HTTP * Method: DELETE * Path: /proximity/onuserproximity?deviceId=123456789&deviceId=xxx&sessionKey=xxxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectMessage.EXTRA_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_FOUND_DEVICE.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ?GET??onuserproximity??. * <pre> * ?HTTP * Method: GET * Path: /proximity/onuserproximity?deviceId=xxxx&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeInvalidMethodGet() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectProfileConstants.PARAM_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpGet(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_SUPPORT_ACTION.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * ?POST??onuserproximity??. * <pre> * ?HTTP * Method: POST * Path: /proximity/onuserproximity?deviceId=xxxx&sessionKey=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteOnUserProximityChangeInvalidMethodPost() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(ProximityProfileConstants.PROFILE_NAME); builder.setAttribute(ProximityProfileConstants.ATTRIBUTE_ON_USER_PROXIMITY); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(DConnectProfileConstants.PARAM_SESSION_KEY, getClientId()); builder.addParameter(DConnectMessage.EXTRA_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPost(builder.toString()); JSONObject root = sendRequest(request); assertResultError(ErrorCode.NOT_SUPPORT_ACTION.getCode(), root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } }