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())
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)
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()
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()
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()
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')
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())