/* DConnectSDKTest.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.message; import android.content.Context; import android.support.test.InstrumentationRegistry; import android.support.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; /** * DConnectSDKのテスト. * * @author NTT DOCOMO, INC. */ @RunWith(AndroidJUnit4.class) public class DConnectSDKTest { /** * ホスト名を取得する。 * <pre> * 【期待する動作】 * ・デフォルト値であるlocalhostが取得できること。 * </pre> */ @Test public void getHost() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); assertThat(sdk.getHost(), is("localhost")); } /** * ホスト名を設定する。 * <pre> * 【期待する動作】 * ・設定したホスト名がgetHostで取得できること。 * </pre> */ @Test public void setHost() { final String hostName = "host"; DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setHost(hostName); assertThat(sdk.getHost(), is(hostName)); } /** * ホスト名にnullを設定する。 * <pre> * 【期待する動作】 * ・NullPointerExceptionが発生すること。 * </pre> */ @Test(expected = NullPointerException.class) public void setHost_null() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setHost(null); } /** * ホスト名に空文字を設定する。 * <pre> * 【期待する動作】 * ・IllegalArgumentExceptionが発生すること。 * </pre> */ @Test(expected = IllegalArgumentException.class) public void setHost_empty() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setHost(""); } /** * ポート番号を取得する。 * <pre> * 【期待する動作】 * ・デフォルト値である4035が取得できること。 * </pre> */ @Test public void getPort() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); assertThat(sdk.getPort(), is(4035)); } /** * ポート番号を設定する。 * <pre> * 【期待する動作】 * ・設定したポート番号がgetPortで取得できること。 * </pre> */ @Test public void setPort() { final int port = 9999; DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setPort(port); assertThat(sdk.getPort(), is(port)); } /** * ポート番号に負の値を設定する。 * <pre> * 【期待する動作】 * ・IllegalArgumentExceptionが発生すること。 * </pre> */ @Test(expected = IllegalArgumentException.class) public void setPort_negative() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setPort(-1); } /** * ポート番号に65536を設定する。 * <pre> * 【期待する動作】 * ・IllegalArgumentExceptionが発生すること。 * </pre> */ @Test(expected = IllegalArgumentException.class) public void setPort_65536() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setPort(65536); } /** * オリジンを設定する。 * <pre> * 【期待する動作】 * ・設定したオリジンがgetOriginで取得できること。 * </pre> */ @Test public void setOrigin() { final String origin = "org.deviceconnect.android.test"; DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setOrigin(origin); assertThat(sdk.getOrigin(), is(origin)); } /** * オリジンにnullを設定する。 * <pre> * 【期待する動作】 * ・NullPointerExceptionが発生すること。 * </pre> */ @Test(expected = NullPointerException.class) public void setOrigin_null() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setOrigin(null); } /** * オリジンに空文字を設定する。 * <pre> * 【期待する動作】 * ・IllegalArgumentExceptionが発生すること。 * </pre> */ @Test(expected = IllegalArgumentException.class) public void setOrigin_empty() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setOrigin(""); } /** * アクセストークンを設定する。 * <pre> * 【期待する動作】 * ・設定したアクセストークンがgetAccessTokenで取得できること。 * </pre> */ @Test public void setAccessToken() { final String accessToken = "test-accessToken"; DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setAccessToken(accessToken); assertThat(sdk.getAccessToken(), is(accessToken)); } /** * アクセストークンにnullを設定する。 * <pre> * 【期待する動作】 * ・NullPointerExceptionが発生すること。 * </pre> */ @Test(expected = NullPointerException.class) public void setAccessToken_null() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setAccessToken(null); } /** * アクセストークンに空文字を設定する。 * <pre> * 【期待する動作】 * ・IllegalArgumentExceptionが発生すること。 * </pre> */ @Test(expected = IllegalArgumentException.class) public void setAccessToken_empty() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.setAccessToken(""); } /** * {@link DConnectSDK#startManager(Context)}の引数コンテキストに{@code null}を指定して実行する。 * <pre> * 【期待する動作】 * ・NullPointerExceptionが発生すること。 * </pre> */ @Test(expected = NullPointerException.class) public void startManager_context_is_null() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.startManager(null); } /** * {@link DConnectSDK#stopManager(Context)}の引数コンテキストに{@code null}を指定して実行する。 * <pre> * 【期待する動作】 * ・NullPointerExceptionが発生すること。 * </pre> */ @Test(expected = NullPointerException.class) public void stopManager_context_is_null() { DConnectSDK sdk = DConnectSDKFactory.create(InstrumentationRegistry.getTargetContext(), DConnectSDKFactory.Type.HTTP); sdk.stopManager(null); } }