Esempio n. 1
0
    def test_entity_exists(self):
        """Ensures nothing happens when the entity already exists."""
        key = models.Instance(key=instances.get_instance_key(
            'base-name',
            'revision',
            'zone',
            'instance-name',
        ), ).put()

        future = instances.ensure_entity_exists(key, 'url')
        future.wait()

        self.failIf(key.get().url)
Esempio n. 2
0
  def test_creates(self):
    """Ensures entity is created when it doesn't exist."""
    key=instances.get_instance_key(
        'base-name',
        'revision',
        'zone',
        'instance-name',
    )
    expected_url = 'url'

    future = instances.ensure_entity_exists(key, expected_url)
    future.wait()

    self.assertEqual(key.get().url, expected_url)
Esempio n. 3
0
    def test_creates(self):
        """Ensures entity is created when it doesn't exist."""
        def send_machine_event(*args, **kwargs):
            pass

        self.mock(instances.metrics, 'send_machine_event', send_machine_event)

        key = instances.get_instance_key(
            'base-name',
            'revision',
            'zone',
            'instance-name',
        )
        expected_url = 'url'

        future = instances.ensure_entity_exists(
            key,
            expected_url,
            instances.get_instance_group_manager_key(key),
        )
        future.wait()

        self.assertEqual(key.get().url, expected_url)
Esempio n. 4
0
    def test_entity_not_put(self):
        """Ensures nothing happens when the entity wasn't put."""
        @ndb.tasklet
        def _ensure_entity_exists(*args, **kwargs):
            raise ndb.Return(False)

        def send_machine_event(*args, **kwargs):
            self.fail('send_machine_event called')

        self.mock(instances, '_ensure_entity_exists', _ensure_entity_exists)
        self.mock(instances.metrics, 'send_machine_event', send_machine_event)

        key = instances.get_instance_key(
            'base-name',
            'revision',
            'zone',
            'instance-name',
        )

        future = instances.ensure_entity_exists(
            key, 'url', instances.get_instance_group_manager_key(key))
        future.wait()

        self.failIf(key.get())