def test_file_not_found(self): filename = filewatch_pb2.Filename() filename.dirname.name = "/dir" filename.name = "notexisting.txt" with self.assertRaisesRegex(Exception, "'/dir/notexisting.txt' does not exist."): content = self.stub.GetContents(filename)
def test_not_a_file(self): fs.create_dir('dir') filename = filewatch_pb2.Filename() filename.dirname.name = "/" filename.name = "dir" with self.assertRaisesRegex(Exception, "'/dir' is not a file."): content = self.stub.GetContents(filename)
def run_test(tempdir): with FilesystemCleanup(tempdir) as fs: fs.create_file("test.txt", "contents") channel = grpc.insecure_channel('localhost:45678') stub = filewatch_pb2_grpc.FileStub(channel) fname = filewatch_pb2.Filename() fname.dirname.name = "/" fname.name = "test.txt" filecontent = stub.GetContents(fname)
def test_can_get_contents_of_file(self): filename = filewatch_pb2.Filename() filename.dirname.name = "." filename.name = "file1.txt" content = self.stub.GetContents(filename) self.assertEqual(content.dirname.name, ".") self.assertEqual(content.dirname.modification_time.epoch, fs.mtime(".")) self.assertEqual(content.filename.name, "file1.txt") self.assertEqual(content.filename.modification_time.epoch, fs.mtime("file1.txt")) self.assertEqual(['file1'], content.lines)
def test_can_get_contents_of_file_in_other_directory(self): contents = "this is some\ncontents" fs.create_dir('a_dir') p = os.path.join('a_dir', 'filename.txt') fs.create_file(p, contents) filename = filewatch_pb2.Filename() filename.dirname.name = "a_dir" filename.name = "filename.txt" content = self.stub.GetContents(filename) self.assertEqual(content.dirname.name, "a_dir") self.assertEqual(content.dirname.modification_time.epoch, fs.mtime("a_dir")) self.assertEqual(content.filename.name, "filename.txt") self.assertEqual(content.filename.modification_time.epoch, fs.mtime(p)) self.assertEqual(contents.splitlines(), content.lines)
def test_can_get_contents_of_modified_file(self): contents = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. """ fs.write_file_trunc("file1.txt", contents) filename = filewatch_pb2.Filename() filename.dirname.name = "." filename.name = "file1.txt" content = self.stub.GetContents(filename) self.assertEqual(content.dirname.name, ".") self.assertEqual(content.dirname.modification_time.epoch, fs.mtime(".")) self.assertEqual(content.filename.name, "file1.txt") self.assertEqual(content.filename.modification_time.epoch, fs.mtime("file1.txt")) self.assertEqual(contents.splitlines() + [''], content.lines)