Java tutorial
/* FailVibrationProfileTestCase.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.ErrorCode; import org.deviceconnect.profile.AuthorizationProfileConstants; import org.deviceconnect.profile.DConnectProfileConstants; import org.deviceconnect.profile.VibrationProfileConstants; import org.deviceconnect.utils.URIBuilder; import org.json.JSONException; import org.json.JSONObject; /** * Vibration?. * @author NTT DOCOMO, INC. */ public class FailVibrationProfileTestCase extends RESTfulDConnectTestCase { /** * . * * @param tag */ public FailVibrationProfileTestCase(final String tag) { super(tag); } /** * deviceId??????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutVibrateNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(AuthorizationProfileConstants.PARAM_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?????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate?deviceId= * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutVibrateEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(AuthorizationProfileConstants.PARAM_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????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate?deviceId=123456789&mediId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutVibrateInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(AuthorizationProfileConstants.PARAM_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()); } } /** * ????????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate?deviceId=xxxxx&abc=abc * </pre> * <pre> * ?? * ??????? * result?0??????? * </pre> */ public void testPutVibrateUndefinedAttribute() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter("abc", "abc"); builder.addParameter(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpPut(builder.toString()); JSONObject root = sendRequest(request); assertResultOK(root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2???????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate?deviceId=123456789&deviceId=xxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testPutVibrateDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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()); } } /** * ?GET?????. * <pre> * ?HTTP * Method: PUT * Path: /vibration/vibrate?deviceId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutVibrateInvalidMethodGet() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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?????. * <pre> * ?HTTP * Method: POST * Path: /vibration/vibrate?deviceId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testPutVibrateInvalidMethodPost() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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???????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteVibrateNoDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(AuthorizationProfileConstants.PARAM_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??????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate?deviceId= * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteVibrateEmptyDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, ""); builder.addParameter(AuthorizationProfileConstants.PARAM_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?????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate?deviceId=123456789&mediId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteVibrateInvalidDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(AuthorizationProfileConstants.PARAM_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()); } } /** * ?????????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate?deviceId=xxxxx&abc=abc * </pre> * <pre> * ?? * ??????? * result?0??????? * </pre> */ public void testDeleteVibrateUndefinedAttribute() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter("abc", "abc"); builder.addParameter(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN, getAccessToken()); try { HttpUriRequest request = new HttpDelete(builder.toString()); JSONObject root = sendRequest(request); assertResultOK(root); } catch (JSONException e) { fail("Exception in JSONObject." + e.getMessage()); } } /** * deviceId2????????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate?deviceId=123456789&deviceId=xxx * </pre> * <pre> * ?? * ??????? * result?1??????? * </pre> */ public void testDeleteVibrateDuplicatedDeviceId() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, "123456789"); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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??????. * <pre> * ?HTTP * Method: DELETE * Path: /vibration/vibrate?deviceId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteVibrateInvalidMethodGet() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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??????. * <pre> * ?HTTP * Method: POST * Path: /vibration/vibrate?deviceId=xxxx * </pre> * <pre> * ?? * result?1??????? * </pre> */ public void testDeleteVibrateInvalidMethodPost() { URIBuilder builder = TestURIBuilder.createURIBuilder(); builder.setProfile(VibrationProfileConstants.PROFILE_NAME); builder.setAttribute(VibrationProfileConstants.ATTRIBUTE_VIBRATE); builder.addParameter(DConnectProfileConstants.PARAM_DEVICE_ID, getDeviceId()); builder.addParameter(AuthorizationProfileConstants.PARAM_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()); } } }