|
5 | 5 | "fmt"
|
6 | 6 | "os"
|
7 | 7 | "path"
|
| 8 | + "path/filepath" |
8 | 9 | "strings"
|
9 | 10 | "testing"
|
10 | 11 | )
|
@@ -35,23 +36,45 @@ func TestInitializeEasyLoggingOnlyOnceWhenConfigGivenAsAParameter(t *testing.T)
|
35 | 36 | }
|
36 | 37 |
|
37 | 38 | func TestConfigureEasyLoggingOnlyOnceWhenInitializedWithoutConfigFilePath(t *testing.T) {
|
38 |
| - defer cleanUp() |
39 |
| - configDir, err := os.UserHomeDir() |
40 |
| - logDir := t.TempDir() |
41 |
| - assertNilF(t, err, "user home directory error") |
42 |
| - logLevel := levelError |
43 |
| - contents := createClientConfigContent(logLevel, logDir) |
44 |
| - configFilePath := createFile(t, defaultConfigName, contents, configDir) |
45 |
| - defer os.Remove(configFilePath) |
46 |
| - easyLoggingInitTrials.reset() |
47 |
| - |
48 |
| - err = openWithClientConfigFile(t, "") |
49 |
| - assertNilF(t, err, "open config error") |
50 |
| - err = openWithClientConfigFile(t, "") |
51 |
| - assertNilF(t, err, "open config error") |
| 39 | + appExe, err := os.Executable() |
| 40 | + assertNilF(t, err, "application exe not accessible") |
| 41 | + userHome, err := os.UserHomeDir() |
| 42 | + assertNilF(t, err, "user home directory not accessible") |
| 43 | + |
| 44 | + testcases := []struct { |
| 45 | + name string |
| 46 | + dir string |
| 47 | + }{ |
| 48 | + { |
| 49 | + name: "user home directory", |
| 50 | + dir: userHome, |
| 51 | + }, |
| 52 | + { |
| 53 | + name: "application directory", |
| 54 | + dir: filepath.Dir(appExe), |
| 55 | + }, |
| 56 | + } |
52 | 57 |
|
53 |
| - assertEqualE(t, toClientConfigLevel(logger.GetLogLevel()), logLevel, "error log level check") |
54 |
| - assertEqualE(t, easyLoggingInitTrials.configureCounter, 1) |
| 58 | + for _, test := range testcases { |
| 59 | + t.Run(test.name, func(t *testing.T) { |
| 60 | + defer cleanUp() |
| 61 | + logDir := t.TempDir() |
| 62 | + assertNilF(t, err, "user home directory error") |
| 63 | + logLevel := levelError |
| 64 | + contents := createClientConfigContent(logLevel, logDir) |
| 65 | + configFilePath := createFile(t, defaultConfigName, contents, test.dir) |
| 66 | + defer os.Remove(configFilePath) |
| 67 | + easyLoggingInitTrials.reset() |
| 68 | + |
| 69 | + err = openWithClientConfigFile(t, "") |
| 70 | + assertNilF(t, err, "open config error") |
| 71 | + err = openWithClientConfigFile(t, "") |
| 72 | + assertNilF(t, err, "open config error") |
| 73 | + |
| 74 | + assertEqualE(t, toClientConfigLevel(logger.GetLogLevel()), logLevel, "error log level check") |
| 75 | + assertEqualE(t, easyLoggingInitTrials.configureCounter, 1) |
| 76 | + }) |
| 77 | + } |
55 | 78 | }
|
56 | 79 |
|
57 | 80 | func TestReconfigureEasyLoggingIfConfigPathWasNotGivenForTheFirstTime(t *testing.T) {
|
|
0 commit comments