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