Forking what is left of ZeroNet and hopefully adding an AT Proto Frontend/Proxy
1import os
2
3import pytest
4
5from util.Flag import Flag
6
7class TestFlag:
8 def testFlagging(self):
9 flag = Flag()
10 @flag.admin
11 @flag.no_multiuser
12 def testFn(anything):
13 return anything
14
15 assert "admin" in flag.db["testFn"]
16 assert "no_multiuser" in flag.db["testFn"]
17
18 def testSubclassedFlagging(self):
19 flag = Flag()
20 class Test:
21 @flag.admin
22 @flag.no_multiuser
23 def testFn(anything):
24 return anything
25
26 class SubTest(Test):
27 pass
28
29 assert "admin" in flag.db["testFn"]
30 assert "no_multiuser" in flag.db["testFn"]
31
32 def testInvalidFlag(self):
33 flag = Flag()
34 with pytest.raises(Exception) as err:
35 @flag.no_multiuser
36 @flag.unknown_flag
37 def testFn(anything):
38 return anything
39 assert "Invalid flag" in str(err.value)