* Fixed MM-14627, was incorrectly removing props from updated post
- Fixed the wrong initialization of `remove`
- Consolidated the list of properties to retain in `model.PostActionRetainPropKeys`
- Added a test
* Not sure why this broke the test, reverted the change
* MM-14412: Enables force removals of team/channel members base on group constraints.
* Renames some existing methods and variables.
* Change return types to ChannelMembers and TeamMembers for some existing methods.
* Adds option to change LDAP_DATA to either 'qa' or 'test' with env variable.
* Adds methods to retrieve ChannelMembers and TeamMembers that, based on group constraints, should be deleted.
* Adds helper functions to create GroupTeams and GroupChannels.
* MM-14412: Switches to helper methods for GroupSyncable creation in test files.
* MM-14412: Style fix.
* MM-14412: Switches remaining GroupSyncable instances to be created with helper functions.
* MM-14412: Typo fix.
* MM-11412: Build fixes.
* MM-14412: Checks if user is team member before re-adding.
* MM-14412: Update for change of GroupConstrained fields type.
* initial work on rewriting test cases using the raw literal format
* split out the embedded tests into separate file and implement the test using a generic tester function
* initial work on rewriting test cases using the raw literal format
* split out the embedded tests into separate file and implement the test using a generic tester function
* moved tests to separate dir to avoid conflicts
* removed duplicate files
* added license header
* fixed plugin paths
* moved all trivial tests to separate files
created "meta-test" that scans a folder of api tests and runs them
* remove rpc tests from make
* use fileutil.FindDir instead of pwd
clean up the test files
The `config/` folder is licensed under Apache 2.0.
Previously, this folder contained data files for default.json and timezones.json. However, in the past month, we have repurposed the config folder, which will autogenerate the config file in an upcoming release.
To account for the restructuring of the config folder, `config/` is no longer considered to be licensed with Apache 2.0. In the near term, we'll keep `config/default.json` licensed under Apache 2.0 for compatibility with previous releases, and then later remove it from the list once `default.json` is replaced with the auto-generation of the config file.
* Used user TOS data embedded in user object itself
* #MI-372 Added user TOS data in getUserByUsername API and updated tests
* #MI-372 returned user TOS data only for admin or self
* #MI-372 fixed tests
* #MI-372 added user ID checks in a missing place
* Add LDFLAGS variable
* Replace curl by wget
* Revert "Replace curl by wget"
This reverts commit f40323c3d2.
* Use curl instead of wget
* Merge GO_LINKER_FLAGS into LDFLAGS
* MM-11697: Environment overrides do not overwrite config.json on save
#10388
The config store now keeps a copy of the config as loaded from the store
without environment overrides. Whenever persisting, we now check if the
current setting is different from the loaded setting. If it is, then use
the loaded setting instead.
As described in the comments to `removeEnvOverrides` in `common.go`,
this behavior will have to change if we ever let the user change a
setting that has been environmentally overriden.
This was interesting because the `load` function in `common.go` also
persists, so we have to tee the provided `io.ReadCloser` and construct a
config that doesn't have the environment overrides. And then we have to
find the path to the (maybe) changed variable in the config struct
using reflection.
Possible WIP: I had to expose a `GetWithoutEnvOverrides` function in the
Store interface just for the tests -- this is because the `file_test`
and `database_test`s are in the config_test package instead of the
`config` package.
* added function documentation
* fixed a small problem with tests
* MM-11697: big cleanup based on Jesse's PR comments
* MM-11697: edits per PR feedback
* MM-11697: licence header
* MM-11697: now testing that on disk config is not changed by env
overrides
* MM-11697: remove unneeded exports
* tweak utils.Merge docs
* move merge_test to utils_test package for easier testing
* utils: support MergeConfig and StructFieldFilter
* constrain updating certain fields by the restricted system admin
* [MM-13341] Add an upgrade test to verify schema
Upgrade test is done by following steps:
1. A mysql dump generated from v4.10.0 is imported in a database and is ran through migration code
2. Another fresh database is generated without any initial data, which gets latest schema.
3. Diff between these 2 databases is generated using mysqldiff tool from mysql utilities
For db setup, version cli command is used which takes care of migration or setup of fresh db
* Using 5.7 tag for mysql docker image which is already used for db setup
* Starting docker containers for db before running tests
* Using db from v5.0.0 for migration test
* Added migration test for psql and made some improvements in running commands in docker
* Add postgres db dump file
* Updated message
* moved dump files to scripts and using error code from diff command
* MM-14442: Merge function, to enable merging of configs
Merge will return a new struct of the same type as base and
patch, with patch merged into base. Specifically, patch's values will be preferred
except when patch's value is `nil`.
Restrictions/guarantees:
- base or patch will not be modified
- base and patch can be pointers or values
- base and patch must be the same type
- base and patch must have no unexported types (at the moment)
- if maps or slices are different, the entire map or slice will be
replaced (at the moment)
* License header
* major rewrite addressing PR comments from Jesse
* MM-14442: merge function for config files
- simplified merge for slices and maps
- fixed many problems with nested pointers/maps/slices
- all references are cloned
- 54 new tests, simplified tests for specific problems
* MM-14442: fixing formatting, comments
* [MM-14253] Adds channels and users to the bulk index process
* Add support for PostgreSQL and sort the user query result
* Add tests for user and channel batch queries
* Fix test times
* Adding list/join public/private teams permissions
* Add permission migration and allow to migrate based on role name
* Adding JoinTeam new endpoint
* Addressing PR review comments
* Keep the previous API consistent
* MM-14416: Updates tests.
* MM-14416: Adds new fields to models and patches.
* MM-14416: Adds upgrade operations.
* MM-14416: Removes the 'is' from the new field names.
* MM-14416: Some fmting and removes API test change for now.
* MM-14416: Adds team patch test.
* MM-14416: Using sql.NullBool.
* MM-14416: Using sql.NullBool.
* Adds elasticsearch to the user and channel autocompletion functions
* Implement channel store GetChannelsByIds test
* Style changes and govet fixes
* Add gofmt fixes
* Extract default channel search limit to a const
* Add StringSliceDiff function to the utils package
* Honor USER_SEARCH_MAX_LIMIT on the user autocomplete api handler
* Change the elasticsearch development image
* transplant the existing PR into the working tree
* start addressing review comments
* move existing direct channel export code into this branch
* modify channel exporter to use squirell and populate members in two steps
* use squirrel to build sql queries for channel and dm/gm export methods
* remove debug helpers and use Username instead of UserId
* unit test for DM Channel exporter
* add more unit tests for channel export
* add test for DM/GM post export
* checkpoint with failing test for postgres
* use getQueryBuilder to make sure squirrel uses the correct formatting
for each database
* add a test for post export
* fix shadowed vars that broke the build
* address review comments and add tests to support it
* address review comments and add a mlog call
* s/Info/Debug/
* address review comments in post_store
* address review comments in channel_store
* address review comments in export
* address review comment in post_store: drop GroupBy
* address review comment on supplier: move getQueryBuilder to sqlstore
* address review comments: explicit TearDown
* address review comments: improve test coverage
* address review comments: make sure public and private channels are excluded
* address review comments: improve test coverage
* address review comments: make sure Channels table gets truncated after
each test
* more cleanups and better assertions
* wrap PostStore in a StoreTestWithSqlSupplier
* last minute changes: improve post export test coverage and check members
* address review comments: make sure all posts have their channel
members set
* address review comments: make sure all posts have their ChannelMembers
exported correctly
* gofmt fix
* sort channels so it's possible to assert on index