/**
   * checkAndSetParamDBのテストケース 異常系:エクスポート正常終了時のTSVファイル削除有無が不正なケース
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB31() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("export.delete-tsv", "2");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
      fail();
    } catch (Exception e) {
      e.printStackTrace();
      assertTrue(e instanceof BulkLoaderSystemException);
    }
  }
  /**
   * checkAndSetParamDBのテストケース
   * 正常系:エクスポート処理でExport対象テーブルにデータをコピーする時の最大レコード数が設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB18() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("export.data-copy-max-count", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals("100000", ConfigurationLoader.getProperty(Constants.PROP_KEY_EXP_COPY_MAX_RECORD));
  }
  /**
   * checkAndSetParamDBのテストケース 異常系:Importファイルを置くディレクトリのトップディレクトリが設定されていないケース
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB24() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("import.tsv-create-dir", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
      fail();
    } catch (Exception e) {
      assertTrue(e instanceof BulkLoaderSystemException);
      e.printStackTrace();
    }
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:Exporterのリトライインターバルが設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB14() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("export.retry-interval", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals("10", ConfigurationLoader.getProperty(Constants.PROP_KEY_EXP_RETRY_INTERVAL));
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:Importerのリトライ回数が設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB06() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("import.retry-count", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals("3", ConfigurationLoader.getProperty(Constants.PROP_KEY_IMP_RETRY_COUNT));
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:Importファイルの圧縮時のバッファサイズ不正なケース
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB05() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("import.zip-comp-buf-size", "a");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
      fail();
    } catch (Exception e) {
      e.printStackTrace();
      assertTrue(e instanceof BulkLoaderSystemException);
    }
  }
  /**
   * checkAndSetParamDBのテストケース 異常系:Collectorのシェル名が設定されていないケース
   *
   * @throws Exception
   */
  @Ignore(Constants.PROP_KEY_COL_SHELL_NAME + " is obsoleted")
  @Test
  public void checkAndSetParamDB27() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty(Constants.PROP_KEY_COL_SHELL_NAME, "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
      fail();
    } catch (Exception e) {
      assertTrue(e instanceof BulkLoaderSystemException);
      e.printStackTrace();
    }
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:Exportファイルの圧縮時のバッファサイズが設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB10() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("export.zip-comp-buf-size", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals(
        "32768", ConfigurationLoader.getProperty(Constants.PROP_KEY_EXP_FILE_COMP_BUFSIZE));
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:エクスポート正常終了時のTSVファイル削除有無が設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB30() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("export.delete-tsv", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals(
        TsvDeleteType.find(Constants.PROP_DEFAULT_EXPORT_TSV_DELETE),
        TsvDeleteType.find(ConfigurationLoader.getProperty(Constants.PROP_KEY_EXPORT_TSV_DELETE)));
  }
  /**
   * checkAndSetParamDBのテストケース 正常系:Importファイルの圧縮有無が設定されていないケース(デフォルト値が設定される)
   *
   * @throws Exception
   */
  @Test
  public void checkAndSetParamDB02() throws Exception {
    ConfigurationLoader.init(properties_db, true, false);
    Properties p = ConfigurationLoader.getProperty();
    p.setProperty("import.zip-comp-type", "");
    ConfigurationLoader.setProperty(p);

    try {
      ConfigurationLoader.checkAndSetParamDB();
    } catch (Exception e) {
      fail();
      e.printStackTrace();
    }
    assertEquals(
        FileCompType.STORED,
        FileCompType.find(ConfigurationLoader.getProperty(Constants.PROP_KEY_IMP_FILE_COMP_TYPE)));
  }