Document Version 1.0
Status: Test for v0.0.1 in progresscomplete
Document Version | Description | Date |
---|
0.0 | Initial version | 04/06 |
0.1 | Updated based Alejandro García Montoro 's review. New test cases added: 14, 16, 17, 18, 23 | 04/10 |
0.2 | Updated based on Alejandro’s review + team meeting. | 04/14 |
1.0 | Test run and completed | 04/30 |
...
Test Area - Plugin Setup |
---|
Test ID | Test Case | Test Procedure | Result | Notes |
1 | Admin can install plugin in a non-EE instance | Log in to a non-enterprise Mattermost, as admin From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin. Verify that the plugin can be installed.
| Pass | |
2 | Admin can install plugin in an E10 instance | Log in to Mattermost that has an E10 license, as admin. From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin. Verify that the plugin is successfully installed.
| Pass | |
3 | Admin can install plugin in an E20 instance | Log in to Mattermost that has an E20 license, as admin From System Console > PLUGINS > Plugin Management, upload the Channel Export plugin. Verify that the plugin can be installed.
| Pass | |
4 | Admin can enable plugin | Once installed in the “Installed Plugins” section, find the Channel Export plugin and click on the “Enable” button. Verify that the plugin starts normally without errors.
| Pass | |
5 | Plugin functionality is available to admin | Switch to a normal channel view. In the post input box, type /export . Verify that the /export option is present in the slash command list.
| Pass | |
6 | Plugin functionality is available to normal user | Log out and log back in as a normal user. In the post input box, type /export . Verify that the /export option is present in the slash command list.
| Pass | |
7 | Admin can disable plugin | Log out and log back in as admin. From System Console > PLUGINS > Plugin Management, find the Channel Export plugin. Click on the “Disable” button. Verify that the plugin is disabled. In the main channel’s post input box, type /export . Verify that /export option is not present in the slash command list.
| Pass | |
8 | Admin can remove plugin | From System Console > PLUGINS > Plugin Management, find the Channel Export plugin. Click on the “Remove” button. Verify that the plugin is no longer installed in the instance.
| Pass | |
Install and enable the plugin if needed. For the following tests, log out as system admin and login as normal user. All following tests, until specified will be tested as a normal user.
Test Area - Permissions |
---|
Test ID | Test Case | Test Procedure | Result | Notes |
9 | User can export a public channel | Go to a public channel. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
10 | User can export a private channel | Go to a private channel. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
11 | User can export a GM channel | Go to a group message channel. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
12 | User can export a DM channel | Go to a direct message channel. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
13 | User can export DM channel with self | Go to the direct message channel to self. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
14 | User can export a bot message channel | Go to a bot message channel (e.g. surveybot, channelexport etc.) Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
15 | User can export archived channel | From Postman, POST an export request to the following URL:
http://localhost:8065/api/v4/commands/execute Form a message payload as follows with channel ID of an archived channel, and appropriate team ID {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>}
Verify that the channel can be exported.
| Pass | |
16 | User can export an un-archived channel | Go to any channel. Archive the channel. From the channel dropdown, click on “Archive Channel”
Ensure that the channel is archived. As an admin, unarchive the channel. As normal user, go to the unarchived channel. Issue the /export command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
15 | User cannot export a channel they are not added to | From Postman, POST an export request to the following URL:
http://localhost:8065/api/v4/commands/execute Form a message payload as follows with channel ID of a channel the user is not added to {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>}
Verify that the channel cannot be exported.
| Pass | |
17 | User cannot export a channel once they are ‘kicked’ from the channel | As a different user, create a new channel. Add test-user to the channel. Verify that the test-user sees /export option in slash command list. As the different user, kick the test-user from the channel. As test-user, verify that the channel in step 1 does not exist in the LHS. As the different user, add the test-user back to the channel. Go to the channel. Issue the /export slash command. Verify that the channel is exported successfully.
(See tests in “Export” test area below to verify successful export.) | Pass | |
18 | User cannot can export a read-only channel | Find or create a read-only channel. From Postman, POST an export request to the following URL:
http://localhost:8065/api/v4/commands/execute Form a message payload as follows with channel ID of the read-only channel: {"command":"/export ","channel_id":<CHANNEL-ID>,"team_id":<TEAM-ID>} Verify that the channel cannot can be exported. Fail | Pass | |
Test Area - Export |
---|
Test ID | Test Case | Test Procedure | Result | Notes |
19 | A system message notifies of successful export command execution on the channel where export is initiated | Issue a /export slash command in a channel. Verify that as soon as the slash command is issued, a system message notifies the user that the channel export has begun.
| Pass | |
20 | A bot message notifies of a successful export | Issue a /export slash command in a channel. If exported successfully, verify that a Channel Export bot notifies of the successful export in the bot’s DM channel.
| Pass | |
21 | The exported file can be downloaded locally | Issue a /export slash command in a channel. If exported successfully, verify that the exported channel can be downloaded in the bot’s DM channel.
| Pass | |
22 | Channel is exported in CSV file format | Issue a /export slash command in a channel. If exported successfully, verify that the exported file is in CVS format.
| Pass | |
23 | Exported CSV filename has [channel-name].csv format | Issue a /export slash command in a channel. If exported successfully, verify that the exported file has the filename in [channel_name].csv format. pass | Pass | |
24 | A bot message notifies of an unsuccessful export | Issue a /export slash command in a channel such that the export is not successfully. Verify that the bot notifies for the failed export in the bot’s DM.
| Pass | Saw “there was an error…” message once during export failure |
25 | Exported CSV has messages of a channel in chronological order | Export a channel. Go to the Channel Export bot’s DM channel. Download the exported file. Open up the file. Verify that the exported messages are in chronological order in each row, with the most recent message on the first row.
| Pass | |
26 | Exported CSV has date | Find a channel where messages were sent in different days. Export the channel. Download the exported file. Open the exported file. Verify that the messages and dates of when the messages were sent are correctly matched in the file.
| Pass | |
27 | Exported CSV has timestamp | Post several messages in a channel at varying intervals. Export the channel. Download the exported file. Open the exported file. Verify that the messages and timestamps of when the messages were sent are correctly matched in the file.
| PassFail | Times are off, even though there is timestamp and messages appear in chronological order. https://mattermost.atlassian.net/browse/MM-24713 |
28 | Exported CSV has message senders username | Find a channel where multiple users have sent several messages. Export the channel. Download the exported file. Open the exported file. Verify that the messages and the senders are correctly matched in the file.
| Fail | The “username” column shows users' nickname instead of username. When nickname is left empty, there is no username in the CSV. https://mattermost.atlassian.net/browse/MM-24712 |
29 | A channel with no messages can be exported successfully | Create a new channel. Without sending any message in the channel, export the channel. Download the exported file. Verify the content of the exported channel in the file.
| Pass | |
30 | A channel with more than 100 messages can be exported successfully | Find a channel with more than 100 messages. Export the channel. Download the exported file. Verify that all messages appear correctly in the file.
| Pass | |
31 | A channel with media files can be exported successfully | Find a channel with different media, or send media messages in a channel. Export the channel. Download the file. (How is media exported?) In v0.0.1 Emoji reactions show as :emoji_code: Media files show as empty messages
| Pass | From Alejandro: For v.0.0.1, exporting the messages. No reactions, no media, no edit history. |