* api4: fix TestGetUsersNotInTeam assertions
This test was relying on data from a previous test run. With the data cleared before each test, the assertions much match reality.
* *testlib: always InitSystemAdmin
Some tests implicitly relied on the basic user having system
administrator privileges because it was the first user created as such.
Eliminate `InitSystemAdmin` and explicitly create the system admin user
instead to avoid this ambiguity going forward.
* *testlib: drop all tables before each test
* api4: split up TestChannelDelete to avoid duplicate InitBasic
* api4: teardown in TestResetPassword, for when this test comes back
* invalidate cache on DropAllTables
This is necessary since the test store persists across tests.
* disable parallel tests
While tests within a package must be explicitly parallelized using `t.Parallel()`, tests across packages are run in parallel by default. This causes problems given that the tests all currently share the same database instance.
Unfortunately, this also means that running the tests is much slower, but we can return to this later.
I've been burned a few times by tests that simply fatal, requiring me to
run another build to learn more about what the mismatch was. Avoid this.
This is part of a long running goal of mine to make testing "better".
* MM-8701 Limit the number of client config fields sent before user logs in
* Fixed missing client config field
* Reduced duplication between limited and regular client config
* Implementing structured logging
* Changes to en.json to allow refactor to run.
* Fixing global logger
* Structured logger initalization.
* Add caller.
* Do some log redirection.
* Auto refactor
* Cleaning up l4g reference and removing dependancy.
* Removing junk.
* Copyright headers.
* Fixing tests
* Revert "Changes to en.json to allow refactor to run."
This reverts commit fd8249e99b.
* Fixing some auto refactor strangeness and typo.
* Making keys more human readable.
* MM-9849 Added tracking of which settings are set through environment variables
* Removed old version of viper
* Added forked version of viper
* Fixed unit tests
* Fixed more unit tests
* Removed copy from App.GetEnvironmentConfig
* Add supported timezones into config
Remove Timezone list creation in favor of timezone from configs
Add Timezone field to Users table
Clean up format of SupportedTimezones in config
* Remove unwanted change
* Add test for updating user timezone
* Add empty map[string]string if Timezone is null
* Add EnableTimezoneSelection config
* Revert back to map[string]string for ClientConfig
* Refactor SupportedTimezones into timezones.json
* Include timezones.json in TestConfigFlag
* Add timezone api endpoint
* Bump varchar size to 256 and setMaxSize in user_store
* Refactor LoadConfig to LoadConfig and LoadTimezoneConfig
* Remove unnecessary argument in LoadConfig, mail_test
* Add test for timezone endpoint
* Add license header
* Refactor timezones endpoint to system.go
* Add system base route to timezone endpoint
* db timezone upgrade in db v4.9
* Avoid saving SupportedTimezones to config.json
* Add timezonePath support in config
* Remove EnableTimezoneSelection from config
* Use return statement without return parameter
* Refactor test for SupportedTimezones
* Check for supportedTimezone != nil instead of using len
* Decouple SupportedTimezones out of Config
* Fix failing test
* Add LastTeamIconUpdate back in upgrade.go
* Write timezone config in config_flag_test
* Add code fallback for default timezone support
* don't use global app for api / api4 tests
* put sleep back. we're gonna have to do some goroutine wrangling
* fix oauth test config assumptions
* jobs package, i'm comin' for you next
* app test fix
* try increasing sleep a little