Exemple #1
0
    def testStorage(self):
        cls = Client('127.0.0.1/storage/0', keysPath + 'leo.pem')
        cls.setHttpOpt({'timeout': 2})
        assert cls.format(1) == [ok]
        assert cls.info(0) == ['fileNotFound']
        assert cls.format(1) == [ok]
        assert cls.node() == [ok, 1]
        assert cls.write(_post='abc') == [ok, '%06d%024d' % (1, 0)]
        assert cls.size() == [ok, 1]
        assert cls.format(2) == [ok]
        assert cls.node() == [ok, 2]

        f2 = '%06d%024d' % (2, 0)
        assert cls.write(_post='abc') == [ok, f2]
        assert cls.info(f2)[0] == ok
        assert cls.info('%06d%024d' % (2, 200)) == ['fileNotFound']
        assert cls.read(f2) == 'abc'
        assert cls.read(f2, _lazy=1).read() == 'abc'
        assert cls.delete(f2) == [ok]
        assert cls.read(f2) == ''
        assert str(cls.info(f2)).startswith('''['ok', {'deleted': 1, 'dtime':''')

        toId = lambda x: '%06d%024d' % (1, x)
        assert cls.format(1) == [ok]
        for i in xrange(0, 5):
            assert cls.write(_post='abc') == [ok, toId(i)]
        assert cls.greater(toId(0), 3) == [ok, map(toId, [0, 1, 2])]
        assert cls.greater(toId(0), 5) == [ok, map(toId, [0, 1, 2, 3, 4])]
        assert cls.greater(toId(0), 6) == [ok, map(toId, [0, 1, 2, 3, 4])]
        assert cls.greater(toId(3), 6) == [ok, map(toId, [3, 4])]

        file = open(os.path.realpath(__file__), 'rb')
        result = cls.write(_post=file)
        file.close()
        assert result[0] == ok
        assert cls.read(result[1]).startswith('#coding:utf-8')

        assert cls.format(1) == [ok]