def test_mod2(self): html1 = ['aaa', '111', '121', 'ccc'] html2 = ['a1a', '111', '222', 'ccc'] expect = [('modified', ['aaa'], ['a1a']), ('modified', ['121'], ['222'])] for ans, exp in zip(differ(html1, html2), expect): self.assertEqual(ans.data(), exp)
def emit_ssdeephash_data( self, page: Page) -> Optional[Tuple[int, int, List[Difference]]]: """ HTMLの変化を調べるために作っている 2回回って差分データを返す - Return - bool: 成功したかしていないか - int int: 前のHTMLの長さと今のHTMLの長さ - List[Difference]: 変更情報リスト """ html: str = "" if page.html: html = page.html else: return None pre_info = deepcopy(self.url_dict[page.url]) if page.url in self.url_dict and 'html' in pre_info: pre_html = pre_info['html'] # 前回のHTML self.url_dict[page.url]['html'] = html return (len(pre_html), len(html), differ(pre_html.splitlines(), html.splitlines())) else: self.url_dict[page.url]['html'] = html return None
def test_mod_add(self): html1 = [ """innerIframeSrc":"https://799122680-jotspot-embeds.googleusercontent.com/code/8d87fa64604b2a11fae2ed06104c58d3/inner_iframe.html"},"enableUniversalAnalytics":false,"sharingPolicy":"OPENED","siteTitle":"\u7acb\u547d\u9928\u5927\u5b66 \u60c5\u5831\u7406\u5de5\u5b66\u90e8 \u30b5\u30a4\u30d0\u30fc\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7814\u7a76\u5ba4","jot2atari":{"eligibility":"ineligible"},"onepickUrl":"https://docs.google.com/picker","adsensePublisherId":null,"features":{"moreMobileStyleImprovements":null,"disableGroups":true,"subscriptionDataMigrationInProgress":null,"plusBadge":false},"isPublic":true,"newSitesBaseUrl":"https://sites.google.com","isConsumer":false,"serverFlags":{"jot2AtariLearnMoreUrl":"https://support.google.com/sites/answer/7035197"},"domainAnalyticsAccountId":"","plusPageId":"","signInUrl":"https://accounts.google.com/AccountChooser?continue\u003dhttp://sites.google.com/a/cysec.cs.ritsumei.ac.jp/www/home\u0026service\u003djotspot","analyticsAccountId":"UA-40679231-1","scottyUrl":"/_/upload","homePath":"/","siteNoticeUrlEnabled":null,"plusPageUrl":"","adsensePromoClickedOrSiteIneligible":true,"csiReportUri":"http://csi.gstatic.com/csi","sharingId":"jotspot","termsUrl":"//www.google.com/intl/ja/policies/terms/","gvizVersion":1,"editorResources":{"sitelayout":["http://www.gstatic.com/sites/p/034961/system/app/css/sitelayouteditor.css"],"text":["http://www.gstatic.com/sites/p/034961/system/js/codemirror.js","http://www.gstatic.com/sites/p/034961/system/app/css/codemirror_css.css","http://www.gstatic.com/sites/p/034961/system/js/trog_edit__ja.js","http://www.gstatic.com/sites/p/034961/system/app/css/trogedit.css","/_/rsrc/1606983975000/system/app/css/editor.css","http://www.gstatic.com/sites/p/034961/system/app/css/codeeditor.css","/_/rsrc/1606983975000/system/app/css/camelot/editor-jfk.css"]},"sharingUrlPrefix":"/_/sharing","isAdsenseEnabled":true,"domain":"cysec.cs.ritsumei.ac.jp","baseUri":"","name":"www","siteTemplateId":false,"siteNoticeRevision":null,"siteNoticeUrlAddress":null,"siteNoticeMessage":null,"page":{"isRtlLocale":false,"canDeleteWebspace":null,"isPageDraft":null,"parentPath":null,"parentWuid":null,"siteLocale":"ja","timeZone":"America/Los_Angeles","type":"text","title":"\u30c8\u30c3\u30d7\u30da\u30fc\u30b8","locale":"ja","wuid":"wuid:gx:4c9cb611d6ff6f8d","revision":47,"path":"/home","isSiteRtlLocale":false,"pageInheritsPermissions":null,"name":"home","canChangePath":false,"state":"","properties":{},"bidiEnabled":false,"currentTemplate":{"path":"/system/app/pagetemplates/text","title":"\u30a6\u30a7\u30d6\u30da\u30fc\u30b8"}},"canPublishScriptToAnyone":true,"user":{"keyboardShortcuts":true,"sessionIndex":"","onePickToken":"","guest_":true,"displayNameOrEmail":"guest","userName":"******","uid":"","renderMobile":false,"domain":""" ] html2 = [ """innerIframeSrc":"https://939917389-jotspot-embeds.googleusercontent.com/code/8d87fa64604b2a11fae2ed06104c58d3/inner_iframe.html"},"enableUniversalAnalytics":false,"sharingPolicy":"OPENED","siteTitle":"\u7acb\u547d\u9928\u5927\u5b66 \u60c5\u5831\u7406\u5de5\u5b66\u90e8 \u30b5\u30a4\u30d0\u30fc\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7814\u7a76\u5ba4","jot2atari":{"eligibility":"ineligible"},"onepickUrl":"https://docs.google.com/picker","adsensePublisherId":null,"features":{"moreMobileStyleImprovements":null,"disableGroups":true,"subscriptionDataMigrationInProgress":null,"plusBadge":false},"isPublic":true,"newSitesBaseUrl":"https://sites.google.com","isConsumer":false,"serverFlags":{"jot2AtariLearnMoreUrl":"https://support.google.com/sites/answer/7035197"},"domainAnalyticsAccountId":"","plusPageId":"","signInUrl":"https://accounts.google.com/AccountChooser?continue\u003dhttp://sites.google.com/a/cysec.cs.ritsumei.ac.jp/www/home\u0026service\u003djotspot","analyticsAccountId":"UA-40679231-1","scottyUrl":"/_/upload","homePath":"/","siteNoticeUrlEnabled":null,"plusPageUrl":"","adsensePromoClickedOrSiteIneligible":true,"csiReportUri":"http://csi.gstatic.com/csi","sharingId":"jotspot","termsUrl":"//www.google.com/intl/ja/policies/terms/","gvizVersion":1,"editorResources":{"sitelayout":["http://www.gstatic.com/sites/p/034961/system/app/css/sitelayouteditor.css"],"text":["http://www.gstatic.com/sites/p/034961/system/js/codemirror.js","http://www.gstatic.com/sites/p/034961/system/app/css/codemirror_css.css","http://www.gstatic.com/sites/p/034961/system/js/trog_edit__ja.js","http://www.gstatic.com/sites/p/034961/system/app/css/trogedit.css","/_/rsrc/1606983975000/system/app/css/editor.css","http://www.gstatic.com/sites/p/034961/system/app/css/codeeditor.css","/_/rsrc/1606983975000/system/app/css/camelot/editor-jfk.css"]},"sharingUrlPrefix":"/_/sharing","isAdsenseEnabled":true,"domain":"cysec.cs.ritsumei.ac.jp","baseUri":"","name":"www","siteTemplateId":false,"siteNoticeRevision":null,"siteNoticeUrlAddress":null,"siteNoticeMessage":null,"page":{"isRtlLocale":false,"canDeleteWebspace":null,"isPageDraft":null,"parentPath":null,"parentWuid":null,"siteLocale":"ja","timeZone":"America/Los_Angeles","type":"text","title":"\u30c8\u30c3\u30d7\u30da\u30fc\u30b8","locale":"ja","wuid":"wuid:gx:4c9cb611d6ff6f8d","revision":47,"path":"/home","isSiteRtlLocale":false,"pageInheritsPermissions":null,"name":"home","canChangePath":false,"state":"","properties":{},"bidiEnabled":false,"currentTemplate":{"path":"/system/app/pagetemplates/text","title":"\u30a6\u30a7\u30d6\u30da\u30fc\u30b8"}},"canPublishScriptToAnyone":true,"user":{"keyboardShortcuts":true,"sessionIndex":"","onePickToken":"","guest_":true,"displayNameOrEmail":"guest","userName":"******","uid":"","renderMobile":false,"domain":""" ] expect = [('modified', ['799122680'], ['939917389'])] for ans, exp in zip(differ(html1, html2), expect): self.assertEqual(ans.data(), exp)
def test_add3(self): html1 = ['aaa', '111', 'ccc'] html2 = ['aaa', '111', '123', '123', 'ccc'] expect = [('add', ['123', '123'], [])] for ans, exp in zip(differ(html1, html2), expect): self.assertEqual(ans.data(), exp)