示例#1
0
 def test_ok_write(self):
     self.assertEqual(
         action_tracer.check_access_permissions(
             [action_tracer.Write("writeable.txt")],
             allowed_writes={"writeable.txt"}),
         [],
     )
示例#2
0
 def test_ok_read(self):
     self.assertEqual(
         action_tracer.check_access_permissions(
             [action_tracer.Read("readable.txt")],
             allowed_reads={"readable.txt"}),
         [],
     )
示例#3
0
 def test_no_accesses(self):
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(),
             action_tracer.AccessConstraints()),
         action_tracer.FSAccessSet(),
     )
示例#4
0
 def test_ok_write(self):
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(writes={"writeable.txt"}),
             action_tracer.AccessConstraints(
                 allowed_writes={"writeable.txt"})),
         action_tracer.FSAccessSet(),
     )
示例#5
0
 def test_forbidden_read(self):
     read = "unreadable.txt"
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(reads={read}),
             action_tracer.AccessConstraints()),
         action_tracer.FSAccessSet(reads={read}),
     )
示例#6
0
 def test_ok_read(self):
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(reads={"readable.txt"}),
             action_tracer.AccessConstraints(
                 allowed_reads={"readable.txt"})),
         action_tracer.FSAccessSet(),
     )
示例#7
0
 def test_forbidden_writes(self):
     # make sure multiple violations accumulate
     bad_writes = [
         action_tracer.Write("unwriteable.txt"),
         action_tracer.Write("you-shall-not-pass.txt"),
     ]
     self.assertEqual(
         action_tracer.check_access_permissions(bad_writes),
         bad_writes,
     )
示例#8
0
 def test_forbidden_writes(self):
     # make sure multiple violations accumulate
     bad_writes = {
         "unwriteable.txt",
         "you-shall-not-pass.txt",
     }
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(writes=bad_writes),
             action_tracer.AccessConstraints()),
         action_tracer.FSAccessSet(writes=bad_writes),
     )
示例#9
0
 def test_read_from_temporary_writes_ok(self):
     temp_file = "__file.tmp"
     reads = {temp_file}
     writes = {
         "unwriteable.txt",
         temp_file,
     }
     self.assertEqual(
         action_tracer.check_access_permissions(
             action_tracer.FSAccessSet(reads=reads, writes=writes),
             action_tracer.AccessConstraints()),
         action_tracer.FSAccessSet(reads=set(), writes=writes),
     )
示例#10
0
 def test_forbidden_read(self):
     read = action_tracer.Read("unreadable.txt")
     self.assertEqual(
         action_tracer.check_access_permissions([read]),
         [read],
     )
示例#11
0
 def test_no_accesses(self):
     self.assertEqual(
         action_tracer.check_access_permissions([]),
         [],
     )