wal-g

Форк
0
/
stream_fetch_helper_test.go 
74 строки · 1.9 Кб
1
package internal
2

3
import (
4
	"testing"
5
	"time"
6

7
	"github.com/spf13/viper"
8
	"github.com/stretchr/testify/assert"
9
	conf "github.com/wal-g/wal-g/internal/config"
10
)
11

12
const (
13
	endTSEnvVar                 = "someTSEnvVar"
14
	operationLogsDstEnvVariable = "someOperationLogsDstEnv"
15
)
16

17
func TestParseTs_shouldParseRFC3339(t *testing.T) {
18
	currentTime := time.Now().UTC().Truncate(time.Second)
19
	viper.Set(endTSEnvVar, currentTime.Format(time.RFC3339))
20
	parsedTime, err := ParseTS(endTSEnvVar)
21
	viper.Set(endTSEnvVar, nil)
22
	assert.NoError(t, err)
23
	assert.Equal(t, &currentTime, parsedTime)
24
	resetToDefaults()
25
}
26

27
func TestParseTs_shouldFailOnWrongFormat(t *testing.T) {
28
	currentTime := time.Now().UTC().Truncate(time.Second)
29
	viper.Set(endTSEnvVar, currentTime.Format(time.RFC822))
30
	parsedTime, err := ParseTS(endTSEnvVar)
31
	viper.Set(endTSEnvVar, nil)
32
	assert.Error(t, err)
33
	assert.Nil(t, parsedTime)
34
	resetToDefaults()
35
}
36

37
func TestParseTs_shouldFailOnBadTimeString(t *testing.T) {
38
	viper.Set(endTSEnvVar, "some_total_gibberish_no_time_string_at_all")
39
	parsedTime, err := ParseTS(endTSEnvVar)
40
	viper.Set(endTSEnvVar, nil)
41
	assert.Error(t, err)
42
	assert.Nil(t, parsedTime)
43
	resetToDefaults()
44
}
45

46
func TestParseTs_shouldReturnNilOnNoTime(t *testing.T) {
47
	parsedTime, err := ParseTS(endTSEnvVar)
48
	assert.NoError(t, err)
49
	assert.Nil(t, parsedTime)
50
	resetToDefaults()
51
}
52

53
func TestGetLogsDstSettings_simpleCase(t *testing.T) {
54
	directoryMock := "some_kek_dir"
55
	viper.Set(operationLogsDstEnvVariable, directoryMock)
56
	parsedDirectory, err := GetLogsDstSettings(operationLogsDstEnvVariable)
57
	assert.NoError(t, err)
58
	assert.Equal(t, directoryMock, parsedDirectory)
59
	resetToDefaults()
60
}
61

62
func TestGetLogsDstSettings_shouldReturnNilOnNoDirectory(t *testing.T) {
63
	parsedDirectory, err := GetLogsDstSettings(operationLogsDstEnvVariable)
64
	assert.Error(t, err)
65
	assert.Equal(t, "", parsedDirectory)
66
	resetToDefaults()
67
}
68

69
func resetToDefaults() {
70
	viper.Reset()
71
	ConfigureSettings(conf.PG)
72
	conf.InitConfig()
73
	conf.Configure()
74
}
75

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.