class SFTPTestMixin: """Mixin used to check getAttrs.""" def setUp(self): self._factory = LaunchpadObjectFactory() def checkAttrs(self, attrs, stat_value): """Check that an attrs dictionary matches a stat result.""" self.assertEqual(stat_value.st_size, attrs['size']) self.assertEqual(os.getuid(), attrs['uid']) self.assertEqual(os.getgid(), attrs['gid']) self.assertEqual(stat_value.st_mode, attrs['permissions']) self.assertEqual(stat_value.st_mtime, attrs['mtime']) self.assertEqual(stat_value.st_atime, attrs['atime']) def getPathSegment(self): """Return a unique path segment for testing. This returns a path segment such that 'path != unescape(path)'. This exercises the interface between the sftp server and the Bazaar transport, which expects escaped URL segments. """ return self._factory.getUniqueString('%41%42%43-')