1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import pytest
- from ContentFilter import ContentFilterPlugin
- from Site import SiteManager
- @pytest.fixture
- def filter_storage():
- ContentFilterPlugin.filter_storage = ContentFilterPlugin.ContentFilterStorage(SiteManager.site_manager)
- return ContentFilterPlugin.filter_storage
- @pytest.mark.usefixtures("resetSettings")
- @pytest.mark.usefixtures("resetTempSettings")
- class TestContentFilter:
- def createInclude(self, site):
- site.storage.writeJson("filters.json", {
- "mutes": {"1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C": {}},
- "siteblocks": {site.address: {}}
- })
- def testIncludeLoad(self, site, filter_storage):
- self.createInclude(site)
- filter_storage.file_content["includes"]["%s/%s" % (site.address, "filters.json")] = {
- "date_added": 1528295893,
- }
- assert not filter_storage.include_filters["mutes"]
- assert not filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- assert not filter_storage.isSiteblocked(site.address)
- filter_storage.includeUpdateAll(update_site_dbs=False)
- assert len(filter_storage.include_filters["mutes"]) == 1
- assert filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- assert filter_storage.isSiteblocked(site.address)
- def testIncludeAdd(self, site, filter_storage):
- self.createInclude(site)
- query_num_json = "SELECT COUNT(*) AS num FROM json WHERE directory = 'users/1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C'"
- assert not filter_storage.isSiteblocked(site.address)
- assert not filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- assert site.storage.query(query_num_json).fetchone()["num"] == 2
- # Add include
- filter_storage.includeAdd(site.address, "filters.json")
- assert filter_storage.isSiteblocked(site.address)
- assert filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- assert site.storage.query(query_num_json).fetchone()["num"] == 0
- # Remove include
- filter_storage.includeRemove(site.address, "filters.json")
- assert not filter_storage.isSiteblocked(site.address)
- assert not filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- assert site.storage.query(query_num_json).fetchone()["num"] == 2
- def testIncludeChange(self, site, filter_storage):
- self.createInclude(site)
- filter_storage.includeAdd(site.address, "filters.json")
- assert filter_storage.isSiteblocked(site.address)
- assert filter_storage.isMuted("1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C")
- # Add new blocked site
- assert not filter_storage.isSiteblocked("1Hello")
- filter_content = site.storage.loadJson("filters.json")
- filter_content["siteblocks"]["1Hello"] = {}
- site.storage.writeJson("filters.json", filter_content)
- assert filter_storage.isSiteblocked("1Hello")
- # Add new muted user
- query_num_json = "SELECT COUNT(*) AS num FROM json WHERE directory = 'users/1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q'"
- assert not filter_storage.isMuted("1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q")
- assert site.storage.query(query_num_json).fetchone()["num"] == 2
- filter_content["mutes"]["1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q"] = {}
- site.storage.writeJson("filters.json", filter_content)
- assert filter_storage.isMuted("1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q")
- assert site.storage.query(query_num_json).fetchone()["num"] == 0
|