2021-01-26 04:17:22 +00:00
package openvpn
import (
"testing"
"github.com/qdm12/golibs/logging"
"github.com/stretchr/testify/assert"
)
func Test_processLogLine ( t * testing . T ) {
t . Parallel ( )
tests := map [ string ] struct {
s string
filtered string
level logging . Level
} {
2021-02-25 23:51:29 +00:00
"empty string" : { "" , "" , logging . LevelInfo } ,
"random string" : { "asdasqdb" , "asdasqdb" , logging . LevelInfo } ,
2021-01-26 04:17:22 +00:00
"openvpn unknown" : {
"message" ,
"message" ,
2021-02-25 23:51:29 +00:00
logging . LevelInfo } ,
2021-01-26 04:17:22 +00:00
"openvpn note" : {
"NOTE: message" ,
"message" ,
2021-02-25 23:51:29 +00:00
logging . LevelInfo } ,
2021-01-26 04:17:22 +00:00
"openvpn warning" : {
"WARNING: message" ,
"message" ,
2021-02-25 23:51:29 +00:00
logging . LevelWarn } ,
2021-01-26 04:17:22 +00:00
"openvpn options error" : {
"Options error: message" ,
"message" ,
2021-02-25 23:51:29 +00:00
logging . LevelError } ,
2021-01-26 04:17:22 +00:00
"openvpn ignored message" : {
"NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay" ,
"" ,
2021-02-25 23:51:29 +00:00
logging . LevelDebug } ,
2021-01-26 04:17:22 +00:00
"openvpn success" : {
"Initialization Sequence Completed" ,
"Initialization Sequence Completed" ,
2021-02-25 23:51:29 +00:00
logging . LevelInfo } ,
2021-01-26 04:17:22 +00:00
"openvpn auth failed" : {
"AUTH: Received control message: AUTH_FAILED" ,
"AUTH: Received control message: AUTH_FAILED\n\nYour credentials might be wrong 🤨\n\n💡 If you use Private Internet Access, check https://github.com/qdm12/gluetun/issues/265\n\n" , //nolint:lll
2021-02-25 23:51:29 +00:00
logging . LevelError } ,
2021-01-26 04:17:22 +00:00
}
for name , tc := range tests {
tc := tc
t . Run ( name , func ( t * testing . T ) {
t . Parallel ( )
filtered , level := processLogLine ( tc . s )
assert . Equal ( t , tc . filtered , filtered )
assert . Equal ( t , tc . level , level )
} )
}
}