def test_entity_doesnt_exist(self): """Ensures nothing happens when the entity doesn't exist.""" key = ndb.Key(models.InstanceGroupManager, 'fake-key') instance_group_managers.create(key) self.failIf(key.get())
def test_creates(self): """Ensures an instance group manager is created.""" def create_instance_group_manager(*args, **kwargs): return {'targetLink': 'url'} self.mock( instance_group_managers.gce.Project, 'create_instance_group_manager', create_instance_group_manager, ) key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), minimum_size=2, maximum_size=2, ).put() models.InstanceTemplateRevision( key=key.parent(), project='project', url='instance-template-url', ).put() expected_url = 'url' instance_group_managers.create(key) self.assertEqual(key.get().url, expected_url)
def test_creates(self): """Ensures an instance group manager is created.""" def create_instance_group_manager(*args, **kwargs): return {'targetLink': 'url'} self.mock( instance_group_managers.gce.Project, 'create_instance_group_manager', create_instance_group_manager, ) key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), minimum_size=2, ).put() models.InstanceTemplateRevision( key=key.parent(), project='project', url='instance-template-url', ).put() expected_url = 'url' instance_group_managers.create(key) self.assertEqual(key.get().url, expected_url)
def test_updates_when_already_created(self): """Ensures an instance group manager is updated when already created.""" def create_instance_group_manager(*args, **kwargs): raise net.Error('', 409, '') def get_instance_group_manager(*args, **kwargs): return {'selfLink': 'url'} self.mock( instance_group_managers.gce.Project, 'create_instance_group_manager', create_instance_group_manager, ) self.mock( instance_group_managers.gce.Project, 'get_instance_group_manager', get_instance_group_manager, ) key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), minimum_size=2, ).put() models.InstanceTemplateRevision( key=key.parent(), project='project', url='instance-template-url', ).put() expected_url = 'url' instance_group_managers.create(key) self.assertEqual(key.get().url, expected_url)
def post(self): """Creates an instance group manager for the given InstanceGroupManager. Params: key: URL-safe key for a models.InstanceGroupManager. """ key = ndb.Key(urlsafe=self.request.get('key')) assert key.kind() == 'InstanceGroupManager', key instance_group_managers.create(key)
def test_parent_doesnt_exist(self): """Ensures nothing happens when the parent doesn't exist.""" key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), ).put() instance_group_managers.create(key) self.failIf(key.get().url)
def test_parent_project_unspecified(self): """Ensures nothing happens when parent doesn't specify project.""" key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), ).put() models.InstanceTemplateRevision(key=key.parent(), url='url').put() instance_group_managers.create(key) self.failIf(key.get().url)
def test_parent_url_unspecified(self): """Ensures nothing happens when parent doesn't specify URL.""" key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), ).put() models.InstanceTemplateRevision(key=key.parent(), project='project').put() instance_group_managers.create(key) self.failIf(key.get().url)
def test_url_specified(self): """Ensures nothing happens when URL is already specified.""" key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), url='url', ).put() expected_url = 'url' instance_group_managers.create(key) self.assertEqual(key.get().url, expected_url)