/* NormalServiceDiscoveryProfileTestCase.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 android.support.test.runner.AndroidJUnit4; import org.deviceconnect.message.DConnectMessage; import org.deviceconnect.message.DConnectResponseMessage; import org.junit.Test; import org.junit.runner.RunWith; import java.util.List; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; /** * Network Service Discoveryプロファイルの正常系テスト. * @author NTT DOCOMO, INC. */ @RunWith(AndroidJUnit4.class) public class NormalServiceDiscoveryProfileTestCase extends RESTfulDConnectTestCase { /** * デバイス一覧取得リクエストを送信するテスト. * <pre> * 【HTTP通信】 * Method: GET * Path: /serviceDiscovery * </pre> * <pre> * 【期待する動作】 * ・resultに0が返ってくること。 * ・servicesに少なくとも1つ以上のサービスが発見されること。 * </pre> */ @Test public void testGetServices() { String uri = "http://localhost:4035/gotapi/serviceDiscovery"; uri += "?accessToken=" + getAccessToken(); DConnectResponseMessage response = mDConnectSDK.get(uri); assertThat(response, is(notNullValue())); assertThat(response.getResult(), is(DConnectMessage.RESULT_OK)); List<Object> services = response.getList("services"); assertThat(services, is(notNullValue())); assertThat(services.size(), is(greaterThan(0))); for (Object obj : services) { DConnectMessage service = (DConnectMessage) obj; String id = service.getString("id"); String name = service.getString("name"); assertThat(id, is(notNullValue())); assertThat(name, is(notNullValue())); } } }