Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1940)

Unified Diff: appengine/gce-backend/config_test.py

Issue 2698153002: Enforce limits on configs (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « appengine/gce-backend/config.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/gce-backend/config_test.py
diff --git a/appengine/gce-backend/config_test.py b/appengine/gce-backend/config_test.py
index 9cb80bd30bb651ea7f16fceb96b3bba1acf4b068..64fffdefa51610477f887c34578180b6af1b3a50 100755
--- a/appengine/gce-backend/config_test.py
+++ b/appengine/gce-backend/config_test.py
@@ -107,6 +107,51 @@ class UpdateConfigTest(test_case.TestCase):
self.failIf(config.Configuration.cached().manager_config)
self.failIf(config.Configuration.cached().revision)
+ def test_too_many_instance_templates(self):
+ template_config = config_pb2.InstanceTemplateConfig(
+ templates=[
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-1',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-2',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-3',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-4',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-5',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-6',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-7',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-8',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-9',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-10',
+ ),
+ config_pb2.InstanceTemplateConfig.InstanceTemplate(
+ base_name='base-name-11',
+ ),
+ ],
+ )
+ self.install_mock(template_config=template_config)
+
+ config.update_template_configs()
+ self.failIf(config.Configuration.cached().template_config)
+ self.failIf(config.Configuration.cached().manager_config)
+ self.failIf(config.Configuration.cached().revision)
+
def test_repeated_zone_different_base_name(self):
"""Ensures repeated zones in different base names are valid."""
manager_config = config_pb2.InstanceGroupManagerConfig(
@@ -157,6 +202,43 @@ class UpdateConfigTest(test_case.TestCase):
self.failIf(config.Configuration.cached().manager_config)
self.failIf(config.Configuration.cached().revision)
+ def test_minimum_size_exceeds_maximum_size(self):
+ """Ensures repeated zones in a base name reject the entire config."""
+ manager_config = config_pb2.InstanceGroupManagerConfig(
+ managers=[
+ config_pb2.InstanceGroupManagerConfig.InstanceGroupManager(
+ maximum_size=1,
+ minimum_size=2,
+ template_base_name='base-name-1',
+ zone='us-central1-a',
+ ),
+ ],
+ )
+ self.install_mock(manager_config=manager_config)
+
+ config.update_template_configs()
+ self.failIf(config.Configuration.cached().template_config)
+ self.failIf(config.Configuration.cached().manager_config)
+ self.failIf(config.Configuration.cached().revision)
+
+ def test_maximum_size_exceeds_maximum_allowed(self):
+ """Ensures repeated zones in a base name reject the entire config."""
+ manager_config = config_pb2.InstanceGroupManagerConfig(
+ managers=[
+ config_pb2.InstanceGroupManagerConfig.InstanceGroupManager(
+ maximum_size=9999,
+ template_base_name='base-name-1',
+ zone='us-central1-a',
+ ),
+ ],
+ )
+ self.install_mock(manager_config=manager_config)
+
+ config.update_template_configs()
+ self.failIf(config.Configuration.cached().template_config)
+ self.failIf(config.Configuration.cached().manager_config)
+ self.failIf(config.Configuration.cached().revision)
+
def test_update_template_configs(self):
"""Ensures config is updated when revision changes."""
manager_config = config_pb2.InstanceGroupManagerConfig(
« no previous file with comments | « appengine/gce-backend/config.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698