summaryrefslogtreecommitdiff
path: root/tests/connector-test-plan.txt
blob: bd9b2f6caca640a21d14d83b5c0dbd454f94323b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Tests:

Syntactic validity:

Invalid JID (empty)     → Bad JID error
Invalid JID (no domain) → Bad JID error
============================================================================

Connection details:

DOMAIN = latter part of JID
HOST   = specific host provided by user
SRV    = host + port from SRV record

SRV │ Host │ Port │ Expected Attempt:
────┼──────┼──────┼──────────────────────────────
0   │ 0    │ 0    │ connect to DOMAIN + 5222
0   │ 0    │ 1    │ connect to DOMAIN + port
0   │ 1    │ 0    │ connect to HOST   + 5222
0   │ 1    │ 1    │ connect to specified HOST+PORT
0   │ ☠    │ 0    │ duff host. die.
0   │ ☠    │ 1    │ duff host. die.
1   │ 0    │ 0    │ connect to SRV
1   │ 0    │ 1    │ connect to DOMAIN + PORT
1   │ 1    │ 0    │ connect to HOST   + 5222
1   │ 1    │ 1    │ connect to HOST   + PORT
1   │ ☠    │ 0    │ duff host. die.
1   │ ☠    │ 1    │ duff host. die.
☠   │ 0    │ 0    │ duff SRV. die.
☠   │ 0    │ 1    │ connect to DOMAIN + PORT
☠   │ 1    │ 0    │ connect to HOST   + 5222
☠   │ 1    │ 1    │ connect to HOST   + port
☠   │ ☠    │ 0    │ duff HOST. die.
☠   │ ☠    │ 1    │ duff HOST. die.
============================================================================

Feature Requirements/Support tests:

+TLS       = TLS provided by server
-TLS       = TLS not provided
INSEC AUTH = Insecure auth channels permitted
TLS PLAIN  = Insecure auth over TLS permitted
DIGEST     = + → digest auth available; - → only PLAIN available

Tests flagged with * need to be repeated 4 times, with good auth details,
a bad password, a bad user and with both wrong. The rest should fail before
we get that far.
────┬────────────┬────────────┬─────────────────┬────────────────────────┐
TLS │ INSEC AUTH │ TLS PLAIN  │ Server Features │ Attempted Action(s)    │
 0  │     0      │    x       │ -TLS-DIGEST     │ auth failure           │
 0  │     0      │    x       │ -TLS+DIGEST     │ digest auth          * │
 0  │     1      │    x       │ -TLS-DIGEST     │ plain auth           * │
 0  │     1      │    x       │ -TLS+DIGEST     │ digest auth          * │
────┼────────────┼────────────┼─────────────────┼────────────────────────┤
 1  │     0      │    0       │ -TLS            │ TLS neg failure        │
 1  │     0      │    1       │ -TLS            │ TLS neg failure        │
 1  │     1      │    0       │ -TLS            │ TLS neg failure        │
 1  │     1      │    1       │ -TLS            │ TLS neg failure        │
────┼────────────┼────────────┼─────────────────┼────────────────────────┤
 0  │     0      │    0       │ +TLS-DIGEST     │ TLS auth failure       │
 0  │     0      │    1       │ +TLS-DIGEST     │ TLS plain auth       * │
 0  │     1      │    0       │ +TLS-DIGEST     │ TLS plain auth       * │
 0  │     1      │    1       │ +TLS-DIGEST     │ TLS plain auth       * │
 1  │     0      │    0       │ +TLS-DIGEST     │ TLS auth failure       │
 1  │     0      │    1       │ +TLS-DIGEST     │ TLS plain auth       * │
 1  │     1      │    0       │ +TLS-DIGEST     │ TLS plain auth       * │
 1  │     1      │    1       │ +TLS-DIGEST     │ TLS plain auth       * │
────┼────────────┼────────────┼─────────────────┼────────────────────────┤
 0  │     0      │    0       │ +TLS+DIGEST     │ TLS digest auth      * │
 0  │     0      │    1       │ +TLS+DIGEST     │ TLS digest auth      * │
 0  │     1      │    0       │ +TLS+DIGEST     │ TLS digest auth      * │
 0  │     1      │    1       │ +TLS+DIGEST     │ TLS digest auth      * │
 1  │     0      │    0       │ +TLS+DIGEST     │ TLS digest auth      * │
 1  │     0      │    1       │ +TLS+DIGEST     │ TLS digest auth      * │
 1  │     1      │    0       │ +TLS+DIGEST     │ TLS digest auth      * │
 1  │     1      │    0       │ +TLS+DIGEST     │ TLS digest auth      * │
────┴────────────┴────────────┴─────────────────┴────────────────────────┘