package testutil import ( "os" "testing" "github.com/stretchr/testify/suite" ) // BaseSuite is a base test suite with common functionality for tests. // It is designed for unit and mock-based integration tests and does not // handle database connections. type BaseSuite struct { suite.Suite } // SetupSuite can be overridden by specific test suites for setup. func (s *BaseSuite) SetupSuite() { // No-op by default. } // TearDownSuite can be overridden by specific test suites for teardown. func (s *BaseSuite) TearDownSuite() { // No-op by default. } // SetupTest can be overridden by specific test suites for per-test setup. func (s *BaseSuite) SetupTest() { // No-op by default. } // TearDownTest can be overridden by specific test suites for per-test teardown. func (s *BaseSuite) TearDownTest() { // No-op by default. } // getEnv gets an environment variable or returns a default value. // This is kept as a general utility function. func getEnv(key, defaultValue string) string { value, exists := os.LookupEnv(key) if !exists { return defaultValue } return value } // SkipIfShort skips a test if the -short flag is provided. func SkipIfShort(t *testing.T) { if testing.Short() { t.Skip("Skipping test in short mode") } }