2 Feature: Chatting anonymously using Pidgin
4 when I chat using Pidgin
5 I should be able to use OTR
6 And I should be able to persist my Pidgin configuration
7 And AppArmor should prevent Pidgin from doing dangerous things
8 And all Internet traffic should flow only through Tor
10 Scenario: Make sure Pidgin's D-Bus interface is blocked
11 Given I have started Tails from DVD without network and logged in
12 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
13 Then I see Pidgin's account manager window
14 And Pidgin's D-Bus interface is not available
17 @check_tor_leaks @fragile
18 Scenario: Chatting with some friend over XMPP
19 Given I have started Tails from DVD and logged in and the network is connected
20 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
21 Then I see Pidgin's account manager window
22 When I create my XMPP account
23 And I close Pidgin's account manager window
24 Then Pidgin automatically enables my XMPP account
25 Given my XMPP friend goes online
26 When I start a conversation with my friend
27 And I say something to my friend
28 Then I receive a response from my friend
31 @check_tor_leaks @fragile
32 Scenario: Chatting with some friend over XMPP in a multi-user chat
33 Given I have started Tails from DVD and logged in and the network is connected
34 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
35 Then I see Pidgin's account manager window
36 When I create my XMPP account
37 And I close Pidgin's account manager window
38 Then Pidgin automatically enables my XMPP account
39 When I join some empty multi-user chat
40 And I clear the multi-user chat's scrollback
41 And my XMPP friend goes online and joins the multi-user chat
42 Then I can see that my friend joined the multi-user chat
43 And I say something to my friend in the multi-user chat
44 Then I receive a response from my friend in the multi-user chat
45 When I say https://labs.riseup.net/code/projects/tails/roadmap to my friend in the multi-user chat
46 Then I see the Tails roadmap URL
47 When I wait 10 seconds
48 And I click on the Tails roadmap URL
49 Then the Tor Browser loads the Tails roadmap
52 @check_tor_leaks @fragile
53 Scenario: Chatting with some friend over XMPP and with OTR
54 Given I have started Tails from DVD and logged in and the network is connected
55 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
56 Then I see Pidgin's account manager window
57 When I create my XMPP account
58 And I close Pidgin's account manager window
59 Then Pidgin automatically enables my XMPP account
60 Given my XMPP friend goes online
61 When I start a conversation with my friend
62 And I start an OTR session with my friend
63 Then Pidgin automatically generates an OTR key
64 And an OTR session was successfully started with my friend
65 When I say something to my friend
66 Then I receive a response from my friend
69 @check_tor_leaks @fragile
70 Scenario: Connecting to the tails multi-user chat with my XMPP account
71 Given I have started Tails from DVD and logged in and the network is connected
72 And Pidgin has the expected accounts configured with random nicknames
73 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
74 Then I see Pidgin's account manager window
75 And I create my XMPP account
76 And I close Pidgin's account manager window
77 Then Pidgin automatically enables my XMPP account
78 And I can join the "tails" channel on "conference.riseup.net"
80 Scenario: Adding a certificate to Pidgin
81 Given I have started Tails from DVD and logged in and the network is connected
82 And I start "Pidgin Internet Messenger" via GNOME Activities Overview
83 And I see Pidgin's account manager window
84 And I close Pidgin's account manager window
85 Then I can add a certificate from the "/home/amnesia" directory to Pidgin
87 Scenario: Failing to add a certificate to Pidgin
88 Given I have started Tails from DVD and logged in and the network is connected
89 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
90 And I see Pidgin's account manager window
91 And I close Pidgin's account manager window
92 Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin
93 When I close Pidgin's certificate import failure dialog
94 And I close Pidgin's certificate manager
95 Then I cannot add a certificate from the "/lib/live/mount/overlay/home/amnesia/.gnupg" directory to Pidgin
96 When I close Pidgin's certificate import failure dialog
97 And I close Pidgin's certificate manager
98 Then I cannot add a certificate from the "/live/overlay/home/amnesia/.gnupg" directory to Pidgin
101 @check_tor_leaks @fragile
102 Scenario: Using a persistent Pidgin configuration
103 Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in
104 And Pidgin has the expected accounts configured with random nicknames
105 And the network is plugged
107 And available upgrades have been checked
108 And all notifications have disappeared
109 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
110 Then I see Pidgin's account manager window
111 When I create my XMPP account
112 And I close Pidgin's account manager window
113 Then Pidgin automatically enables my XMPP account
115 # And I generate an OTR key for the default Pidgin account
116 And I take note of the configured Pidgin accounts
117 # And I take note of the OTR key for Pidgin's "conference.riseup.net" account
118 And I shutdown Tails and wait for the computer to power off
120 And I start Tails from USB drive "__internal" and I login with persistence enabled
121 And Pidgin has the expected persistent accounts configured
122 # And Pidgin has the expected persistent OTR keys
123 When I start "Pidgin Internet Messenger" via GNOME Activities Overview
124 Then Pidgin automatically enables my XMPP account
125 And I join some empty multi-user chat
126 # Exercise Pidgin AppArmor profile with persistence enabled.
127 # This should really be in dedicated scenarios, but it would be
128 # too costly to set up the virtual USB drive with persistence more
129 # than once in this feature.
130 Given I start monitoring the AppArmor log of "/usr/bin/pidgin"
131 Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin
132 And AppArmor has denied "/usr/bin/pidgin" from opening "/home/amnesia/.gnupg/test.crt"
133 When I close Pidgin's certificate import failure dialog
134 And I close Pidgin's certificate manager
135 Given I restart monitoring the AppArmor log of "/usr/bin/pidgin"
136 Then I cannot add a certificate from the "/live/persistence/TailsData_unlocked/gnupg" directory to Pidgin
137 And AppArmor has denied "/usr/bin/pidgin" from opening "/live/persistence/TailsData_unlocked/gnupg/test.crt"
138 When I close Pidgin's certificate import failure dialog
139 And I close Pidgin's certificate manager
140 Then I can add a certificate from the "/home/amnesia" directory to Pidgin