def Run(self): self.Check( "GetFileText", args=vfs_plugin.ApiGetFileTextArgs( client_id=self.client_id.Basename(), file_path=self.file_path)) self.Check( "GetFileText", args=vfs_plugin.ApiGetFileTextArgs( client_id=self.client_id.Basename(), file_path=self.file_path, offset=3, length=3)) self.Check( "GetFileText", args=vfs_plugin.ApiGetFileTextArgs( client_id=self.client_id.Basename(), file_path=self.file_path, timestamp=self.time_1))
def testVfsMethodsAreAccessChecked(self): args = api_vfs.ApiListFilesArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.ListFiles, "CheckClientAccess", args=args) args = api_vfs.ApiGetVfsFilesArchiveArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetVfsFilesArchive, "CheckClientAccess", args=args) args = api_vfs.ApiGetFileDetailsArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetFileDetails, "CheckClientAccess", args=args) args = api_vfs.ApiGetFileTextArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetFileText, "CheckClientAccess", args=args) args = api_vfs.ApiGetFileBlobArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetFileBlob, "CheckClientAccess", args=args) args = api_vfs.ApiGetFileVersionTimesArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetFileVersionTimes, "CheckClientAccess", args=args) args = api_vfs.ApiGetFileDownloadCommandArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetFileDownloadCommand, "CheckClientAccess", args=args) args = api_vfs.ApiCreateVfsRefreshOperationArgs( client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.CreateVfsRefreshOperation, "CheckClientAccess", args=args) args = api_vfs.ApiGetVfsTimelineArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetVfsTimeline, "CheckClientAccess", args=args) args = api_vfs.ApiGetVfsTimelineAsCsvArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.GetVfsTimelineAsCsv, "CheckClientAccess", args=args) args = api_vfs.ApiUpdateVfsFileContentArgs(client_id=self.client_id) self.CheckMethodIsAccessChecked(self.router.UpdateVfsFileContent, "CheckClientAccess", args=args)
def testEncodingChangesResult(self): args = vfs_plugin.ApiGetFileTextArgs( client_id=self.client_id, file_path=self.file_path, encoding=vfs_plugin.ApiGetFileTextArgs.Encoding.UTF_16) # Retrieving latest version by not setting a timestamp. result = self.handler.Handle(args, token=self.token) self.assertNotEqual(result.content, "Goodbye World") self.assertEqual(result.total_size, 13)
def testDifferentTimestampsYieldDifferentFileContents(self): args = vfs_plugin.ApiGetFileTextArgs( client_id=self.client_id, file_path=self.file_path, encoding=vfs_plugin.ApiGetFileTextArgs.Encoding.UTF_8) # Retrieving latest version by not setting a timestamp. result = self.handler.Handle(args, token=self.token) self.assertEqual(result.content, "Goodbye World") self.assertEqual(result.total_size, 13) # Change timestamp to get a different file version. args.timestamp = self.time_1 result = self.handler.Handle(args, token=self.token) self.assertEqual(result.content, "Hello World") self.assertEqual(result.total_size, 11)
def testRaisesIfFirstComponentNotInWhitelist(self): args = vfs_plugin.ApiGetFileTextArgs(client_id=self.client_id, file_path="/analysis") with self.assertRaises(ValueError): self.handler.Handle(args, token=self.token)
def testRaisesOnRootPath(self): args = vfs_plugin.ApiGetFileTextArgs(client_id=self.client_id, file_path="/") with self.assertRaises(ValueError): self.handler.Handle(args, token=self.token)