summaryrefslogtreecommitdiff
path: root/test/invite.et
blob: bf1a45ac925b5b88f0526098367cae4fdb5f310f (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
module invite

import common

test InviteContact:
    let services = "contact,invite"

    spawn as p1
    spawn as p2

    send "create-identity Device1 Owner1" to p1
    expect /create-identity-done ref ($refpat)/ from p1 capture p1id
    send "identity-info $p1id" to p1
    expect /identity-info ref $p1id base ($refpat) owner ($refpat).*/ from p1 capture p1base, p1owner
    send "identity-info $p1owner" to p1
    expect /identity-info ref $p1owner base ($refpat).*/ from p1 capture p1obase

    send "create-identity Device2 Owner2" to p2
    expect /create-identity-done ref ($refpat)/ from p2 capture p2id

    send "start-server services $services" to p1
    send "start-server services $services" to p2

    expect from p1:
        /peer ([0-9]+) addr ${p2.node.ip} 29665/ capture peer1_2
        /peer $peer1_2 id Device2 Owner2/

    expect from p2:
        /peer ([0-9]+) addr ${p1.node.ip} 29665/ capture peer2_1
        /peer $peer2_1 id Device1 Owner1/

    send "invite-contact-create Contact2" to p1
    expect from p1 /invite-contact-create-done ([^ ]+)/ capture token

    with p2:
        send "invite-accept 00 $p1obase"
        expect /invite-accept-done 00 invalid/

        send "contact-list"
        expect:
            /contact-list-(.*)/ capture done
        guard (done == "done")

    with p2:
        send "invite-accept $token $p1obase"
        expect /invite-accept-done $token contact/

        send "contact-list"
        expect:
            /contact-list-item [a-z0-9#]+ Owner1 Owner1/
            /contact-list-(.*)/ capture done
        guard (done == "done")

    with p2:
        send "invite-accept $token $p1obase"
        expect /invite-accept-done $token invalid/

        send "contact-list"
        expect:
            /contact-list-item [a-z0-9#]+ Owner1 Owner1/
            /contact-list-(.*)/ capture done
        guard (done == "done")

    with p1:
        expect /invite-accepted 00 $p2id/
        expect /invite-accepted $token $p2id/
        expect /invite-accepted $token $p2id/

        send "contact-list"
        expect:
            /contact-list-item [a-z0-9#]+ Contact2 Owner2/
            /contact-list-(.*)/ capture done
        guard (done == "done")