package smtpclient

import (
	"net/smtp"
)

type MockSMTPInterface interface {
	Auth(username string, password string)
	Send(from string, to []string, subject string, body string) error
	Close()
}

type MockSMTP struct {
	Host     string
	Port     int
	Username string
	auth     smtp.Auth
}

func (s *MockSMTP) Auth(username string, password string) {
	s.auth = smtp.PlainAuth("", username, password, s.Host)
}

func (s *MockSMTP) Send(from string, to []string, subject string, body string) error {
	return nil
}

func (s *MockSMTP) Close() {
	s.Host = ""
	s.Username = ""
	s.auth = nil
}
