示例#1
0
    def test_deletes_implicitly_drained(self):
        """Ensures an implicitly drained entity is deleted."""
        key = models.InstanceGroupManager(
            key=instance_group_managers.get_instance_group_manager_key(
                'base-name',
                'revision',
                'zone',
            ), ).put()
        models.InstanceTemplateRevision(
            key=key.parent(),
            active=[
                ndb.Key(models.InstanceGroupManager, 'fake-key-1'),
                key,
                ndb.Key(models.InstanceGroupManager, 'fake-key-2'),
            ],
        ).put()
        models.InstanceTemplate(
            key=key.parent().parent(),
            drained=[
                key.parent(),
            ],
        ).put()
        expected_active = [
            ndb.Key(models.InstanceGroupManager, 'fake-key-1'),
            ndb.Key(models.InstanceGroupManager, 'fake-key-2'),
        ]

        future = cleanup.delete_instance_group_manager(key)
        future.wait()

        self.failIf(key.get())
        self.assertItemsEqual(key.parent().get().active, expected_active)
示例#2
0
    def test_active_instances(self):
        """Ensures nothing happens when there are active Instances."""
        key = models.InstanceGroupManager(
            key=instance_group_managers.get_instance_group_manager_key(
                'base-name',
                'revision',
                'zone',
            ),
            instances=[
                ndb.Key(models.Instance, 'fake-key'),
            ],
        ).put()
        models.InstanceTemplateRevision(
            key=key.parent(),
            drained=[
                key,
            ],
        ).put()
        models.InstanceTemplate(
            key=key.parent().parent(),
            active=key.parent(),
        ).put()

        future = cleanup.delete_instance_group_manager(key)
        future.wait()

        self.failUnless(key.get())
示例#3
0
  def test_active_instances(self):
    """Ensures nothing happens when there are active Instances."""
    key = models.InstanceGroupManager(
        key=instance_group_managers.get_instance_group_manager_key(
            'base-name',
            'revision',
            'zone',
        ),
        instances=[
            ndb.Key(models.Instance, 'fake-key'),
        ],
    ).put()
    models.InstanceTemplateRevision(
        key=key.parent(),
        drained=[
            key,
        ],
    ).put()
    models.InstanceTemplate(
        key=key.parent().parent(),
        active=key.parent(),
    ).put()

    future = cleanup.delete_instance_group_manager(key)
    future.wait()

    self.failUnless(key.get())
示例#4
0
    def test_url_specified(self):
        """Ensures nothing happens when the entity still has a URL."""
        key = models.InstanceGroupManager(
            key=instance_group_managers.get_instance_group_manager_key(
                'base-name',
                'revision',
                'zone',
            ),
            url='url',
        ).put()
        models.InstanceTemplateRevision(
            key=key.parent(),
            drained=[
                key,
            ],
        ).put()
        models.InstanceTemplate(
            key=key.parent().parent(),
            active=key.parent(),
        ).put()

        future = cleanup.delete_instance_group_manager(key)
        future.wait()

        self.failUnless(key.get())
示例#5
0
  def test_url_specified(self):
    """Ensures nothing happens when the entity still has a URL."""
    key = models.InstanceGroupManager(
        key=instance_group_managers.get_instance_group_manager_key(
            'base-name',
            'revision',
            'zone',
        ),
        url='url',
    ).put()
    models.InstanceTemplateRevision(
        key=key.parent(),
        drained=[
            key,
        ],
    ).put()
    models.InstanceTemplate(
        key=key.parent().parent(),
        active=key.parent(),
    ).put()

    future = cleanup.delete_instance_group_manager(key)
    future.wait()

    self.failUnless(key.get())
示例#6
0
  def test_deletes_implicitly_drained(self):
    """Ensures an implicitly drained entity is deleted."""
    key = models.InstanceGroupManager(
        key=instance_group_managers.get_instance_group_manager_key(
            'base-name',
            'revision',
            'zone',
        ),
    ).put()
    models.InstanceTemplateRevision(
        key=key.parent(),
        drained=[
            ndb.Key(models.InstanceGroupManager, 'fake-key-1'),
            key,
            ndb.Key(models.InstanceGroupManager, 'fake-key-2'),
        ],
    ).put()
    models.InstanceTemplate(
        key=key.parent().parent(),
        drained=[
            key.parent(),
        ],
    ).put()
    expected_drained = [
        ndb.Key(models.InstanceGroupManager, 'fake-key-1'),
        ndb.Key(models.InstanceGroupManager, 'fake-key-2'),
    ]

    future = cleanup.delete_instance_group_manager(key)
    future.wait()

    self.failIf(key.get())
    self.assertItemsEqual(key.parent().get().drained, expected_drained)
示例#7
0
    def test_entity_not_found(self):
        """Ensures nothing happens when the entity is not found."""
        key = ndb.Key(models.InstanceGroupManager, 'fake-key')

        future = cleanup.delete_instance_group_manager(key)
        future.wait()

        self.failIf(key.get())
示例#8
0
  def test_entity_not_found(self):
    """Ensures nothing happens when the entity is not found."""
    key = ndb.Key(models.InstanceGroupManager, 'fake-key')

    future = cleanup.delete_instance_group_manager(key)
    future.wait()

    self.failIf(key.get())
示例#9
0
    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()
        models.InstanceTemplate(
            key=key.parent().parent(),
            active=key.parent(),
        ).put()

        future = cleanup.delete_instance_group_manager(key)
        future.wait()

        self.failUnless(key.get())
示例#10
0
  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()
    models.InstanceTemplate(
        key=key.parent().parent(),
        active=key.parent(),
    ).put()

    future = cleanup.delete_instance_group_manager(key)
    future.wait()

    self.failUnless(key.get())