* MM-16479: panic on io.Copy error in test
I'm unable to reproduce the original report on MM-16479, but in a bid to help track down a potential failure in the future, I've added a panic on err returned from `io.Copy` within the plugin, as this seems like the only path on which the hook could return successfully but fail to show the updated contents.
* assert number of copied bytes
* log n on io.Copy error too
* changes for channel and post import for corp slack
* add fix for missing dms in import
* add suggestions from PR review
* Apply suggestions from code review
Co-Authored-By: George Goldberg <george@gberg.me>
* fix gofmt
* MM-17383: Update query to include users who are not members of any groups.
* MM-17383: Fixes govet complaint.
* MM-17383: Sorts by username.
* MM-17383: Removes accidental staging.
* Filtered incoming webhooks for users wihtout PERMISSION_MANAGE_OTHERS_INCOMING_WEBHOOKS
* Filtered outgoing webhooks for users without PERMISSION_MANAGE_OTHERS_OUTGOING_WEBHOOKS
* Refactored GetOutgoingByTeamByUser to its own method in app and store
* Fixed paging condition for outgoing webhooks in store
* Separated test cases into separate t.run in WebhookStore
* Improved unit test. PR Feedback
* Filtered outgoing webhooks by channel for users without PERMISSION_MANAGE_OTHERS
* Filtered getting full list of outgoing webhooks for users without PERMISSION_MANAGE_OTHERS
* Added missing signature for GetOutgoingWebhooksPage in app
* Expanded permissions in test to SYSTEM_USER_ROLE
* Filtered getting full list of incoming webhooks for users without PERMISSION_MANAGE_OTHERS
* Removed unnecessary sq.and operator
Revert https://mattermost.atlassian.net/browse/MM-14559. The tests were refactored, but all the hooks were be run as:
_, ret := hooks.MessageWillBePosted(nil, nil)
and the plugins were panicking, but then nothing was actually failing because this hook doesn't support returning a "proper" error. Good news is that the old tests are still passing, so nothing has regressed in the toolkit, but thinking we should revisit this holistically instead of trying to fix in place.
* [MM-17194] Add search channels for user in case the user doesn't have the list channels permission
* Add tests for the API layer and control the case of a user not being a team member
* Remove unnecessary empty line
There are a handful of “reserved” team names that will be rejected if found at the start of the team name – e.g. “api21251251” or “error1251251”. Turns out we just got really unlucky and a model.NewId invocation generated just such a collision. I've changed all such random generations to include a prefix.
* MM-16997: Simplified TestUploadFiles
Tickets:
https://mattermost.atlassian.net/browse/MM-16997https://mattermost.atlassian.net/browse/MM-16760
- The tests now fully buffer the data vefore uploading it. The prior
code was much more complex because it was intended to eventually
mature into generic client code; not a priority, definitely not
valuable for this test.
- Also improved error handling in TestHookFileWillBeUploaded for
MM-16760
* PR feedback: typo
Track if the default value is used for NetworkInterface, BindAddress and AdvertiseAddress.
Do not track the actual value, as this could expose sensitive data of the system.
The job workers and cluster discovery components require access to the
database during shutdown. To avoid issues, we leave the database open
until the last step of the shutdown process.
* Add model.UserCountOptions to analyticsActiveCount method
Add new test for analyticsActiveCount method
* Add ability to delete entries from status store, by calling SQl
directly. There is no method available to delete entries from the
status store interace
* Instead of cleaning up after a test by passing userIds, just delete all
records in the status table and start fresh
* Remove Comment
* Add bot store PermanentDelete() method to PermanentDeleteUser method
* Test the that bot is deleted from bots table after user is deleted from
users table. Notes GetBots() method on bots store cannot be used to get
and compare bots from before and after the PermanentDeleteUser() call.
Had to directly query the Bots table.
* MM-16272 - Synchronize plugins across cluster (#11611)
* MM-16272 - Synchronize plugins across cluster
* Adding a test
* MM-16272 - Fixed tests
* MM-16272 - PR feedback
* MM-16270 - Plugin Sync (#11615)
* Initial implementation for plugin synch with file store. WIP
* Removed ListAll implementation. Used ListDirectory and change localstore to be consistent and return all items (files and folders) from directory
* Refactored plugin filestore operations out of main install/remove plugin
* Fixing error handling details
* Changes to use structured logging
* More logging fixes
* Wording and comments improvements
* Error handling and control flow improvements
* Changed managed flag check to use os.stat
* Added file store plugin dir and filename consts
* Replaced FileRead to use a the FileReader in PluginSync
* Minor styling and PR feedback changes
* Minor error handling improvements
* Added unit test for SyncPlugins. Changed SyncPlugins to use plugins environment to list available plugins
* PR Feedback improvements
* Minor err handling fix
* Removing FileStorePath from PluginEventData (#11644)
* Fix plugin path (#11654)
* tweak path, logging
Fix an issue not finding the plugins folder in S3. Tweak logging messages to add additional clarity.
* Removing FileExists check when Syncing plugins. Updated localstore to not return an error when directory does not exist
* PR Feedback
* Install prepackaged plugins locally only (#11656)
* s/uninstall/remove
* Updated ClusterMessage comment
* Updated PluginSync to test against s3 + local storage
This change modifies the database query used by the getPostsAround()
method in order to improve the performance of loading posts when
scrolling through a channel.
* Added - golang version validation.
* Updated error message to include the minor version that is supported.
* Fixed issue with variable.
* Renamed variable.
* Added - golang version validation.
Added validation for major and minor versions of go.
* Fixed the way the validation is performed.
* Changed function declaration (define validate_go_version) to a target (validate_go_version).
* remove unneeded call to validate_go_version
* [16331] Migrated Channel.SaveMember to sync by default (#10613)
* Used require.Nil to check for err variable instaed of using panic with if statement.
* Used require.Nil to check for err variable instaed of using panic with if statement in user_store
* fixed errors about shadowing with err variable.
* Fixed issue with vet tool validation.
* Fixed go fmt tool validation.
* fix posts returned from unread API when the list contains parent post/s
* add ExtendAll to PostList and update test per feedback
* revert unintentional change to the other test and fix comment
* update the existing postlist.Extend, filter unique values and update unit tests