| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package kernel_serv_http
- import (
- "testing"
- "time"
- "wartank/kernel/internal/kernel_ctx"
- . "wartank/kernel/kernel_types"
- "wartank/pkg/mock/mock_env"
- )
- type tester struct {
- t *testing.T
- ctx ИЯдроКонтекст
- wg IKernelWg
- me *mock_env.МокОкружение
- }
- func TestKernelServHttp(t *testing.T) {
- ctx := kernel_ctx.ПолучЯдроКонтекст()
- sf := &tester{
- t: t,
- ctx: ctx,
- wg: ctx.Оп(),
- }
- sf.new()
- sf.close()
- }
- // Закрытие HTTP-сервера
- func (sf *tester) close() {
- sf.t.Log("close")
- sf.ctx.Отменить()
- sf.ctx.Ждать()
- kernServHttp.close()
- }
- // Создание сервера HTTP
- func (sf *tester) new() {
- sf.t.Log("new()")
- sf.newBad1()
- sf.newBad2()
- sf.newGood1()
- sf.newBad3()
- }
- // Повторный запуск сервера на том же порту
- func (sf *tester) newBad3() {
- sf.t.Log("newBad3()")
- ctx := kernel_ctx.ПолучЯдроКонтекст()
- serv := GetKernelServHttp(ctx)
- go serv.Run()
- time.Sleep(time.Millisecond * 20)
- }
- func (sf *tester) newGood1() {
- sf.t.Log("newGood1()")
- defer func() {
- if _panic := recover(); _panic != nil {
- sf.t.Fatalf("newGood1(): panic=%v", _panic)
- }
- }()
- sf.me = mock_env.СделатьОкружение()
- serv := GetKernelServHttp(sf.ctx)
- if serv != kernServHttp {
- sf.t.Fatalf("newGood1(): bad IKernelServHttp")
- }
- if webFiber := serv.Fiber(); webFiber != kernServHttp.fiberApp {
- sf.t.Fatalf("newGood1(): webFiber==serv.appFiber")
- }
- go serv.Run()
- }
- // Не указана SERVER_HTTP_PORT
- func (sf *tester) newBad2() {
- sf.t.Log("newBad2()")
- defer func() {
- if _panic := recover(); _panic == nil {
- sf.t.Fatalf("newBad2(): panic==nil")
- }
- }()
- _ = GetKernelServHttp(sf.ctx)
- }
- // Нет контекста ядра
- func (sf *tester) newBad1() {
- sf.t.Log("newBad1()")
- defer func() {
- if _panic := recover(); _panic == nil {
- sf.t.Fatalf("newBad1(): panic==nil")
- }
- }()
- var ctx ИЯдроКонтекст
- _ = GetKernelServHttp(ctx)
- }
|