def test_instances_with_page_token(self): """Ensures all instances are returned.""" def get_instances_in_instance_group(*args, **kwargs): if kwargs.get('page_token'): return { 'items': [ {'instance': 'url/instance-2'}, ], } return { 'items': [ {'instance': 'url/instance-1'}, ], 'nextPageToken': 'page-token', } self.mock( instances.gce.Project, 'get_instances_in_instance_group', get_instances_in_instance_group, ) key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), url='url', ).put() models.InstanceTemplateRevision(key=key.parent(), project='project').put() expected_urls = ['url/instance-1', 'url/instance-2'] urls = instances.fetch(key) self.assertItemsEqual(urls, expected_urls)
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() urls = instances.fetch(key) self.failIf(urls)
def test_parent_project_unspecified(self): """Ensures nothing happens when parent doesn't specify a project.""" key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), ).put() models.InstanceTemplateRevision(key=key.parent()).put() urls = instances.fetch(key) self.failIf(urls)
def test_no_instances(self): """Ensures nothing happens when there are no instances.""" def get_instances_in_instance_group(*args, **kwargs): return {} self.mock( instances.gce.Project, 'get_instances_in_instance_group', get_instances_in_instance_group, ) key = models.InstanceGroupManager( key=instance_group_managers.get_instance_group_manager_key( 'base-name', 'revision', 'zone', ), url='url', ).put() models.InstanceTemplateRevision(key=key.parent(), project='project').put() urls = instances.fetch(key) self.failIf(urls)
def test_entity_doesnt_exist(self): """Ensures nothing happens when the entity doesn't exist.""" key = ndb.Key(models.InstanceGroupManager, 'fake-key') urls = instances.fetch(key) self.failIf(urls)