Skip to content

Commit 7637cc2

Browse files
committed
Move all “integration” tests of imap package into main
1 parent 00b02e3 commit 7637cc2

File tree

7 files changed

+196
-172
lines changed

7 files changed

+196
-172
lines changed
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package imap_test
1+
package main
22

33
import (
44
"bufio"
@@ -67,24 +67,29 @@ var loginTests = []struct {
6767

6868
// Functions
6969

70+
// testAddr returns the addr to use in tests
71+
func testAddr() string {
72+
return fmt.Sprintf("%s:%s", testEnv.Config.Distributor.PublicIP, testEnv.Config.Distributor.Port)
73+
}
74+
7075
func TestMain(m *testing.M) {
7176

7277
var err error
7378

7479
// Create needed test environment.
75-
testEnv, err = utils.CreateTestEnv("../test-config.toml")
80+
testEnv, err = utils.CreateTestEnv("./test-config.toml")
7681
if err != nil {
7782
log.Fatal(err)
7883
}
7984

8085
// Run all nodes in background.
81-
utils.RunAllNodes(testEnv, "worker-1")
86+
RunAllNodes(testEnv, "worker-1")
8287

8388
// Run all tests of this package.
8489
success := m.Run()
8590

8691
// Tear down test setup.
87-
utils.TearDownNormalSetup(testEnv)
92+
TearDownNormalSetup(testEnv)
8893

8994
// Return with test return value.
9095
os.Exit(success)
@@ -95,7 +100,7 @@ func TestMain(m *testing.M) {
95100
func TestCapability(t *testing.T) {
96101

97102
// Connect to IMAP distributor.
98-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
103+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
99104
if err != nil {
100105
t.Fatalf("[imap.TestCapability] Error during connection attempt to IMAP distributor: %s\n", err.Error())
101106
}
Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
package imap
1+
package main
22

33
import (
44
"log"
55
"testing"
66
"time"
77

88
"github.com/numbleroot/pluto/config"
9+
"github.com/numbleroot/pluto/imap"
910
)
1011

1112
// Functions
@@ -15,26 +16,26 @@ import (
1516
func TestInitDistributor(t *testing.T) {
1617

1718
// Read configuration from file.
18-
config, err := config.LoadConfig("../test-config.toml")
19+
conf, err := config.LoadConfig("./test-config.toml")
1920
if err != nil {
2021
t.Fatalf("[imap.TestInitDistributor] Expected loading of configuration file not to fail but: '%s'\n", err.Error())
2122
}
2223

23-
workerConf := config.Workers["worker-1"]
24+
workerConf := conf.Workers["worker-1"]
2425

2526
// Set different ports for this test to
2627
// avoid conflicting binds.
27-
config.Distributor.Port = "39933"
28+
conf.Distributor.Port = "39933"
2829
workerConf.MailPort = "40001"
2930
workerConf.SyncPort = "50001"
30-
config.Workers["worker-1"] = workerConf
31-
config.Storage.MailPort = "41000"
32-
config.Storage.SyncPort = "51000"
31+
conf.Workers["worker-1"] = workerConf
32+
conf.Storage.MailPort = "41000"
33+
conf.Storage.SyncPort = "51000"
3334

3435
go func() {
3536

3637
// Correct storage initialization.
37-
storage, err := InitStorage(config)
38+
storage, err := imap.InitStorage(conf)
3839
if err != nil {
3940
t.Fatalf("[imap.TestInitDistributor] Expected correct storage initialization but failed with: '%s'\n", err.Error())
4041
}
@@ -55,7 +56,7 @@ func TestInitDistributor(t *testing.T) {
5556
go func() {
5657

5758
// Correct worker initialization.
58-
worker, err := InitWorker(config, "worker-1")
59+
worker, err := imap.InitWorker(conf, "worker-1")
5960
if err != nil {
6061
t.Fatalf("[imap.TestInitDistributor] Expected correct worker-1 initialization but failed with: '%s'\n", err.Error())
6162
}
@@ -73,8 +74,13 @@ func TestInitDistributor(t *testing.T) {
7374

7475
time.Sleep(400 * time.Millisecond)
7576

77+
authenticator, err := initAuthenticator(conf)
78+
if err != nil {
79+
log.Fatalf("[imap.TestInitDistributor] Failed to initialize authenticator: %v", err)
80+
}
81+
7682
// Correct distributor initialization.
77-
distr, err := InitDistributor(config)
83+
distr, err := imap.InitDistributor(conf, authenticator)
7884
if err != nil {
7985
t.Fatalf("[imap.TestInitDistributor] Expected correct distributor initialization but failed with: '%s'\n", err.Error())
8086
}
Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package imap_test
1+
package main
22

33
import (
44
"bufio"
@@ -24,8 +24,6 @@ Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
2424
Hello Joe, do you think we can meet at 3:30 tomorrow?
2525
`
2626

27-
// Structs
28-
2927
var selectTests = []struct {
3028
in string
3129
out string
@@ -309,7 +307,7 @@ var proxiedExpungeTests = []struct {
309307
func TestSelect(t *testing.T) {
310308

311309
// Connect to IMAP server.
312-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
310+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
313311
if err != nil {
314312
t.Fatalf("[imap.TestSelect] Error during connection attempt to IMAP server: %s\n", err.Error())
315313
}
@@ -374,7 +372,7 @@ func TestSelect(t *testing.T) {
374372
func TestCreate(t *testing.T) {
375373

376374
// Connect to IMAP server.
377-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
375+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
378376
if err != nil {
379377
t.Fatalf("[imap.TestCreate] Error during connection attempt to IMAP server: %s\n", err.Error())
380378
}
@@ -439,7 +437,7 @@ func TestCreate(t *testing.T) {
439437
func TestDelete(t *testing.T) {
440438

441439
// Connect to IMAP server.
442-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
440+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
443441
if err != nil {
444442
t.Fatalf("[imap.TestDelete] Error during connection attempt to IMAP server: %s\n", err.Error())
445443
}
@@ -504,7 +502,7 @@ func TestDelete(t *testing.T) {
504502
func TestList(t *testing.T) {
505503

506504
// Connect to IMAP server.
507-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
505+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
508506
if err != nil {
509507
t.Fatalf("[imap.TestList] Error during connection attempt to IMAP server: %s\n", err.Error())
510508
}
@@ -569,7 +567,7 @@ func TestList(t *testing.T) {
569567
func TestAppend(t *testing.T) {
570568

571569
// Connect to IMAP server.
572-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
570+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
573571
if err != nil {
574572
t.Fatalf("[imap.TestAppend] Error during connection attempt to IMAP server: %s\n", err.Error())
575573
}
@@ -644,7 +642,7 @@ func TestAppend(t *testing.T) {
644642
func TestStore(t *testing.T) {
645643

646644
// Connect to IMAP server.
647-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
645+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
648646
if err != nil {
649647
t.Fatalf("[imap.TestStore] Error during connection attempt to IMAP server: %s\n", err.Error())
650648
}
@@ -672,7 +670,7 @@ func TestStore(t *testing.T) {
672670
// the used connection.
673671
c.Terminate()
674672

675-
conn, err = tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
673+
conn, err = tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
676674
if err != nil {
677675
t.Fatalf("[imap.TestStore] Error during connection attempt to IMAP server: %s\n", err.Error())
678676
}
@@ -750,7 +748,7 @@ func TestStore(t *testing.T) {
750748
func TestExpunge(t *testing.T) {
751749

752750
// Connect to IMAP server.
753-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
751+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
754752
if err != nil {
755753
t.Fatalf("[imap.TestExpunge] Error during connection attempt to IMAP server: %s\n", err.Error())
756754
}
@@ -825,7 +823,7 @@ func TestExpunge(t *testing.T) {
825823
func TestProxiedSelect(t *testing.T) {
826824

827825
// Connect to IMAP server.
828-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
826+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
829827
if err != nil {
830828
t.Fatalf("[imap.TestProxiedSelect] Error during connection attempt to IMAP server: %s\n", err.Error())
831829
}
@@ -890,7 +888,7 @@ func TestProxiedSelect(t *testing.T) {
890888
func TestProxiedCreate(t *testing.T) {
891889

892890
// Connect to IMAP server.
893-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
891+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
894892
if err != nil {
895893
t.Fatalf("[imap.TestProxiedCreate] Error during connection attempt to IMAP server: %s\n", err.Error())
896894
}
@@ -955,7 +953,7 @@ func TestProxiedCreate(t *testing.T) {
955953
func TestProxiedDelete(t *testing.T) {
956954

957955
// Connect to IMAP server.
958-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
956+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
959957
if err != nil {
960958
t.Fatalf("[imap.TestProxiedDelete] Error during connection attempt to IMAP server: %s\n", err.Error())
961959
}
@@ -1020,7 +1018,7 @@ func TestProxiedDelete(t *testing.T) {
10201018
func TestProxiedList(t *testing.T) {
10211019

10221020
// Connect to IMAP server.
1023-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
1021+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
10241022
if err != nil {
10251023
t.Fatalf("[imap.TestProxiedList] Error during connection attempt to IMAP server: %s\n", err.Error())
10261024
}
@@ -1085,7 +1083,7 @@ func TestProxiedList(t *testing.T) {
10851083
func TestProxiedAppend(t *testing.T) {
10861084

10871085
// Connect to IMAP server.
1088-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
1086+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
10891087
if err != nil {
10901088
t.Fatalf("[imap.TestProxiedAppend] Error during connection attempt to IMAP server: %s\n", err.Error())
10911089
}
@@ -1160,7 +1158,7 @@ func TestProxiedAppend(t *testing.T) {
11601158
func TestProxiedStore(t *testing.T) {
11611159

11621160
// Connect to IMAP server.
1163-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
1161+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
11641162
if err != nil {
11651163
t.Fatalf("[imap.TestProxiedStore] Error during connection attempt to IMAP server: %s\n", err.Error())
11661164
}
@@ -1188,7 +1186,7 @@ func TestProxiedStore(t *testing.T) {
11881186
// the used connection.
11891187
c.Terminate()
11901188

1191-
conn, err = tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
1189+
conn, err = tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
11921190
if err != nil {
11931191
t.Fatalf("[imap.TestProxiedStore] Error during connection attempt to IMAP server: %s\n", err.Error())
11941192
}
@@ -1266,7 +1264,7 @@ func TestProxiedStore(t *testing.T) {
12661264
func TestProxiedExpunge(t *testing.T) {
12671265

12681266
// Connect to IMAP server.
1269-
conn, err := tls.Dial("tcp", (testEnv.Config.Distributor.PublicIP + ":" + testEnv.Config.Distributor.Port), testEnv.TLSConfig)
1267+
conn, err := tls.Dial("tcp", testAddr(), testEnv.TLSConfig)
12701268
if err != nil {
12711269
t.Fatalf("[imap.TestProxiedExpunge] Error during connection attempt to IMAP server: %s\n", err.Error())
12721270
}

0 commit comments

Comments
 (0)