github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/log/config_test.go (about)

     1  package log
     2  
     3  import "testing"
     4  
     5  // TestRead 测试读取配置文件的时候可能遇到的问题
     6  func TestRead(t *testing.T) {
     7  	// 配置文件不存在
     8  	loggerPath = "../conf/no_ars.logger.json"
     9  	_, err := read()
    10  	t.Log(err)
    11  	if err == nil {
    12  		t.Error("test fail")
    13  		return
    14  	}
    15  
    16  	// 无法读取配置文件,文件权限为000
    17  	loggerPath = "../conf/without_x_ars.logger.json"
    18  	_, err = read()
    19  	t.Log(err)
    20  	if err == nil {
    21  		t.Error("test fail")
    22  		return
    23  	}
    24  
    25  	// 配置文件有误
    26  	loggerPath = "../conf/err_ars.logger.json"
    27  	_, err = read()
    28  	t.Log(err)
    29  	if err == nil {
    30  		t.Error("test fail")
    31  		return
    32  	}
    33  
    34  	// 正常读取配置文件
    35  	loggerPath = "../conf/ars.logger.json"
    36  	_, err = read()
    37  	t.Log(err)
    38  	if err != nil {
    39  		t.Errorf("读取配置文件失败:%v", err)
    40  		return
    41  	}
    42  }
    43  
    44  // TestWriteToFile 测试如果配置文件不存在,创建默认配置文件
    45  func TestWriteToFile(t *testing.T) {
    46  	loggerPath = "../conf/ars.logger.json"
    47  	appenders, err := read()
    48  	if err != nil {
    49  		t.Errorf("读取配置文件失败:%v", err)
    50  		return
    51  	}
    52  
    53  	// 读取配置文件失败【没有权限】
    54  	err = writeToFile("/root/ars.logger.json", appenders)
    55  	if err == nil {
    56  		t.Error("test fail")
    57  	}
    58  
    59  	// 配置文件不存在
    60  	err = writeToFile("../logs/newlogger/20161123.log", appenders)
    61  	if err != nil {
    62  		t.Errorf("test fail:%v", err)
    63  	}
    64  
    65  	// 正常写配置文件
    66  	err = writeToFile("../logs/newlogger/20161125.log", appenders)
    67  	if err != nil {
    68  		t.Errorf("test fail:%v", err)
    69  	}
    70  
    71  	// 路径包含特殊字符
    72  	err = writeToFile("../////", appenders)
    73  	if err == nil {
    74  		t.Error("test fail")
    75  	}
    76  }