1+ /*
2+ Maddy Mail Server - Composable all-in-one email server.
3+ Copyright © 2019-2020 Max Mazurov <fox.cpp@disroot.org>, Maddy Mail Server contributors
4+
5+ This program is free software: you can redistribute it and/or modify
6+ it under the terms of the GNU General Public License as published by
7+ the Free Software Foundation, either version 3 of the License, or
8+ (at your option) any later version.
9+
10+ This program is distributed in the hope that it will be useful,
11+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+ GNU General Public License for more details.
14+
15+ You should have received a copy of the GNU General Public License
16+ along with this program. If not, see <https://www.gnu.org/licenses/>.
17+ */
18+
19+ package milter
20+
21+ import (
22+ "testing"
23+
24+ "github.com/foxcpp/maddy/framework/config"
25+ )
26+
27+ func TestAcceptValidEndpoints (t * testing.T ) {
28+ for _ , endpoint := range []string {
29+ "tcp://0.0.0.0:10025" ,
30+ "tcp://[::]:10025" ,
31+ "tcp:127.0.0.1:10025" ,
32+ "unix://path" ,
33+ "unix:path" ,
34+ "unix:/path" ,
35+ "unix:///path" ,
36+ "unix://also/path" ,
37+ "unix:///also/path" ,
38+ } {
39+ c := & Check {milterUrl : endpoint }
40+
41+ err := c .Init (& config.Map {})
42+ if err != nil {
43+ t .Errorf ("Unexpected failure for %s: %v" , endpoint , err )
44+ return
45+ }
46+ }
47+ }
48+
49+ func TestRejectInvalidEndpoints (t * testing.T ) {
50+ for _ , endpoint := range []string {
51+ "tls://0.0.0.0:10025" ,
52+ "tls:0.0.0.0:10025" ,
53+ } {
54+ c := & Check {milterUrl : endpoint }
55+ err := c .Init (& config.Map {})
56+ if err == nil {
57+ t .Errorf ("Accepted invalid endpoint: %s" , endpoint )
58+ return
59+ }
60+ }
61+ }
0 commit comments