def test_fetchByUrl(self):
     b1 = WikiData(url='blog1', content='This is blog1')
     self.storage.save(b1)
     b2 = WikiData(url='blog2', content='This is blog2')
     self.storage.save(b2)
     b3 = WikiData(url='blog1', content='This is blog2')
     self.storage.save(b3)
     actual = list(self.storage.fetchByUrl('blog1'))
     self.assertTrue(len(actual) == 2)
    def test_create_json(self):
        url = 'Test Subject'
        content = 'Test Content'
        wiki = WikiData(url=url,content=content)
        wiki.put()
        wiki_id = wiki.key().id()
#        wiki_data = self.service.fetch(wiki_id)
        json_string = self.service.create_json(wiki_id)
        self.assertTrue(('"url": "%s"' % url) in json_string, "Actual json string: " + str(json_string))
        self.assertTrue(('"content": "%s"' % content) in json_string, "Actual json string: " + str(json_string))
 def test_fetchAll(self):
     b1 = WikiData(url='blog1', content='This is blog1')
     self.storage.save(b1)
     b2 = WikiData(url='blog2', content='This is blog2')
     self.storage.save(b2)
     expected = 2
     actual = list(self.storage.fetchAll())
     actual_count = len(actual)
     self.assertEquals(
         expected, actual_count, "Wiki count of " + str(expected) +
         ' size was not found. Actual count: ' + str(actual_count))
     print repr(actual)
    def test_create_json_with_double_quotes(self):
        url = 'Test"s Subject'
        content = 'Test"s Content'
        wiki = WikiData(url=url,content=content)
        wiki.put()
        wiki_id = wiki.key().id()
#        wiki_data = self.service.fetch(wiki_id)
        json_string = self.service.create_json(wiki_id)
        quote = url.find('"')
        json_url = url[0:quote] + '\\' + url[quote:]
        quote = content.find('"')
        json_content = content[0:quote] + '\\' + content[quote:]
        self.assertTrue(('"url": "%s"' % json_url) in json_string, "Actual json string: " + str(json_string))
        self.assertTrue(('"content": "%s"' % json_content) in json_string, "Actual json string: " + str(json_string))
Пример #5
0
 def fetch(self, entry_id):
     cache_key = str(entry_id) + DATA_CACHE_KEY_SUFFIX
     last_queried_key = str(entry_id) + LAST_QUERY_CACHE_KEY_SUFFIX 
     wiki_entry = memcache.get(cache_key)
     if not wiki_entry:
         wiki_entry = WikiData.get_by_id(entry_id)
         memcache.set(cache_key, wiki_entry)
         self.setLastQueried(last_queried_key)
     return wiki_entry
 def test_fetch(self):
     b = WikiData(url='blog1', content='This is blog1')
     expected = b.url
     self.storage.save(b)
     b1 = self.storage.fetch(1)
     self.assertEquals(expected, b1.url,
                       "Wiki with id " + str(expected) + ' was not found.')
     #check not found
     b1a = self.storage.fetch(100)
     self.assertTrue(b1a == None)
     pass
    def test_fetch_cacheTest(self):
        b1 = WikiData(url='blog1',content='This is blog1')
        self.storage.save(b1)
        b2 = WikiData(url='blog2',content='This is blog2')
        self.storage.save(b2)
        b3 = WikiData(url='blog1',content='This is blog2')
        self.storage.save(b3)
        b4 = WikiData(url='blog1',content='This is blog1')
        self.storage.save(b4)
        b5 = WikiData(url='blog1',content='This is blog1')
        self.storage.save(b5)
        b6 = WikiData(url='blog1',content='This is blog1')
        self.storage.save(b6)
        b5_id = b5.key().id()

        actual1 = self.storage.fetch(b5_id)
        
        cache_key = str(b5_id) + DATA_CACHE_KEY_SUFFIX 
        actual2 = memcache.get(cache_key)

        self.assertEquals(actual1.content, actual2.content)
 def test_save_insert(self):
     b1 = WikiData(url='blog1', content='This is blog1')
     b1a = self.storage.fetch(1)
     #assert not found
     self.assertTrue(b1a == None)
     self.storage.save(b1)
     b1a = self.storage.fetch(1)
     self.assertEquals(
         b1.url, b1a.url, "Wiki " + str(b1) +
         ' was not saved. This was saved instead: ' + str(b1a))
     self.assertEquals(
         b1.content, b1a.content, "Wiki " + str(b1) +
         ' was not saved. This was saved instead: ' + str(b1a))
    def test_fetch_cacheTest(self):
        b1 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b1)
        b2 = WikiData(url='blog2', content='This is blog2')
        self.storage.save(b2)
        b3 = WikiData(url='blog1', content='This is blog2')
        self.storage.save(b3)
        b4 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b4)
        b5 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b5)
        b6 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b6)
        b5_id = b5.key().id()

        actual1 = self.storage.fetch(b5_id)

        cache_key = str(b5_id) + DATA_CACHE_KEY_SUFFIX
        actual2 = memcache.get(cache_key)

        self.assertEquals(actual1.content, actual2.content)
