def testCacheSubdir (self): attach = Attachment (self.testPage) # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) # Добавим файл в dir with open (os.path.join (attach.getAttachPath(), "dir", "temp.tmp"), "w" ) as fp: fp.write ("bla-bla-bla") self.assertFalse (generator.canReadFromCache()) # Добавим еще одну вложенную директорию subdir = os.path.join (attach.getAttachPath(), "dir", "subdir_2") os.mkdir (subdir) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # Добавим файл в dir/subdir_2 with open (os.path.join (subdir, "temp2.tmp"), "w" ) as fp: fp.write ("bla-bla-bla") self.assertFalse (generator.canReadFromCache())
def testCacheLoadPlugins2 (self): """ Проверка на то, что при изменении списка установленных плагинов не работает кэширование """ Application.plugins.clear() Application.plugins.load ([u"../plugins/testempty1"]) Application.plugins.load ([u"../plugins/testempty2"]) # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) Application.plugins.clear() self.assertFalse (generator.canReadFromCache()) # Перезагрузим плагины в другом порядке Application.plugins.load ([u"../plugins/testempty1"]) Application.plugins.load ([u"../plugins/testempty2"]) self.assertEqual (len (Application.plugins), 2) self.assertTrue (generator.canReadFromCache()) Application.plugins.clear()
def testCacheEmpty (self): emptycontent = EmptyContent (Application.config) self.testPage.content = u"" # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # Страница пустая, изменился шаблон для путой записи emptycontent.content = u"1111" self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # Изменилось содержимое страницы self.testPage.content = u"Бла-бла-бла" self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # Изменился шаблон страницы, но страница уже не пустая emptycontent.content = u"2222" self.assertTrue (generator.canReadFromCache())
def testResetHash1 (self): # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) generator.resetHash() self.assertFalse (generator.canReadFromCache())
def testCacheSubpages (self): """ Проверка кэширования при добавлении новых подстраниц """ # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) # Добавляем новую подстраницу WikiPageFactory.create (self.testPage, u"Подстраница 1", []) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache())
def testConfigFontNameCache (self): """ Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию """ # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) Application.config.set (HtmlRenderConfig.HTML_SECTION, HtmlRenderConfig.FONT_FACE_NAME_PARAM, u"Бла-бла-бла") self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache())
def testCacheLoadPlugins1 (self): """ Проверка на то, что при изменении списка установленных плагинов не работает кэширование """ # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) # Загрузили плагин. Кэш не должен сработать Application.plugins.load ([u"../plugins/testempty1"]) self.assertFalse (generator.canReadFromCache()) # Загрузили еще один плагин Application.plugins.load ([u"../plugins/testempty2"]) self.assertFalse (generator.canReadFromCache())
def testCacheStyle (self): """ Проверка на то, что изменение стиля страницы сбрасывает кэш """ style = Style() # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) exampleStyleDir = u"../test/styles/example_jblog/example_jblog" exampleStyleDir2 = u"../test/styles/example_jnet/example_jnet" # Изменим стиль страницы style.setPageStyle (self.testPage, exampleStyleDir) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) # Еще раз изменим стиль style.setPageStyle (self.testPage, exampleStyleDir2) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) # Установим стиль по умолчанию style.setPageStyleDefault (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache())
def testCache1 (self): # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) self.testPage.content = u"бла-бла-бла" # Изменили содержимое страницы, опять нельзя кешировать self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) # Добавим файл attach = Attachment (self.testPage) attach.attach ([os.path.join (self.filesPath, u"add.png")]) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache())
def testCacheRename (self): # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) self.testPage.content = u"бла-бла-бла" # Изменили содержимое страницы, опять нельзя кешировать self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) # Изменили заголовок self.testPage.title = u"Новый заголовок" # Добавим файл self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache())
def testConfigThumbSizeCache (self): """ Тест на то, что на кэширование влияет изменение размера превьюшки по умолчанию """ # Только создали страницу, кешировать нельзя generator = HtmlGenerator (self.testPage) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) # После того, как один раз сгенерили страницу, если ничего не изменилось, можно кешировать self.assertTrue (generator.canReadFromCache()) Application.config.set (WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, WikiConfig.THUMB_SIZE_DEFAULT + 100) self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) self.assertTrue (generator.canReadFromCache()) Application.config.set (WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, u"Бла-бла-бла") self.assertFalse (generator.canReadFromCache()) generator.makeHtml (Style().getPageStyle (self.testPage)) Application.config.set (WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, WikiConfig.THUMB_SIZE_DEFAULT) self.assertTrue (generator.canReadFromCache())