github.com/goravel/framework@v1.13.9/auth/console/jwt_secret_command_test.go (about) 1 package console 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 9 configmock "github.com/goravel/framework/contracts/config/mocks" 10 consolemocks "github.com/goravel/framework/contracts/console/mocks" 11 "github.com/goravel/framework/support" 12 "github.com/goravel/framework/support/file" 13 ) 14 15 func TestJwtSecretCommand(t *testing.T) { 16 mockConfig := &configmock.Config{} 17 mockConfig.On("GetString", "jwt.secret").Return("").Twice() 18 19 jwtSecretCommand := NewJwtSecretCommand(mockConfig) 20 mockContext := &consolemocks.Context{} 21 22 assert.False(t, file.Exists(".env")) 23 err := file.Create(".env", "JWT_SECRET=\n") 24 assert.Nil(t, err) 25 26 assert.Nil(t, jwtSecretCommand.Handle(mockContext)) 27 28 assert.True(t, file.Exists(".env")) 29 env, err := os.ReadFile(".env") 30 assert.Nil(t, err) 31 assert.True(t, len(env) > 10) 32 assert.Nil(t, file.Remove(".env")) 33 34 mockConfig.AssertExpectations(t) 35 } 36 37 func TestJwtSecretCommandWithCustomEnvFile(t *testing.T) { 38 support.EnvPath = "config.conf" 39 40 mockConfig := &configmock.Config{} 41 mockConfig.On("GetString", "jwt.secret").Return("").Twice() 42 43 jwtSecretCommand := NewJwtSecretCommand(mockConfig) 44 mockContext := &consolemocks.Context{} 45 46 assert.False(t, file.Exists("config.conf")) 47 err := file.Create("config.conf", "JWT_SECRET=\n") 48 assert.Nil(t, err) 49 50 assert.Nil(t, jwtSecretCommand.Handle(mockContext)) 51 52 assert.True(t, file.Exists("config.conf")) 53 env, err := os.ReadFile("config.conf") 54 assert.Nil(t, err) 55 assert.True(t, len(env) > 10) 56 assert.Nil(t, file.Remove("config.conf")) 57 58 support.EnvPath = ".env" 59 60 mockConfig.AssertExpectations(t) 61 }