소스 검색

[공통][New] API dev 추가 , test 작성

hyodong.min 7 년 전
부모
커밋
9bd916c144

+ 97 - 25
app/src/common/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java

@@ -6,6 +6,11 @@ package kr.co.zumo.app.lifeplus.network.api;
 import io.reactivex.Single;
 import kr.co.zumo.app.lifeplus.bean.api.AuthConfirmBean;
 import kr.co.zumo.app.lifeplus.bean.api.AuthNumberBean;
+import kr.co.zumo.app.lifeplus.bean.api.BookmarkResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.BucketBestListResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.BucketListRequestBean;
+import kr.co.zumo.app.lifeplus.bean.api.BucketListResultBean;
+import kr.co.zumo.app.lifeplus.bean.api.BucketMyListResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryBannerResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryContentsResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.CategoryRecommendResultBean;
@@ -44,10 +49,22 @@ import kr.co.zumo.app.lifeplus.config.NetworkConfig;
  */
 public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
 
-  private static final String AUTH_URL = NetworkConfig.HOST_URL + ":" + NetworkConfig.HOST_PORT + "/";
+  private final String API_URL;
 
-  private LifeplusAPI api(String url) {
-    return retrofit(url, LifeplusAPI.class, 2000);
+  public LifeplusAPIService() {
+    API_URL = NetworkConfig.HOST_URL + ":" + NetworkConfig.HOST_PORT + "/";
+  }
+
+  public LifeplusAPIService(String apiUrl) {
+    API_URL = apiUrl;
+  }
+
+  private String getApiUrl() {
+    return API_URL;
+  }
+
+  private LifeplusAPI api() {
+    return retrofit(getApiUrl(), LifeplusAPI.class, 2000);
   }
 
   /**
@@ -58,7 +75,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LifeplusAPIBean> requestMobileAuth(AuthNumberBean bean) {
-    return api(AUTH_URL).requestMobileAuth(bean);
+    return api().requestMobileAuth(bean);
   }
 
   /**
@@ -69,7 +86,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LifeplusAPIBean> confirmMobileAuth(AuthConfirmBean bean) {
-    return api(AUTH_URL).confirmMobileAuth(bean);
+    return api().confirmMobileAuth(bean);
   }
 
   /**
@@ -80,7 +97,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<PolicyResultBean> getPolicyList(RequestBean bean) {
-    return api(AUTH_URL).getPolicyList(bean);
+    return api().getPolicyList(bean);
   }
 
   /**
@@ -91,7 +108,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LifeplusAPIBean> confirmPolicy(PolicyConfirmRequestBean bean) {
-    return api(AUTH_URL).confirmPolicy(bean);
+    return api().confirmPolicy(bean);
   }
 
   /**
@@ -102,7 +119,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<MemberJoinResultBean> insertMember(MemberJoinRequestBean bean) {
-    return api(AUTH_URL).insertMember(bean);
+    return api().insertMember(bean);
   }
 
   /**
@@ -113,7 +130,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LifeplusAPIBean> deleteMember(UserNoBean bean) {
-    return api(AUTH_URL).deleteMember(bean);
+    return api().deleteMember(bean);
   }
 
   /**
@@ -124,7 +141,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<FAQResultBean> getFaqList(RequestBean bean) {
-    return api(AUTH_URL).getFaqList(bean);
+    return api().getFaqList(bean);
   }
 
   /**
@@ -135,7 +152,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LoginResultBean> selectMember(UserNoBean bean) {
-    return api(AUTH_URL).selectMember(bean);
+    return api().selectMember(bean);
   }
 
   /**
@@ -146,7 +163,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<LifeplusAPIBean> updateUnRestMember(UserNoBean bean) {
-    return api(AUTH_URL).updateUnRestMember(bean);
+    return api().updateUnRestMember(bean);
   }
 
   /**
@@ -157,7 +174,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<MainContentsResultBean> getMainContents(RequestBean bean) {
-    return api(AUTH_URL).getMainContents(bean);
+    return api().getMainContents(bean);
   }
 
   /**
@@ -168,7 +185,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<CategoryRecommendResultBean> getCategoryRecommendContents(CategoryRequestBean bean) {
-    return api(AUTH_URL).getCategoryRecommendContents(bean);
+    return api().getCategoryRecommendContents(bean);
   }
 
   /**
@@ -179,7 +196,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<CategoryBannerResultBean> getCategoryBanner(CategoryRequestBean bean) {
-    return api(AUTH_URL).getCategoryBanner(bean);
+    return api().getCategoryBanner(bean);
   }
 
   /**
@@ -190,7 +207,62 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<CategoryContentsResultBean> getCategoryContents(CategoryRequestBean bean) {
-    return api(AUTH_URL).getCategoryContents(bean);
+    return api().getCategoryContents(bean);
+  }
+
+  /**
+   * 나의 북마크 리스트
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<BookmarkResultBean> getMyBookmarkList(UserNoBean bean) {
+    return api().getMyBookmarkList(bean);
+  }
+
+  /**
+   * 최근 많이 북마크 된 리스트
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<BookmarkResultBean> getLatsBookmarkList(UserNoBean bean) {
+    return api().getLatsBookmarkList(bean);
+  }
+
+  /**
+   * 베스트 버킷 리스트
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<BucketBestListResultBean> getBestBucketList(RequestBean bean) {
+    return api().getBestBucketList(bean);
+  }
+
+  /**
+   * 버킷 리스트 목록
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<BucketListResultBean> getBucketList(BucketListRequestBean bean) {
+    return api().getBucketList(bean);
+  }
+
+  /**
+   * 나의 버킷 리스트
+   *
+   * @param bean
+   * @return
+   */
+  @Override
+  public Single<BucketMyListResultBean> getMyBucketList(UserNoBean bean) {
+    return api().getMyBucketList(bean);
   }
 
 
@@ -204,7 +276,7 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<CodeResultBean> getCodes(RequestBean bean) {
-    return api(AUTH_URL).getCodes(bean);
+    return api().getCodes(bean);
   }
 
   /**
@@ -215,42 +287,42 @@ public class LifeplusAPIService extends RetrofitService implements LifeplusAPI {
    */
   @Override
   public Single<CodeResultBean> setCodes(CodeRequestBean bean) {
-    return api(AUTH_URL).setCodes(bean);
+    return api().setCodes(bean);
   }
 
 
   @Override
   public Single<SettingResultBean> getSettings(RequestBean bean) {
-    return api(AUTH_URL).getSettings(bean);
+    return api().getSettings(bean);
   }
 
   @Override
   public Single<SettingMemberResultBean> getMemberInfo(RequestBean bean) {
-    return api(AUTH_URL).getMemberInfo(bean);
+    return api().getMemberInfo(bean);
   }
 
   @Override
   public Single<SettingMemberEmailResultBean> setMemberEmail(SettingMemberEmailRequestBean bean) {
-    return api(AUTH_URL).setMemberEmail(bean);
+    return api().setMemberEmail(bean);
   }
 
   @Override
   public Single<CoinResultBean> getCoins(RequestBean bean) {
-    return api(AUTH_URL).getCoins(bean);
+    return api().getCoins(bean);
   }
 
   @Override
   public Single<NotificationResultBean> getNotification(RequestBean bean) {
-    return api(AUTH_URL).getNotification(bean);
+    return api().getNotification(bean);
   }
 
   @Override
   public Single<QuestionResultBean> getQuestionList(RequestBean bean) {
-    return api(AUTH_URL).getQuestionList(bean);
+    return api().getQuestionList(bean);
   }
 
   @Override
   public Single<LifeplusAPIBean> registerQuestion(QuestionRequestBean bean) {
-    return api(AUTH_URL).registerQuestion(bean);
+    return api().registerQuestion(bean);
   }
 }

