| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package keeper
- import (
- "os"
- "syscall"
- "testing"
- "time"
- "wartank/pkg/components/kernel/slog"
- "wartank/pkg/mock/mockenv"
- "wartank/pkg/mock/mockkernel"
- "wartank/pkg/types"
- )
- /*
- Тест для сторожа
- */
- // Тестер для сторожа
- type tester struct {
- t *testing.T
- err error
- me *mockenv.MockEnv
- kp *Keeper
- kern types.ИЯдро
- }
- func TestKeeper(t *testing.T) {
- test := &tester{
- t: t,
- me: mockenv.NewMockEnv(),
- }
- test.create()
- test.cancel()
- _ = os.RemoveAll("./log")
- }
- // Отмена глобального контекста приложения
- func (сам *tester) cancel() {
- сам.kp.chSys <- syscall.SIGTERM
- time.Sleep(time.Microsecond * 150)
- сам.createGood1()
- сам.kern.CancelApp()
- time.Sleep(time.Microsecond * 150)
- }
- // Создание сторожа
- func (сам *tester) create() {
- сам.createBad1()
- сам.createGood1()
- }
- func (сам *tester) createGood1() {
- defer func() {
- if _panic := recover(); _panic != nil {
- сам.t.Errorf("createGood1(: panic=\n\t%v\n", _panic)
- }
- }()
- сам.me.Unset()
- if err := сам.me.InitLocal(); err != nil {
- сам.t.Errorf("createGood1(): не локальное окружение, err=\n\t%v\n", err)
- return
- }
- сам.kern = mockkernel.NewMockKernel()
- ядро := сам.kern.(*mockkernel.MockKernel)
- ядро.Slog_, сам.err = slog.NewSlog(сам.kern)
- if сам.err != nil {
- сам.t.Errorf("createGood1(): in create ISlog, err=\n\t%v", сам.err)
- }
- сам.kp = NewKeeper(сам.kern)
- if сам.kp == nil {
- сам.t.Errorf("createGood1(): keep==nil")
- }
- }
- // Нет объекта приложения
- func (сам *tester) createBad1() {
- defer func() {
- if _panic := recover(); _panic == nil {
- сам.t.Errorf("createBad1(: panic==nil\n")
- }
- if сам.kp != nil {
- сам.t.Errorf("createBad1(): keep!=nil")
- }
- }()
- сам.kp = NewKeeper(nil)
- }
|