Exemplo n.º 1
0
func TestRealMain_RuntimeErrorY(t *testing.T) {
	arg := &arguments{
		jobnet: "",
		from:   "20150414",
		to:     "20150416",
		status: "",
		format: "",
		config: fmt.Sprintf("%v%c%v", confPath, os.PathSeparator, "show_testY.ini"),
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_ERROR {
		t.Errorf("戻り値[%v]が返るべきところ、[%v]が返りました。", rc_ERROR, ret)
	}

	cout := co.Stop()
	cerr := ce.Stop()
	if len(cout) > 0 {
		t.Errorf("不正な標準出力です。 - %v", cout)
	}
	if !strings.Contains(cerr, "AN INTERNAL ERROR OCCURRED.") {
		t.Errorf("不正な標準エラー出力です。 - %v", cerr)
	}
}
Exemplo n.º 2
0
func TestRealMain_バージョン情報を表示(t *testing.T) {
	arg := &arguments{
		v:      true,
		jobnet: "",
		from:   "20150416",
		to:     "20150416",
		status: "",
		format: "",
		config: confFile,
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_OK {
		t.Errorf("戻り値[%v]が返るべきところ、[%v]が返りました。", rc_OK, ret)
	}

	cout := co.Stop()
	cerr := ce.Stop()
	if len(cout) > 0 {
		t.Errorf("不正な標準出力が出力されています。 - %v", cout)
	}
	if !strings.Contains(cerr, Version) {
		t.Errorf("stderrへの出力値[%s]が想定と違います。", cerr)
	}
}
Exemplo n.º 3
0
func TestRealMain_不正なFormat(t *testing.T) {
	arg := &arguments{
		jobnet: "",
		from:   "20150416",
		to:     "20150416",
		status: "",
		format: "abc",
		config: confFile,
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_PARMERR {
		t.Errorf("戻り値[%v]が返るべきところ、[%v]が返りました。", rc_PARMERR, ret)
	}

	cout := co.Stop()
	cerr := ce.Stop()
	if len(cout) > 0 {
		t.Errorf("不正な標準出力です。 - %v", cout)
	}
	if !strings.Contains(cerr, console.USAGE_SHOW) {
		t.Errorf("不正な標準エラー出力です。 - %v", cerr)
	}
}
Exemplo n.º 4
0
func TestRealMain_ヘルプを表示(t *testing.T) {
	arg := &arguments{
		help:   true,
		jobnet: "",
		from:   "20150416",
		to:     "20150416",
		status: "",
		format: "",
		config: confFile,
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_OK {
		t.Errorf("戻り値[%v]が返るべきところ、[%v]が返りました。", rc_OK, ret)
	}

	cout := co.Stop()
	cerr := ce.Stop()
	if len(cout) > 0 {
		t.Errorf("不正な標準出力が出力されています。 - %v", cout)
	}
	if cerr != console.USAGE_SHOW {
		t.Errorf("stderrへの出力値[%s]が想定と違います。", cerr)
	}
}
Exemplo n.º 5
0
func TestRealMain_0件のジョブネットを表示(t *testing.T) {
	arg := &arguments{
		jobnet: "JNET",
		from:   "",
		to:     "",
		status: "normal",
		format: "csv",
		config: confFile,
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_NOTHING {
		t.Errorf("戻り値[%v]が返るはずが、[%v]が返りました。", rc_NOTHING, ret)
	}
	cout := co.Stop()
	cerr := ce.Stop()
	if len(cerr) > 0 {
		t.Errorf("エラーが出力されています。 - %v", cerr)
	}
	if len(cout) > 0 {
		t.Errorf("出力されないはずが、何か出力されました。 - %v", cout)
	}
}
Exemplo n.º 6
0
func TestRealMain_バージョン確認ができる(t *testing.T) {
	c := testutil.NewStdoutCapturer()
	args := new(arguments)
	args.v = true

	c.Start()
	realMain(args)
	out := c.Stop()

	if !strings.Contains(out, Version) {
		t.Error("バージョンが出力されていない。")
	}
}
Exemplo n.º 7
0
func TestInfo_infoレベルのメッセージを出力できる(t *testing.T) {
	c := testutil.NewStdoutCapturer()
	initForTest()
	defer Term()

	c.Start()
	Info("testmessage")
	output := c.Stop()

	if output != "2015-04-01 12:34:56.789 [INF] testmessage\n" {
		t.Errorf("出力されたメッセージ[%s]が想定と異なる。", output)
	}
}
Exemplo n.º 8
0
func TestRealMain_ログディレクトリが存在しない場合(t *testing.T) {
	c := testutil.NewStdoutCapturer()

	args := new(arguments)
	args.networkName = "test"
	args.configPath = "logerror.ini"

	c.Start()
	rc := realMain(args)
	out := c.Stop()

	if rc != rc_ERROR {
		t.Errorf("想定外のrc[%d]が返された。", rc)
	}
	if !strings.Contains(out, "COULD NOT INITIALIZE LOGGER.") {
		t.Error("出力内容が想定と違っている。")
		t.Logf("出力: %s", out)
	}
}
Exemplo n.º 9
0
func TestRealMain_1日分のジョブネットを表示(t *testing.T) {
	vefiry_file := "showtest_verify1.txt"
	arg := &arguments{
		jobnet: "",
		from:   "20150415",
		to:     "20150415",
		status: "",
		format: "",
		config: confFile,
		isUTC:  true,
	}
	ce := testutil.NewStderrCapturer()
	ce.Start()
	co := testutil.NewStdoutCapturer()
	co.Start()

	ret := realMain(arg)
	if ret != rc_OK {
		t.Errorf("戻り値[%v]が返るはずが、[%v]が返りました。", rc_OK, ret)
	}
	cout := co.Stop()
	cerr := ce.Stop()
	if len(cerr) > 0 {
		t.Errorf("エラーが出力されています。 - %v", cerr)
	}
	if _, exist := os.Stat(output_file); exist != nil {
		os.Remove(output_file)
	}
	file, _ := os.OpenFile(output_file, os.O_CREATE|os.O_WRONLY, 0666)
	file.WriteString(cout)
	file.Close()

	err := vefiry_stdout(output_file, vefiry_file)
	if err != nil {
		t.Errorf("不正な出力結果です。 - %v", err)
	}
}