org.deviceconnect.android.profile.restful.test.FailVibrationProfileTestCase.java Source code

Java tutorial

Introduction

Here is the source code for org.deviceconnect.android.profile.restful.test.FailVibrationProfileTestCase.java

Source

/*
 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());
        }
    }
}