Пример #10
0
 def post(self, param=None):
     '''
     Handles wiki entry creation
     '''
     logging.info("Running EditWikiEntry.post()")
     logging.info('Parameter=%s' % param)
     self.response.headers['Content-Type'] = 'text/html'
     check_cookie(self)
     isValid = True
     values = {}
     #        url = self.request.get('url')
     url = WebappUtils.getLastPathElement(self.request)
     if not url:
         url = param[1:]
     if not url:
         values['url_error'] = 'Wiki url is required'
         isValid = False
     else:
         logging.info("Creating wiki entry with url: %s" % str(url))
     content = self.request.get('content')
     if not content:
         values['content_error'] = 'Wiki content is required'
         isValid = False
     else:
         logging.info("Creating wiki entry with content: %s" % str(content))
     path = None
     if not isValid:
         values['url'] = url
         values['content'] = content
         path = os.path.join(os.path.dirname(__file__),
                             '../templates/edit_wiki_entry.html')
         self.response.out.write(template.render(path, values))
     else:
         wiki = WikiData(url=url, content=content)
         service = WikiService(WikiDataStoreFactory())
         logging.info("Saving WikiData: %s" % str_WikiData(wiki))
         service.save(wiki)
         logging.info(
             "Successfully posted wiki entry. Redirecting to '/final/%s" %
             url)
         self.redirect('/final/%s' % url)
 def test_save_update(self):
     b3 = WikiData(url='blog1', content='This is blog1')
     #insert
     self.storage.save(b3)
     b3a = self.storage.fetch(1)
     self.assertEquals(
         b3.url, b3a.url, "Wiki " + str(b3) +
         ' was not saved. This was saved instead: ' + str(b3a))
     self.assertEquals(
         b3.content, b3a.content, "Wiki " + str(b3) +
         ' was not saved. This was saved instead: ' + str(b3a))
     #update
     b3a.content = 'This is blog1 #2'
     self.storage.save(b3a)
     b3a2 = self.storage.fetch(1)
     self.assertEquals(
         b3.url, b3a2.url, "Wiki " + str(b3) +
         ' was not saved. This was saved instead: ' + str(b3a))
     self.assertNotEquals(
         b3.content, b3a2.content, "Wiki " + str(b3) +
         ' was not saved. This was saved instead: ' + str(b3a))
    def test_fetchAll_cacheTest(self):
        b1 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b1)
        b2 = WikiData(url='blog2', content='This is blog2')
        self.storage.save(b2)
        b3 = WikiData(url='blog1', content='This is blog2')
        self.storage.save(b3)
        b4 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b4)
        b5 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b5)
        b6 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b6)

        actual_1 = list(self.storage.fetchAll())

        cache_key = FETCH_ALL_CACHE_KEY
        actual_2 = memcache.get(cache_key)

        self.assertEquals(actual_1[0].content, actual_2[0].content)
    def test_fetchByUrl_cacheTest(self):
        b1 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b1)
        b2 = WikiData(url='blog2', content='This is blog2')
        self.storage.save(b2)
        b3 = WikiData(url='blog1', content='This is blog2')
        self.storage.save(b3)
        b4 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b4)
        b5 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b5)
        b6 = WikiData(url='blog1', content='This is blog1')
        self.storage.save(b6)

        actual1 = list(self.storage.fetchByUrl('blog1'))

        cache_key = 'blog1' + DATA_CACHE_KEY_SUFFIX
        actual2 = memcache.get(cache_key)

        self.assertEquals(len(actual1), len(actual2))
        self.assertEquals(actual1[0].url, actual2[0].url)
        self.assertEquals(actual1[1].content, actual2[1].content)
 def testPut(self):
     data = WikiData(url='Foo', content='Foo blog')
     data.put()
     pass
 def testPut(self):
     data = WikiData(url='Foo',content='Foo blog')
     data.put()
     pass