示例#1
0
 def test_lists_files_with_size(self):
     global fs
     dirname = filewatch_pb2.Directoryname()
     dirname.name = "/dir1"
     filelist = self.stub.ListFiles(dirname)
     for fname in filelist.filenames:
         self.assertEquals(fs.size(os.path.join('dir1', fname.name)),
                           fname.size)
示例#2
0
    def test_error_on_existing_file(self):
        dirname = filewatch_pb2.Directoryname()
        dirname.name = "/file1.txt"
        with self.assertRaisesRegex(Exception,
                                    "'/file1.txt' is not a directory") as cm:
            dirlist = self.stub.ListFiles(dirname)

        self.assertEquals(grpc.StatusCode.NOT_FOUND, cm.exception.code())
示例#3
0
    def test_fails_when_directory_does_not_exist(self):
        dirname = filewatch_pb2.Directoryname()
        dirname.name = "/not_existing_dir"
        with self.assertRaisesRegex(
                Exception, "'/not_existing_dir' does not exist") as cm:
            dirlist = self.stub.ListFiles(dirname)

        self.assertEquals(grpc.StatusCode.NOT_FOUND, cm.exception.code())
 def test_dirs_in_sub_dir(self):
     dirname = filewatch_pb2.Directoryname()
     dirname.name = "/dir1"
     dirlist = self.stub.ListDirectories(dirname)
     self.assertEquals("/dir1", dirlist.name.name)
     self.assertEquals(3, len(dirlist.dirnames))
     self.assertEquals(set(["dir3", "dir4", "dir5"]),
                       set([dname.name for dname in dirlist.dirnames]))
示例#5
0
 def test_lists_files_in_root_dir(self):
     dirname = filewatch_pb2.Directoryname()
     dirname.name = "/"
     filelist = self.stub.ListFiles(dirname)
     self.assertEquals("/", filelist.name.name)
     self.assertEquals(2, len(filelist.filenames))
     for fname in filelist.filenames:
         self.assertEquals("/", fname.dirname.name)
     self.assertEquals(set(["file1.txt", "file2.txt"]),
                       set([fname.name for fname in filelist.filenames]))
示例#6
0
 def listen_for_events(self, name_of_dir):
     dirname = filewatch_pb2.Directoryname()
     dirname.name = name_of_dir
     direvt_generator = self.stub.ListenForEvents(dirname)
     direvt = next(direvt_generator)
     self.assertEqual(filewatch_pb2.DirectoryEvent.WATCHING_DIRECTORY,
                      direvt.event)
     self.assertEqual(name_of_dir, direvt.name)
     self.assertEqual('.', direvt.dirname.name)
     return direvt_generator
示例#7
0
    def test_lists_files_in_sub_dir(self):
        dirname = filewatch_pb2.Directoryname()
        dirname.name = "/dir1"
        filelist = self.stub.ListFiles(dirname)
        self.assertEquals("/dir1", filelist.name.name)
        self.assertEquals(3, len(filelist.filenames))
        for fname in filelist.filenames:
            self.assertEquals("/dir1", fname.dirname.name)

        self.assertEquals(set(["file3.txt", "file4.txt", "file5.txt"]),
                          set([fname.name for fname in filelist.filenames]))
示例#8
0
    def test_lists_files_modification_time(self):
        global fs
        files = [
            "file1.txt", "file2.txt",
            os.path.join("dir1", "file3.txt"),
            os.path.join("dir1", "file4.txt"),
            os.path.join("dir1", "file5.txt")
        ]
        expected = {name: fs.mtime(name) for name in files}
        dirname = filewatch_pb2.Directoryname()
        dirname.name = "/"
        filelist = self.stub.ListFiles(dirname)
        self.assertEquals(filelist.name.modification_time.epoch, fs.mtime("."))
        for fname in filelist.filenames:
            self.assertEquals(expected[fname.name],
                              fname.modification_time.epoch)

        dirname.name = "/dir1"
        filelist = self.stub.ListFiles(dirname)
        self.assertEquals(filelist.name.modification_time.epoch,
                          fs.mtime("dir1"))
        for fname in filelist.filenames:
            self.assertEquals(expected[os.path.join("dir1", fname.name)],
                              fname.modification_time.epoch)
    def test_modification_times(self):
        global fs
        dirs = [
            "dir1", "dir2",
            os.path.join("dir1", "dir3"),
            os.path.join("dir1", "dir4"),
            os.path.join("dir1", "dir5")
        ]
        expected = {name: fs.mtime(name) for name in dirs}
        dirname = filewatch_pb2.Directoryname()
        dirname.name = "/"
        dirlist = self.stub.ListDirectories(dirname)
        self.assertEquals(dirlist.name.modification_time.epoch, fs.mtime("."))
        for dname in dirlist.dirnames:
            self.assertEquals(expected[dname.name],
                              dname.modification_time.epoch)

        dirname.name = "/dir1"
        dirlist = self.stub.ListDirectories(dirname)
        self.assertEquals(dirlist.name.modification_time.epoch,
                          fs.mtime("dir1"))
        for dname in dirlist.dirnames:
            self.assertEquals(expected[os.path.join("dir1", dname.name)],
                              dname.modification_time.epoch)
def run_test(tempdir):
    channel = grpc.insecure_channel('localhost:45678')
    stub = filewatch_pb2_grpc.DirectoryStub(channel)
    dirname = filewatch_pb2.Directoryname()
    dirname.name = "/"
    filelist = stub.ListFiles(dirname)