fleet/server/service/integration_smtp_test.go
Victor Lyuboslavsky 62186cb6bd
Final slog migration PR: test infrastructure + tools + remaining standalone files (#40727)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40540 

go-kit/log is no longer a direct dependency; moved kitlog adapter
required for some 3rd party libraries into its own package

# Checklist for submitter

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
  - Present in previous PR

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Modernized logging across the codebase: switched from legacy logging
wrappers to Go's standard slog, updated adapters, tests, tools, and
server components.
* Threaded the new slog logger through test utilities and tooling;
adjusted a small number of logging-related function/constructor
signatures to accept the new logger type (minor compatibility updates).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-28 05:52:21 -06:00

55 lines
1.1 KiB
Go

package service
import (
"encoding/json"
"log/slog"
"net/http"
"os"
"testing"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
)
type integrationSMTPTestSuite struct {
suite.Suite
withServer
}
func (s *integrationSMTPTestSuite) SetupSuite() {
s.withDS.SetupSuite("integrationSMTPTestSuite")
opts := &TestServerOpts{
UseMailService: true,
}
if os.Getenv("FLEET_INTEGRATION_TESTS_DISABLE_LOG") != "" {
opts.Logger = slog.New(slog.DiscardHandler)
}
users, server := RunServerForTestsWithDS(
s.T(),
s.ds,
opts)
s.server = server
s.users = users
s.token = s.getTestAdminToken()
}
func TestIntegrationsSMTP(t *testing.T) {
testingSuite := new(integrationSMTPTestSuite)
testingSuite.s = &testingSuite.Suite
suite.Run(t, testingSuite)
}
func (s *integrationSMTPTestSuite) TestSMTPValidation() {
t := s.T()
acResp := appConfigResponse{}
s.DoJSON("PATCH", "/api/latest/fleet/config", json.RawMessage(`{
"smtp_settings": {
"enable_smtp": true,
"sender_address": "sender@email.com",
"server": "http://localhost:62000"
}
}`), http.StatusUnprocessableEntity, &acResp)
require.NotNil(t, acResp)
}