Unit test for shared item federation tokens

merge-requests/30/head
Bob Mottram 2021-07-26 11:17:06 +01:00
parent 3c8e4bb5fb
commit ceaefc6ee9
2 changed files with 34 additions and 6 deletions

View File

@ -945,16 +945,18 @@ def sharesCatalogCSVEndpoint(baseDir: str, httpPrefix: str,
def generateSharedItemFederationTokens(sharedItemsFederatedDomains: [], def generateSharedItemFederationTokens(sharedItemsFederatedDomains: [],
baseDir: str) -> None: baseDir: str) -> {}:
"""Generates tokens for shared item federated domains """Generates tokens for shared item federated domains
""" """
if not sharedItemsFederatedDomains: if not sharedItemsFederatedDomains:
return return
tokensFilename = baseDir + '/accounts/sharedItemsFederationTokens.json'
tokensJson = {} tokensJson = {}
if not os.path.isfile(tokensFilename): if baseDir:
tokensJson = loadJson(tokensFilename) tokensFilename = \
baseDir + '/accounts/sharedItemsFederationTokens.json'
if not os.path.isfile(tokensFilename):
tokensJson = loadJson(tokensFilename)
tokensAdded = False tokensAdded = False
for domain in sharedItemsFederatedDomains: for domain in sharedItemsFederatedDomains:
@ -963,8 +965,10 @@ def generateSharedItemFederationTokens(sharedItemsFederatedDomains: [],
tokensAdded = True tokensAdded = True
if not tokensAdded: if not tokensAdded:
return return tokensJson
saveJson(tokensJson, tokensFilename) if baseDir:
saveJson(tokensJson, tokensFilename)
return tokensJson
def authorizeSharedItems(sharedItemsFederatedDomains: [], def authorizeSharedItems(sharedItemsFederatedDomains: [],

View File

@ -128,6 +128,8 @@ from languages import setActorLanguages
from languages import getActorLanguages from languages import getActorLanguages
from languages import getLinksFromContent from languages import getLinksFromContent
from languages import addLinksToContent from languages import addLinksToContent
from shares import authorizeSharedItems
from shares import generateSharedItemFederationTokens
testServerAliceRunning = False testServerAliceRunning = False
testServerBobRunning = False testServerBobRunning = False
@ -4268,9 +4270,31 @@ def _testValidPassword():
assert validPassword('Abcdef!g123456') assert validPassword('Abcdef!g123456')
def _testAuthorizeSharedItems():
print('testAuthorizeSharedItems')
sharedItemsFederatedDomains = \
['dog.domain', 'cat.domain', 'birb.domain']
tokensJson = \
generateSharedItemFederationTokens(sharedItemsFederatedDomains, None)
assert tokensJson
assert tokensJson.get('dog.domain')
assert tokensJson.get('cat.domain')
assert tokensJson.get('birb.domain')
assert len(tokensJson['dog.domain']) >= 64
assert len(tokensJson['cat.domain']) >= 64
assert len(tokensJson['birb.domain']) >= 64
assert not authorizeSharedItems(sharedItemsFederatedDomains, None,
'dog.domain', 'w' * 86,
False, tokensJson)
assert authorizeSharedItems(sharedItemsFederatedDomains, None,
'dog.domain', tokensJson['dog.domain'],
False, tokensJson)
def runAllTests(): def runAllTests():
print('Running tests...') print('Running tests...')
updateDefaultThemesList(os.getcwd()) updateDefaultThemesList(os.getcwd())
_testAuthorizeSharedItems()
_testValidPassword() _testValidPassword()
_testGetLinksFromContent() _testGetLinksFromContent()
_testSetActorLanguages() _testSetActorLanguages()