Exemple #1
0
 def test_unsupported(self):
     b = FilesystemSynchronousBackend(self.temp_dir, can_read=False)
     self.assertRaises(Unsupported, b.get_reader, "foo")
     self.assert_(b.get_writer("bar"), "A writer should be dispatched")
     b = FilesystemSynchronousBackend(self.temp_dir, can_write=False)
     self.assertRaises(Unsupported, b.get_writer, "bar")
     self.assert_(b.get_reader("foo"), "A reader should be dispatched")
 def setUp(self):
     self.temp_dir = FilePath(tempfile.mkdtemp()).asBytesMode()
     with self.temp_dir.child(b'nonempty').open('w') as fd:
         fd.write(b'Something uninteresting')
     self.backend = FilesystemSynchronousBackend(self.temp_dir)
     self.tftp = TFTPWrapper(self.backend)
     self.client = DummyClient()
     reactor.listenUDP(0, self.client)
     self.server_port = reactor.listenUDP(1069, self.tftp)
Exemple #3
0
def main():
    from tftp.backend import FilesystemSynchronousBackend
    from tftp.protocol import TFTP
    from twisted.internet import reactor
    from twisted.python import log
    random.seed()
    log.startLogging(sys.stdout)
    #reactor.listenUDP(1069, TFTP(FilesystemSynchronousBackend('output')))
    cwd = os.getcwd()
    reactor.listenUDP(69, TFTP(FilesystemSynchronousBackend(cwd)))
    reactor.run()
Exemple #4
0
 def test_write_supported_by_default(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     writer = yield b.get_writer(b'dir/bar')
     self.assertTrue(IWriter.providedBy(writer))
Exemple #5
0
 def test_read_supported_by_default(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     reader = yield b.get_reader(b'dir/foo')
     self.assertTrue(IReader.providedBy(reader))
Exemple #6
0
 def test_read_ignores_leading_and_trailing_slashes(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     reader = yield b.get_reader('/dir/foo/')
     segments_from_root = reader.file_path.segmentsFrom(self.temp_dir)
     self.assertEqual(["dir", "foo"], segments_from_root)
Exemple #7
0
 def test_write_ignores_leading_and_trailing_slashes(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     writer = yield b.get_writer('/dir/bar/')
     segments_from_root = writer.file_path.segmentsFrom(self.temp_dir)
     self.assertEqual(["dir", "bar"], segments_from_root)
Exemple #8
0
 def test_insecure_writer(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     return self.assertFailure(
         b.get_writer('../foo'), AccessViolation)
Exemple #9
0
 def test_insecure_writer(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     return self.assertFailure(b.get_writer(b'../foo'), AccessViolation)
Exemple #10
0
 def test_write_supported_by_default(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     writer = yield b.get_writer('dir/bar')
     self.assertTrue(IWriter.providedBy(writer))
Exemple #11
0
 def test_read_supported_by_default(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     reader = yield b.get_reader('dir/foo')
     self.assertTrue(IReader.providedBy(reader))
 def test_insecure_reader(self):
     b = FilesystemSynchronousBackend(self.temp_dir)
     return self.assertFailure(b.get_reader("../foo"), AccessViolation)
Exemple #13
0
def main():
    random.seed()
    log.startLogging(sys.stdout)
    reactor.listenUDP(1069, TFTP(FilesystemSynchronousBackend('output')))
    reactor.run()
Exemple #14
0
 def test_read_ignores_leading_and_trailing_slashes(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     reader = yield b.get_reader(b'/dir/foo/')
     segments_from_root = reader.file_path.segmentsFrom(self.temp_dir)
     self.assertEqual([b"dir", b"foo"], segments_from_root)
Exemple #15
0
 def makeService(self, options):
     backend = FilesystemSynchronousBackend(
         options["root-directory"],
         can_read=options['enable-reading'],
         can_write=options['enable-writing'])
     return internet.UDPServer(options['port'], TFTP(backend))
Exemple #16
0
 def test_read_unsupported(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path, can_read=False)
     return self.assertFailure(b.get_reader(b'dir/foo'), Unsupported)
Exemple #17
0
 def test_write_unsupported(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path, can_write=False)
     return self.assertFailure(b.get_writer(b'dir/bar'), Unsupported)
Exemple #18
0
 def test_read_unsupported(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path, can_read=False)
     return self.assertFailure(b.get_reader('dir/foo'), Unsupported)
Exemple #19
0
 def test_write_ignores_leading_and_trailing_slashes(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path)
     writer = yield b.get_writer(b'/dir/bar/')
     segments_from_root = writer.file_path.segmentsFrom(self.temp_dir)
     self.assertEqual([b"dir", b"bar"], segments_from_root)
Exemple #20
0
 def test_write_unsupported(self):
     b = FilesystemSynchronousBackend(self.temp_dir.path, can_write=False)
     return self.assertFailure(b.get_writer('dir/bar'), Unsupported)