- package config_test
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-
- "gerrit.wikimedia.org/r/blubber/config"
- )
-
- func TestUserConfigValidation(t *testing.T) {
- t.Run("as", func(t *testing.T) {
- t.Run("ok", func(t *testing.T) {
- err := config.Validate(config.UserConfig{
- As: "foo-bar.baz",
- })
-
- assert.False(t, config.IsValidationError(err))
- })
-
- t.Run("optional", func(t *testing.T) {
- err := config.Validate(config.UserConfig{})
-
- assert.False(t, config.IsValidationError(err))
- })
-
- t.Run("no spaces", func(t *testing.T) {
- err := config.Validate(config.UserConfig{
- As: "foo bar",
- })
-
- if assert.True(t, config.IsValidationError(err)) {
- msg := config.HumanizeValidationError(err)
-
- assert.Equal(t, `as: "foo bar" is not a valid user name`, msg)
- }
- })
-
- t.Run("long enough", func(t *testing.T) {
- err := config.Validate(config.UserConfig{
- As: "fo",
- })
-
- if assert.True(t, config.IsValidationError(err)) {
- msg := config.HumanizeValidationError(err)
-
- assert.Equal(t, `as: "fo" is not a valid user name`, msg)
- }
- })
-
- t.Run("not root", func(t *testing.T) {
- err := config.Validate(config.UserConfig{
- As: "root",
- })
-
- if assert.True(t, config.IsValidationError(err)) {
- msg := config.HumanizeValidationError(err)
-
- assert.Equal(t, `as: "root" is not a valid user name`, msg)
- }
- })
- })
- }
|