123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- package mockenv
- import (
- "testing"
- )
- /*
- Тест для отладочных переменных окружения
- */
- // Тестер для переменных окружения
- type tester struct {
- t *testing.T
- me *MockEnv
- }
- func TestMockEnv(t *testing.T) {
- test := &tester{
- t: t,
- }
- test.create()
- test.initFake()
- test.readFile()
- test.getPairs()
- test.initLocal()
- test.stage()
- }
- // Плохой STAGE
- func (sf *tester) stage() {
- sf.t.Logf("stage()\n")
- sf.badStage1()
- sf.badStage2()
- }
- // STAGE имеет неизвестное значение
- func (sf *tester) badStage2() {
- sf.t.Logf("badStage2()\n")
- defer func() {
- if _panic := recover(); _panic == nil {
- sf.t.Errorf("badStage2(): panic==nil\n")
- }
- }()
- sf.me.dict["STAGE"] = "bad_local"
- sf.me.checkStage()
- }
- // Нет STAGE
- func (sf *tester) badStage1() {
- sf.t.Logf("badStage1()\n")
- defer func() {
- if _panic := recover(); _panic == nil {
- sf.t.Errorf("badStage1(): panic==nil\n")
- }
- }()
- delete(sf.me.dict, "STAGE")
- sf.me.checkStage()
- }
- // Локальная инициализация
- func (sf *tester) initLocal() {
- sf.initLocalBad1()
- sf.initLocalBad2()
- sf.initLocalBad3()
- sf.initLocalBad4()
- sf.initLocalGood1()
- sf.me.Unset()
- }
- func (sf *tester) initLocalGood1() {
- if err := sf.me.InitLocal(); err != nil {
- sf.t.Errorf("initLocalGood1(): err=\n\t%v\n", err)
- }
- }
- // Вообще нет STAGE
- func (sf *tester) initLocalBad4() {
- _fileEnv := fileEnv
- fileEnv = "./test_data/env_bad2"
- if err := sf.me.InitLocal(); err == nil {
- sf.t.Errorf("initLocalBad4(): err==nil\n")
- }
- fileEnv = _fileEnv
- }
- // Кривое значение STAGE
- func (sf *tester) initLocalBad3() {
- _fileEnv := fileEnv
- fileEnv = "./test_data/env_bad1"
- if err := sf.me.InitLocal(); err == nil {
- sf.t.Errorf("initLocalBad3(): err==nil\n")
- }
- fileEnv = _fileEnv
- }
- // Кривое содержимое файла
- func (sf *tester) initLocalBad2() {
- _fileEnv := fileEnv
- fileEnv = "./test_data/env_bad"
- if err := sf.me.InitLocal(); err == nil {
- sf.t.Errorf("initLocalBad2(): err==nil\n")
- }
- fileEnv = _fileEnv
- }
- // Кривое имя файла
- func (sf *tester) initLocalBad1() {
- _fileEnv := fileEnv
- fileEnv = "4"
- if err := sf.me.InitLocal(); err == nil {
- sf.t.Errorf("initLocalBad1(): err==nil\n")
- }
- fileEnv = _fileEnv
- }
- // Получение пар значений
- func (sf *tester) getPairs() {
- sf.getPairsBad1()
- sf.getPairsBad2()
- sf.getPairsBad3()
- sf.getPairsBad4()
- sf.getPairsGood1()
- }
- func (sf *tester) getPairsGood1() {
- dict, err := sf.me.getPairs("\nPARAM=\"123\"\nPARAM2=\"param2\"\n")
- if err != nil {
- sf.t.Errorf("getPairsGood1(): err=\n\t%v\n", err)
- }
- if dict == nil {
- sf.t.Errorf("getPairsGood1(): dict == nil\n")
- }
- }
- // Кривая пара
- func (sf *tester) getPairsBad4() {
- dict, err := sf.me.getPairs("\nPARAM=\"=\"=\"\"\nPARAM2=\"param2\"\n")
- if err == nil {
- sf.t.Errorf("getPairsBad4(): err==nil\n")
- }
- if dict != nil {
- sf.t.Errorf("getPairsBad4(): dict != nil\n")
- }
- }
- // Кривое значение
- func (sf *tester) getPairsBad3() {
- dict, err := sf.me.getPairs("\nPARAM=\"\"\nPARAM2=\"param2\"\n")
- if err == nil {
- sf.t.Errorf("getPairsBad3(): err==nil\n")
- }
- if dict != nil {
- sf.t.Errorf("getPairsBad3(): dict != nil\n")
- }
- }
- // Кривой ключ
- func (sf *tester) getPairsBad2() {
- dict, err := sf.me.getPairs("\n=\"param\"\nPARAM2=\"param2\"\n")
- if err == nil {
- sf.t.Errorf("getPairsBad2(): err==nil\n")
- }
- if dict != nil {
- sf.t.Errorf("getPairsBad2(): dict != nil\n")
- }
- }
- // Пустой текст
- func (sf *tester) getPairsBad1() {
- dict, err := sf.me.getPairs("\n\n\n")
- if err == nil {
- sf.t.Errorf("getPairsBad1(): err==nil\n")
- }
- if dict != nil {
- sf.t.Errorf("getPairsBad1(): dict != nil\n")
- }
- }
- // Чтение файла переменных окружения
- func (sf *tester) readFile() {
- sf.readFileBad1()
- sf.readFileBad2()
- sf.readFileBad3()
- sf.readFileGood1()
- }
- func (sf *tester) readFileGood1() {
- strData, err := sf.me.readFile()
- if err != nil {
- sf.t.Errorf("readFileGood1(): err=\n\t%v\n", err)
- }
- if strData == "" {
- sf.t.Errorf("readFileGood1(): strData is empty\n")
- }
- }
- // Кривой путь-2
- func (sf *tester) readFileBad3() {
- _selfPath := selfPath
- selfPath = "me/"
- strData, err := sf.me.readFile()
- if err == nil {
- sf.t.Errorf("readFileBad3(): err==nil\n")
- }
- if strData != "" {
- sf.t.Errorf("readFileBad3(): strData not empty\n")
- }
- selfPath = _selfPath
- }
- // Неправильное имя файла
- func (sf *tester) readFileBad2() {
- _fileEnv := fileEnv
- fileEnv = ""
- strData, err := sf.me.readFile()
- if err == nil {
- sf.t.Errorf("readFileBad2(): err==nil\n")
- }
- if strData != "" {
- sf.t.Errorf("readFileBad2(): strData not empty\n")
- }
- fileEnv = _fileEnv
- }
- // Кривой путь
- func (sf *tester) readFileBad1() {
- _selfPath := selfPath
- selfPath = "#"
- strData, err := sf.me.readFile()
- if err == nil {
- sf.t.Errorf("readFileBad1(): err==nil\n")
- }
- if strData != "" {
- sf.t.Errorf("readFileBad1(): strData not empty\n")
- }
- selfPath = _selfPath
- }
- // Иницилизация фейковыми данными
- func (sf *tester) initFake() {
- sf.me.InitFake()
- }
- // Создание объекта переменных окружения
- func (sf *tester) create() {
- sf.me = NewMockEnv()
- if sf.me == nil {
- sf.t.Errorf("create(): mockEnv is nil\n")
- }
- if sf.me.dict == nil {
- sf.t.Errorf("create(): dict env is nil")
- }
- if len_ := len(sf.me.dict); len_ != 0 {
- sf.t.Errorf("create(): len dict(%v)!=0\n", len_)
- }
- }
|