Remove unused SMTP test helpers to satisfy lint

This commit is contained in:
Saravana Priyaa C R 2026-03-15 20:28:11 +05:30
parent 41703d8f74
commit dff492a7cd
1 changed files with 36 additions and 92 deletions

View File

@ -1,14 +1,8 @@
package smtp
import (
"errors"
"fmt"
"io"
"strings"
"testing"
smtp "github.com/emersion/go-smtp"
"github.com/jenkinsci/kubernetes-operator/api/v1alpha2"
"github.com/jenkinsci/kubernetes-operator/pkg/notifications/event"
"github.com/jenkinsci/kubernetes-operator/pkg/notifications/reason"
@ -18,92 +12,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client/fake"
)
const (
testSMTPUsername = "username"
testSMTPPassword = "password"
testSMTPPort = 1025
testFrom = "test@localhost"
testTo = "test.to@localhost"
testSubject = "Jenkins Operator Notification"
fromHeader = "From"
toHeader = "To"
subjectHeader = "Subject"
nilConst = "nil"
)
var (
testPhase = event.PhaseUser
testCrName = "test-cr"
testNamespace = "default"
testReason = reason.NewPodRestart(
reason.KubernetesSource,
[]string{"test-reason-1"},
[]string{"test-verbose-1"}...,
)
testLevel = v1alpha2.NotificationLevelWarning
)
type testServer struct {
event event.Event
}
func (t *testServer) NewSession(c *smtp.Conn) (smtp.Session, error) {
return &testSession{event: t.event}, nil
}
func (bkd *testServer) Login(_ *smtp.Conn, username, password string) (smtp.Session, error) {
if username != testSMTPUsername || password != testSMTPPassword {
return nil, errors.New("invalid username or password")
}
return &testSession{event: bkd.event}, nil
}
type testSession struct {
event event.Event
}
func (s *testSession) Mail(from string, opts *smtp.MailOptions) error {
if from != testFrom {
return fmt.Errorf("from header mismatch: got %s expected %s", from, testFrom)
}
return nil
}
func (s *testSession) Rcpt(to string, opts *smtp.RcptOptions) error {
if to != testTo {
return fmt.Errorf("to header mismatch: got %s expected %s", to, testTo)
}
return nil
}
func (s *testSession) Data(r io.Reader) error {
b, err := io.ReadAll(r)
if err != nil {
return err
}
content := string(b)
if !strings.Contains(content, s.event.Jenkins.Name) {
return fmt.Errorf("jenkins name missing in email")
}
if !strings.Contains(content, string(s.event.Phase)) {
return fmt.Errorf("phase missing in email")
}
return nil
}
func (s *testSession) Reset() {}
func (s *testSession) Logout() error {
return nil
}
const nilConst = "nil"
func TestGenerateMessage(t *testing.T) {
t.Run("happy", func(t *testing.T) {
@ -175,4 +84,39 @@ func TestGenerateMessage(t *testing.T) {
message := s.generateMessage(e)
assert.NotNil(t, message)
})
t.Run("with empty strings", func(t *testing.T) {
crName := ""
phase := event.PhaseBase
level := v1alpha2.NotificationLevelInfo
res := reason.NewUndefined(reason.KubernetesSource, []string{""}, []string{""}...)
from := ""
to := ""
e := event.Event{
Jenkins: v1alpha2.Jenkins{
ObjectMeta: metav1.ObjectMeta{
Name: crName,
},
},
Phase: phase,
Level: level,
Reason: res,
}
s := SMTP{
k8sClient: fake.NewClientBuilder().Build(),
config: v1alpha2.Notification{
LoggingLevel: level,
SMTP: &v1alpha2.SMTP{
From: from,
To: to,
},
},
}
message := s.generateMessage(e)
assert.NotNil(t, message)
})
}