trove-dashboard/trove_dashboard
Samuel Matzek 220433719e Fix unstable test case
The DatabaseConfigurationsTests.test_values_tab_discard_action
test is unstable, failing and succeeding on subsequent runs.

The root cause of the instability is the django local memory cache
used by the test cases. This cache has defaults that will cull
33% of the cache entries when it reaches its max capacity of 300.

During the test runs the cache becomes full and the culling will
randomly choose to cull the cached configuratoin being used by the
test case about 33% of the time. This leads to test case failure.

In a production environment the cache used is memcached which has
different behavior. If the cache entry were still culled, for the
"discard changes" option, that would be equivalent to a discard
since the configuration manager would re-fetch.

In the test case flow it breaks because the 'changed values'
fetch gets a cache miss.

The fix is to set the cache configuration for the tests to use
a higher max_entries value and change the cull frequency to only
cull 5% of the entries every cull.

Change-Id: I44bcf14c4ed17505de94b44b01ffcccd818399b7
2017-11-09 13:30:03 -06:00
..
api Trove user page doesn't show allowed hosts AND databases 2016-11-04 16:12:31 +00:00
content Merge "Restrict launch fields when restoring from backup" 2017-11-02 20:23:43 +00:00
enabled Add support for Trove configuration groups 2016-09-09 12:05:22 -04:00
locale Imported Translations from Zanata 2017-10-15 06:33:06 +00:00
static Add backups table to ng-backups panel 2016-06-03 12:37:55 -07:00
test Fix unstable test case 2017-11-09 13:30:03 -06:00
__init__.py Completing the plugin 2015-12-18 15:53:31 -07:00
exceptions.py Completing the plugin 2015-12-18 15:53:31 -07:00
version.py Add reno for release notes management 2016-04-14 20:56:32 +00:00