| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package helpers
- import (
- "os"
- "testing"
- )
- type tester struct {
- t *testing.T
- }
- func TestHelpers(t *testing.T) {
- sf := &tester{
- t: t,
- }
- sf.assert()
- sf.hassert()
- sf.init_()
- }
- // Неизвестное значение STAGE
- func (sf *tester) init_() {
- sf.t.Log("init_")
- sf.initBad1()
- _ = os.Unsetenv("STAGE")
- _ = os.Setenv("STAGE", "local")
- init_()
- }
- func (sf *tester) initBad1() {
- sf.t.Log("initBad1")
- defer func() {
- if panic_ := recover(); panic_ == nil {
- sf.t.Fatalf("initBad1(): panic==nil")
- }
- }()
- _ = os.Unsetenv("STAGE")
- _ = os.Setenv("STAGE", "tra-lala")
- init_()
- }
- // Проверка мягкого ассерта
- func (sf *tester) hassert() {
- sf.t.Log("assert")
- sf.hassertLocal()
- sf.hassertProd()
- sf.hassertProdGood1()
- }
- // Мягкая ТВЁРДАЯ проверка на ок
- func (sf *tester) hassertProdGood1() {
- sf.t.Log("hassertProdGood1")
- Паника(true, "tra-la-la")
- }
- // Твёрдая проверка
- func (sf *tester) hassertProd() {
- sf.t.Log("hassertProd")
- err := os.Setenv("STAGE", "prod")
- if err != nil {
- sf.t.Fatalf("hassertProd(): err=%v", err)
- }
- init_()
- defer func() {
- if panic_ := recover(); panic_ == nil {
- sf.t.Fatalf("assertLocal(): panic==nil")
- }
- }()
- Паника(false, "tra-la-la")
- }
- // ТВЁРДАЯ проверка
- func (sf *tester) hassertLocal() {
- sf.t.Log("hassertLocal")
- defer func() {
- if panic_ := recover(); panic_ == nil {
- sf.t.Fatalf("assertLocal(): panic==nil")
- }
- }()
- Паника(false, "tra-la-la")
- }
- //========================================================================
- // Проверка мягкого ассерта
- func (sf *tester) assert() {
- sf.t.Log("assert")
- sf.assertLocal()
- sf.assertProd()
- sf.assertProdGood1()
- }
- // Мягкая ТВЁРДАЯ проверка на ок
- func (sf *tester) assertProdGood1() {
- sf.t.Log("assertProdGood1")
- Провер(true, "tra-la-la")
- }
- // Мягкая мягка проверка (на проде)
- func (sf *tester) assertProd() {
- sf.t.Log("assertProd")
- err := os.Setenv("STAGE", "prod")
- if err != nil {
- sf.t.Fatalf("assertProd(): err=%v", err)
- }
- init_()
- Провер(false, "tra-la-la")
- }
- // Мягкая ТВЁРДАЯ локальная проверка (локально)
- func (sf *tester) assertLocal() {
- sf.t.Log("assertLocal")
- defer func() {
- if panic_ := recover(); panic_ == nil {
- sf.t.Fatalf("assertLocal(): panic==nil")
- }
- }()
- Провер(false, "tra-la-la")
- }
|