Beispiel #1
0
    def test_post_no_entity_key_string(self):
        request = webapp2.Request.blank('/datastore/edit',
                                        POST={
                                            'kind': 'Kind1',
                                            'overflowdatetime|dateprop':
                                            '2009-12-24 23:59:59',
                                            'int|intprop': '123',
                                            'string|stringprop': 'Hello',
                                            'next': 'http://redirect/'
                                        })
        response = webapp2.Response()
        handler = datastore_viewer.DatastoreEditRequestHandler(
            request, response)
        admin_request_handler.AdminRequestHandler(handler).post(None)

        self.mox.ReplayAll()
        handler.post()
        self.mox.VerifyAll()

        self.assertEqual(302, response.status_int)
        self.assertEqual('http://redirect/', response.location)

        # Check that the entity was added.
        query = datastore.Query('Kind1')
        query.update({
            'dateprop': datetime.datetime(2009, 12, 24, 23, 59, 59),
            'intprop': 123,
            'stringprop': 'Hello'
        })
        self.assertEquals(1, query.Count())
Beispiel #2
0
    def test_post_entity_key_string(self):
        request = webapp2.Request.blank(
            '/datastore/edit/%s' % self.entity4.key(),
            POST={
                'overflowdatetime|dateprop': str(2**60),
                'int|intprop': '123',
                'string|stringprop': '',
                'next': 'http://redirect/'
            })
        response = webapp2.Response()
        handler = datastore_viewer.DatastoreEditRequestHandler(
            request, response)
        admin_request_handler.AdminRequestHandler(handler).post(
            str(self.entity4.key()))

        self.mox.ReplayAll()
        handler.post(str(self.entity4.key()))
        self.mox.VerifyAll()

        self.assertEqual(302, response.status_int)
        self.assertEqual('http://redirect/', response.location)

        # Check that the entity was updated.
        entity = datastore.Get(self.entity4.key())
        self.assertEqual(2**60, entity['dateprop'])
        self.assertEqual(123, entity['intprop'])
        self.assertEqual([10, 11], entity['listprop'])
        self.assertNotIn('stringprop', entity)
Beispiel #3
0
  def test_get_no_entity_key_string(self):
    request = webapp2.Request.blank(
        '/datastore/edit?kind=Kind1&next=http://next/')
    response = webapp2.Response()
    handler = datastore_viewer.DatastoreEditRequestHandler(request, response)

    handler.render(
        'datastore_edit.html',
        {'fields': [('intprop',
                     'int',
                     mox.Regex('^<input class="int".*value="".*$')),
                    ('listprop', 'list', ''),
                    ('stringprop',
                     'string',
                     mox.Regex('^<input class="string".*$'))],
         'key': None,
         'key_id': None,
         'key_name': None,
         'kind': 'Kind1',
         'namespace': '',
         'next': 'http://next/',
         'parent_key': None,
         'parent_key_string': None})

    self.mox.ReplayAll()
    handler.get()
    self.mox.VerifyAll()
Beispiel #4
0
  def test_get_entity_zero_props(self):
    request = webapp2.Request.blank(
        '/datastore/edit/%s?next=http://next/' % self.entity5.key())
    response = webapp2.Response()
    handler = datastore_viewer.DatastoreEditRequestHandler(request, response)

    admin_request_handler.AdminRequestHandler(handler).get(
        str(self.entity5.key()))
    handler.render(
        'datastore_edit.html',
        {'fields': [('boolprop',
                     'bool',
                     mox.Regex('^<select class="bool"(.|\n)*$')),
                    ('floatprop',
                     'float',
                     mox.Regex('^<input class="float".*value="0\.0".*$')),
                    ('intprop',
                     'int',
                     mox.Regex('^<input class="int".*value="0".*$')),
                    ('stringprop',
                     'string',
                     mox.Regex('^<input class="string".*value="".*$'))],
         'key': str(self.entity5.key()),
         'key_id': 127,
         'key_name': None,
         'kind': 'Kind1',
         'namespace': '',
         'next': 'http://next/',
         'parent_key': None,
         'parent_key_string': None})

    self.mox.ReplayAll()
    handler.get(str(self.entity5.key()))
    self.mox.VerifyAll()
Beispiel #5
0
  def test_get_entity_string(self):
    request = webapp2.Request.blank(
        '/datastore/edit/%s?next=http://next/' % self.entity1.key())
    response = webapp2.Response()
    handler = datastore_viewer.DatastoreEditRequestHandler(request, response)
    admin_request_handler.AdminRequestHandler(handler).get(
        str(self.entity1.key()))
    handler.render(
        'datastore_edit.html',
        {'fields': [('dateprop',
                     'overflowdatetime',
                     mox.Regex('^<input class="overflowdatetime".*'
                               'value="1152921504606846976".*$')),
                    ('intprop',
                     'int',
                     mox.Regex('^<input class="int".*value="1".*$')),
                    ('listprop', 'list', mox.Regex(r'\[7L?, 8L?, 9L?\]'))],
         'key': str(self.entity1.key()),
         'key_id': 123,
         'key_name': None,
         'kind': 'Kind1',
         'namespace': '',
         'next': 'http://next/',
         'parent_key': None,
         'parent_key_string': None})

    self.mox.ReplayAll()
    handler.get(str(self.entity1.key()))
    self.mox.VerifyAll()
Beispiel #6
0
  def test_get_no_entity_key_string_and_no_entities_in_namespace(self):
    request = webapp2.Request.blank(
        '/datastore/edit?kind=Kind1&namespace=cat&next=http://next/')
    response = webapp2.Response()
    handler = datastore_viewer.DatastoreEditRequestHandler(request, response)

    self.mox.ReplayAll()
    handler.get()
    self.mox.VerifyAll()

    self.assertEqual(302, response.status_int)
    self.assertRegexpMatches(
        response.location,
        r'/datastore\?kind=Kind1&message=Cannot+.*&namespace=cat')
Beispiel #7
0
  def test_post_no_entity_key_string(self):
    request = webapp2.Request.blank(
        '/datastore/edit',
        POST={'kind': 'Kind1',
              'int|intprop': '123',
              'string|stringprop': 'Hello',
              'next': 'http://redirect/'})
    response = webapp2.Response()
    handler = datastore_viewer.DatastoreEditRequestHandler(request, response)

    self.mox.ReplayAll()
    handler.post()
    self.mox.VerifyAll()

    self.assertEqual(302, response.status_int)
    self.assertEqual('http://redirect/', response.location)

    # Check that the entity was added.
    query = datastore.Query('Kind1')
    query.update({'intprop': 123, 'stringprop': 'Hello'})
    self.assertEquals(1, query.Count())