diff --git a/acceptreject.py b/acceptreject.py index fd8daed5f..6d9a65c85 100644 --- a/acceptreject.py +++ b/acceptreject.py @@ -138,11 +138,14 @@ def acceptFollow(baseDir: str,domain : str,messageJson: {}, \ return # are capabilities attached? If so then store them - if messageJson['object'].get('capabilities'): - if isinstance(messageJson['object']['capabilities'], dict): + if messageJson.get('capabilities'): + if isinstance(messageJson['capabilities'], dict): + acceptedDomainFull=acceptedDomain + if acceptedPort: + acceptedDomainFull=acceptedDomain+':'+str(acceptedPort) capabilitiesGrantedSave(baseDir, \ - followedNickname,followedDomain, \ - messageJson['object']['capabilities']) + nickname,acceptedDomainFull, \ + messageJson['capabilities']) if followPerson(baseDir, \ nickname,acceptedDomain, \ diff --git a/capabilities.py b/capabilities.py index 0c13d221c..9e3e6e318 100644 --- a/capabilities.py +++ b/capabilities.py @@ -91,7 +91,8 @@ def capabilitiesGrantedSave(baseDir :str,nickname :str,domain :str,ocap: {}) -> """ if not ocap.get('actor'): return False - ocapFilename=getOcapFilename(baseDir,nickname,fullDomain,ocap['actor'],'granted') + capabilitiesMakeDirs(baseDir) + ocapFilename=getOcapFilename(baseDir,nickname,domain,ocap['actor'],'granted') with open(ocapFilename, 'w') as fp: commentjson.dump(ocap, fp, indent=4, sort_keys=False) return True diff --git a/tests.py b/tests.py index 77bade8fb..2f62b6bcb 100644 --- a/tests.py +++ b/tests.py @@ -314,7 +314,8 @@ def testFollowBetweenServers(): if os.path.isfile(bobDir+'/accounts/bob@'+bobDomain+'/followers.txt'): if os.path.isfile(aliceDir+'/accounts/alice@'+aliceDomain+'/following.txt'): if os.path.isfile(bobDir+'/ocap/accept/'+bobDomain+':'+str(bobPort)+':bob:'+httpPrefix+':##'+aliceDomain+':'+str(alicePort)+'#users#alice.json'): - break + if os.path.isfile(aliceDir+'/ocap/granted/'+aliceDomain+':'+str(alicePort)+':alice:'+httpPrefix+':##'+bobDomain+':'+str(bobPort)+'#users#bob.json'): + break time.sleep(1) # stop the servers @@ -327,11 +328,12 @@ def testFollowBetweenServers(): assert thrBob.isAlive()==False assert os.path.isfile(bobDir+'/ocap/accept/'+bobDomain+':'+str(bobPort)+':bob:'+httpPrefix+':##'+aliceDomain+':'+str(alicePort)+'#users#alice.json') + assert os.path.isfile(aliceDir+'/ocap/granted/'+aliceDomain+':'+str(alicePort)+':alice:'+httpPrefix+':##'+bobDomain+':'+str(bobPort)+'#users#bob.json') assert 'alice@'+aliceDomain in open(bobDir+'/accounts/bob@'+bobDomain+'/followers.txt').read() assert 'bob@'+bobDomain in open(aliceDir+'/accounts/alice@'+aliceDomain+'/following.txt').read() os.chdir(baseDir) - #shutil.rmtree(baseDir+'/.tests') + shutil.rmtree(baseDir+'/.tests') def testFollowersOfPerson(): print('testFollowersOfPerson')