monagent_server_test.go 1.2 KB
Newer Older
W
wangzelin.wzl 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
// Copyright (c) 2021 OceanBase
// obagent is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
//
// http://license.coscl.org.cn/MulanPSL2
//
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
// MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.

package engine

import (
	"context"
	"testing"

	. "github.com/smartystreets/goconvey/convey"

	"github.com/oceanbase/obagent/config"
)

func TestMonitorAgentServerShutdown(t *testing.T) {
	server := NewMonitorAgentServer(&config.MonitorAgentConfig{
		Log: &config.LogConfig{Level: "debug"},
		Server: config.MonitorAgentHttpConfig{
			Address:      ":62889",
			AdminAddress: ":62886",
		},
	})
	go server.Run()

	t.Run("shutdown without any request", func(t *testing.T) {
		err := server.Server.Shutdown(context.Background())
		Convey("shutdown err", t, func() {
			So(err, ShouldBeNil)
		})

		adminerr := server.AdminServer.Shutdown(context.Background())
		Convey("shutdown adminerr", t, func() {
			So(adminerr, ShouldBeNil)
		})
	})

}