mattermost/server/tests
ludvigbolin 4547d9ab0e
[GH24626] Remove ExperimentalTimezone as this is always true (#24657)
* Remove all occurrences of ExperimentalTimezone in /server

This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)

* Remove timezone parameter for getChannelMemberByGroup

As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true

* Remove all uses of ExperimentalTimezone in webapp

All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa

* Change all tests checking for correct usage of ExperimentalTimezone

As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed

* Fix type errors

Tests regarding types does now pass

'npm run check-types' will run successfully

* fix lint issues

Fix all current lint errors and now lint test goes through

* Fix test regarding profile popover

enableTimezone now is gone and all profile_popover.test.tsx can run successfully.

Added state.entities.users.profiles[] as it before threw an error without it.

* Fix tests where "April 1 2019" was changed to "April 01 2019"

Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").

* Fix test where date was set to NaN

Now date will show correctly and will not be NaN

* fix minor test case that failed before

* fix linting in server

* Delete tests that are not valid with timeZoneEnabled removed

tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.

Adjust jest function in advanced_create_post to get correct stacktrace

* Parameter deleted

isTimeZoneEnabled is always true and therefore the parameter can be deleted

* adjust to prettier standard

* Remove all occurrences of ExperimentalTimezone in /server

This removes all uses of ExperimentalTimezone and makes all conditions using this setting being either removed (== false) or always used (== true)

* Remove timezone parameter for getChannelMemberByGroup

As timezone is always enabled this function no longer has a second parameter. The endpoint will always be called with includeTimezones set to true

* Remove all uses of ExperimentalTimezone in webapp

All conditions dependent of this are adjusted to always be true if experimentalTimezone should be true and vice versa

* Change all tests checking for correct usage of ExperimentalTimezone

As this parameter is no longer used, the tests which check for correct behaviour of this is no longer needed

* Fix type errors

Tests regarding types does now pass

'npm run check-types' will run successfully

* fix lint issues

Fix all current lint errors and now lint test goes through

* Fix test regarding profile popover

enableTimezone now is gone and all profile_popover.test.tsx can run successfully.

Added state.entities.users.profiles[] as it before threw an error without it.

* Fix tests where "April 1 2019" was changed to "April 01 2019"

Now it will show "April 1 2019" and "timeZone" will only show if its other than empty ("").

* Fix test where date was set to NaN

Now date will show correctly and will not be NaN

* fix minor test case that failed before

* fix linting in server

* Delete tests that are not valid with timeZoneEnabled removed

tests in advanced_create_comment and advanced_create_post had timeZoneEnabled
set to false as default. The tests that use this are now changed to once which are meant to have timeZoneEnabled set to true.

Adjust jest function in advanced_create_post to get correct stacktrace

* Parameter deleted

isTimeZoneEnabled is always true and therefore the parameter can be deleted

* adjust to prettier standard

---------

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-10-30 15:31:05 -04:00
..
1x10000.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
1x10000_expected_preview.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
1x10000_expected_thumb.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
10000x1.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
10000x1_expected_preview.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
10000x1_expected_thumb.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
channel-role-has-permission.csv Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
development-private-key.asc Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
development-public-key.asc Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
development-public-key.gpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
export_test.zip Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
Fake_Team_Import.rar Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
Fake_Team_Import.tar.gz Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
Fake_Team_Import.zip Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_palette.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_palette_out.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_rgb.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_rgb_out.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_rgba.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_8bit_rgba_out.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_16bit_rgb.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_16bit_rgb_out.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_16bit_rgba.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_16bit_rgba_out.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
fill_test_opaque.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
group-role-has-permission.csv Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
import_test.zip Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
large_image_file.jpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
large_lzw_frame.gif MM-52720: use an io.LimitedReader in gif frame counting (#23372) 2023-05-11 12:47:07 +03:00
orientation_test.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_1.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_1_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_1_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_2.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_2_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_2_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_3.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_3_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_3_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_4.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_4_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_4_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_5.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_5_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_5_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_6.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_6_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_6_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_7.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_7_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_7_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_8.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_8_expected_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
orientation_test_8_expected_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
qa-data-graph.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
qa-data.ldif Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
README.md MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
sample-doc.doc Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.docx Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.odp Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.odt Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.pdf Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.pptx Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
sample-doc.rtf Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-channels.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-direct-messages.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-group-direct-messages.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-posts.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-private-channels.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
slack-import-test-users.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
template.load updates on the migration template (#24430) 2023-08-31 20:24:08 +03:00
test-attachments.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-config.json [GH24626] Remove ExperimentalTimezone as this is always true (#24657) 2023-10-30 15:31:05 -04:00
test-data-graph.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-data.ldif Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons1.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons2.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons3.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons4.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons5.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-emoticons6.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-hashtags.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-link-preview.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-links.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-markdown-basics.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-markdown-lists.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-mentions.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-public-key.plugin.gpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-search.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-slack-attachments.json Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-syntax-highlighting.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test-tables.md Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test.png Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test.svg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test.tiff Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test_expected_tiff_preview.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
test_expected_tiff_thumb.jpeg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testarchive.zip Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testgif.gif Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testgif_expected_preview.jpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testgif_expected_thumbnail.jpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testjpg.jpg Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testplugin-v0.0.2.tar.gz MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin-v0.0.2.tar.gz.asc MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin-v0.0.2.tar.gz.sig MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin.tar.gz Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testplugin.tar.gz.asc MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin.tar.gz.sig MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin2.tar.gz Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
testplugin2.tar.gz.asc MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testplugin2.tar.gz.sig MM-53355: install transitionally prepackaged plugins to filestore (#24225) 2023-08-17 12:46:57 -03:00
testwebp.webp Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
tls_test_cert.pem Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
tls_test_key.pem Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00

Testing Text Processing

The text processing tests located in the doc/developer/tests folder are designed for use with the /test url command. This command posts the raw contents of a specified .md file in the doc/developer/test folder into Mattermost.

Turning on /test

Access the System Console from the Main Menu. Under Service Settings make sure that Enable Testing is set to true, then click Save. You may also change this setting from config.json by setting ”EnableTesting”: true. Changing this setting requires a server restart to take effect.

Running the Tests

In the text input box in Mattermost, type: /test url [file-name-in-testing-folder].md. Some examples:

/test url test-emoticons.md
/test url test-links.md

Notes:

  1. If a test has prerequisites, make sure your Mattermost setup meets the requirements described at the top of the test file.
  2. Some tests are over 4000 characters in length and will render across multiple posts.

Manual Testing

It is possible to manually test specific sections of any test, instead of using the /test command. Do this by clicking Raw in the header for the file when its open in GitHub, then copy and paste any section into Mattermost to post it. Manual testing only supports sections of 4000 characters or less per post.

Test plugins

There are three test plugins: testplugin.tar.gz, testplugin-v0.0.2.tar.gz, and testplugin2.tar.gz. These are use in some integration tests in the api4 package. Any changes to the plugin bundles require updating the corresponding signatures.

First, import the public and private development key:

gpg --import ./development-public-key.gpg
gpg --import ./development-private-key.asc

This has to be done only once.

Then update the signatures:

gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign testplugin.tar.gz
gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign --armor testplugin.tar.gz
gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign testplugin-v0.0.2.tar.gz
gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign --armor testplugin-v0.0.2.tar.gz
gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign testplugin2.tar.gz
gpg -u F3FACE45E0DE642C8BD6A8E64C7C6562C192CC1F --verbose --personal-digest-preferences SHA256 --detach-sign --armor testplugin2.tar.gz

Finally, include the updates bundles and signatures in your commit.