1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package backends
- import (
- "github.com/flashmob/go-guerrilla/log"
- "github.com/flashmob/go-guerrilla/mail"
- "io/ioutil"
- "os"
- "strings"
- "testing"
- )
- func TestRedisGeneric(t *testing.T) {
- e := mail.NewEnvelope("127.0.0.1", 1)
- e.RcptTo = append(e.RcptTo, mail.Address{User: "test", Host: "grr.la"})
- l, _ := log.GetLogger("./test_redis.log", "debug")
- g, err := New(BackendConfig{
- "save_process": "Hasher|Redis",
- "redis_interface": "127.0.0.1:6379",
- "redis_expire_seconds": 7200,
- }, l)
- if err != nil {
- t.Error(err)
- return
- }
- err = g.Start()
- if err != nil {
- t.Error(err)
- return
- }
- defer func() {
- err := g.Shutdown()
- if err != nil {
- t.Error(err)
- }
- }()
- if gateway, ok := g.(*BackendGateway); ok {
- r := gateway.Process(e)
- if strings.Index(r.String(), "250 2.0.0 OK") == -1 {
- t.Error("redis processor didn't result with expected result, it said", r)
- }
- }
- // check the log
- if _, err := os.Stat("./test_redis.log"); err != nil {
- t.Error(err)
- return
- }
- if b, err := ioutil.ReadFile("./test_redis.log"); err != nil {
- t.Error(err)
- return
- } else {
- if strings.Index(string(b), "SETEX") == -1 {
- t.Error("Log did not contain SETEX, the log was: ", string(b))
- }
- }
- if err := os.Remove("./test_redis.log"); err != nil {
- t.Error(err)
- }
- }
|