+ 2 - 2
app/src/dev/java/kr/co/zumo/app/lifeplus/config/NetworkConfig.java

@@ -5,8 +5,8 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 
 public class NetworkConfig {
 
-  public static String HOST_URL = ResourceUtil.getString(R.string.host_url); // dev
-  public static int HOST_PORT = Integer.parseInt(ResourceUtil.getString(R.string.host_port));
+  public static final String HOST_URL = ResourceUtil.getString(R.string.host_url); // dev
+  public static final int HOST_PORT = Integer.parseInt(ResourceUtil.getString(R.string.host_port));
 
   public static final String XECURE_URL = ResourceUtil.getString(R.string.xecure_url);
   public static final String APP_SHIELD_URL = ResourceUtil.getString(R.string.app_shield_url);

+ 2 - 2
app/src/product/java/kr/co/zumo/app/lifeplus/config/NetworkConfig.java

@@ -5,8 +5,8 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 
 public class NetworkConfig {
 
-  public static String HOST_URL = ResourceUtil.getString(R.string.host_url); // product
-  public static int HOST_PORT = Integer.parseInt(ResourceUtil.getString(R.string.host_port));
+  public static final String HOST_URL = ResourceUtil.getString(R.string.host_url); // product
+  public static final int HOST_PORT = Integer.parseInt(ResourceUtil.getString(R.string.host_port));
 
   public static final String XECURE_URL = ResourceUtil.getString(R.string.xecure_url);
   public static final String APP_SHIELD_URL = ResourceUtil.getString(R.string.app_shield_url);

+ 6 - 0
app/src/sandbox/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java

@@ -50,6 +50,12 @@ import kr.co.zumo.app.lifeplus.bean.api.UserNoBean;
  */
 public class LifeplusAPIService implements LifeplusAPI {
 
+  public LifeplusAPIService() {
+  }
+
+  public LifeplusAPIService(String apiUrl) {
+  }
+
   @Override
   public Single<LifeplusAPIBean> requestMobileAuth(AuthNumberBean bean) {
     return Single.fromCallable(() -> new LifeplusAPIBean(LifeplusAPIBean.RETURN_SUCCESS, ""));

+ 82 - 0
app/src/test/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIServiceLiveTest.java

@@ -0,0 +1,82 @@
+package kr.co.zumo.app.lifeplus.network.api;
+
+import org.junit.Test;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+
+import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.TestCase.assertTrue;
+
+/**
+ * LifeplusAPIServiceLiveTest
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 11. 7.]   [최초 작성]
+ * @since 2018. 11. 7.
+ */
+public class LifeplusAPIServiceLiveTest {
+
+  private String apiUrl = "http://210.216.157.64:20080/";
+
+  @Test
+  public void getMainContents() {
+    AtomicReference<String> result = new AtomicReference<>();
+    AtomicBoolean error = new AtomicBoolean(false);
+
+    new LifeplusAPIService(apiUrl).getMainContents(new RequestBean()).subscribe(resultBean -> {
+
+      System.out.print("result <- " + resultBean.toJson() + '\n');
+      result.set(resultBean.toJson());
+    }, e -> {
+      error.set(true);
+    });
+
+    try {
+      Thread.sleep(2000);
+    } catch (InterruptedException e) {
+      e.printStackTrace();
+    }
+
+    assertTrue(result.get().length() > 0);
+    assertFalse(error.get());
+
+  }
+
+  @Test
+  public void getCategoryRecommendContents() {
+  }
+
+  @Test
+  public void getCategoryBanner() {
+  }
+
+  @Test
+  public void getCategoryContents() {
+  }
+
+  @Test
+  public void getMyBookmarkList() {
+  }
+
+  @Test
+  public void getLatsBookmarkList() {
+  }
+
+  @Test
+  public void getBestBucketList() {
+  }
+
+  @Test
+  public void getBucketList() {
+  }
+
+  @Test
+  public void getMyBucketList() {
+  }
+}

+ 3 - 3
app/src/test/java/kr/co/zumo/app/lifeplus/supervisor/FragmentChangerTest.java

@@ -34,7 +34,7 @@ public class FragmentChangerTest {
     when(activity.getSupportFragmentManager()).thenReturn(fragmentManager);
     when(fragmentManager.beginTransaction()).thenReturn(fragmentTransaction);
 
-    fragmentChanger = new FragmentChanger(activity, 1, factory);
+    fragmentChanger = new FragmentChanger(fragmentManager, 1, factory);
 
     int id = ScreenID.SIGN_UP_PIN;
     fragmentChanger.changeTo(id);
@@ -57,7 +57,7 @@ public class FragmentChangerTest {
      * spy() - 메서드의 내부 메서드로 사용 가능,
      * mock() - 메서드의 몸통은 비어있다. changeFragment(id) -> changeFragment(id, tran) 호출 안됨.
      */
-    fragmentChanger = spy(new FragmentChanger(activity, 1, factory));
+    fragmentChanger = spy(new FragmentChanger(fragmentManager, 1, factory));
 
     int id = ScreenID.SIGN_UP_PIN;
     fragmentChanger.changeToNext(id);
@@ -77,7 +77,7 @@ public class FragmentChangerTest {
     when(activity.getSupportFragmentManager()).thenReturn(fragmentManager);
     when(fragmentManager.beginTransaction()).thenReturn(fragmentTransaction);
 
-    fragmentChanger = new FragmentChanger(activity, 1, factory);
+    fragmentChanger = new FragmentChanger(fragmentManager, 1, factory);
 
     int id = ScreenID.SIGN_UP_PIN;
     fragmentChanger.changeToBack(id);