欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

s3cmdversioning測(cè)試方法是什么

這篇文章主要講解了“s3cmd versioning測(cè)試方法是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“s3cmd versioning測(cè)試方法是什么”吧!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站制作、無棣網(wǎng)絡(luò)推廣、小程序制作、無棣網(wǎng)絡(luò)營銷、無棣企業(yè)策劃、無棣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供無棣建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:aaarwkj.com

"""
Some unit tests for the S3 Versioning.
"""
import unittest
import time
from boto.s3.connection import S3Connection
from boto.exception import S3ResponseError
from boto.s3.deletemarker import DeleteMarker
class S3VersionTest (unittest.TestCase):
    def setUp(self):
        self.conn = S3Connection()
        self.bucket_name = 'version-%d' % int(time.time())
        self.bucket = self.conn.create_bucket(self.bucket_name)
    def tearDown(self):
        for k in self.bucket.list_versions():
            self.bucket.delete_key(k.name, version_id=k.version_id)
        self.bucket.delete()
    def test_1_versions(self):
        # check versioning off
        d = self.bucket.get_versioning_status()
        self.assertFalse('Versioning' in d)
        # enable versioning
        self.bucket.configure_versioning(versioning=True)
        d = self.bucket.get_versioning_status()
        self.assertEqual('Enabled', d['Versioning'])
        
        # create a new key in the versioned bucket
        k = self.bucket.new_key("foobar")
        s1 = 'This is v1'
        k.set_contents_from_string(s1)
        
        # remember the version id of this object
        v1 = k.version_id
        
        # now get the contents from s3 
        o1 = k.get_contents_as_string()
        
        # check to make sure content read from k is identical to original
        self.assertEqual(s1, o1)
        
        # now overwrite that same key with new data
        s2 = 'This is v2'
        k.set_contents_from_string(s2)
        v2 = k.version_id
        
        # now retrieve latest contents as a string and compare
        k2 = self.bucket.new_key("foobar")
        o2 = k2.get_contents_as_string()
        self.assertEqual(s2, o2)
        # next retrieve explicit versions and compare
        o1 = k.get_contents_as_string(version_id=v1)
        o2 = k.get_contents_as_string(version_id=v2)
        self.assertEqual(s1, o1)
        self.assertEqual(s2, o2)
        
        # Now list all versions and compare to what we have
        rs = self.bucket.get_all_versions()
        self.assertEqual(v2, rs[0].version_id)
        self.assertEqual(v1, rs[1].version_id)
        
        # Now do a regular list command and make sure only the new key shows up
        rs = self.bucket.get_all_keys()
        self.assertEqual(1, len(rs))
        
        # Now do regular delete
        self.bucket.delete_key('foobar')
        
        # Now list versions and make sure old versions are there
        # plus the DeleteMarker which is latest.
        rs = self.bucket.get_all_versions()
        self.assertEqual(3, len(rs))
        self.assertTrue(isinstance(rs[0], DeleteMarker))
        
        # Now delete v1 of the key
        self.bucket.delete_key('foobar', version_id=v1)
        
        # Now list versions again and make sure v1 is not there
        rs = self.bucket.get_all_versions()
        versions = [k.version_id for k in rs]
        self.assertTrue(v1 not in versions)
        self.assertTrue(v2 in versions)
        
        # Now suspend Versioning on the bucket
        self.bucket.configure_versioning(False)
        # Allow time for the change to fully propagate.
        time.sleep(3)
        d = self.bucket.get_versioning_status()
        self.assertEqual('Suspended', d['Versioning'])
        
    def test_latest_version(self):
        self.bucket.configure_versioning(versioning=True)
        
        # add v1 of an object
        key_name = "key"
        kv1 = self.bucket.new_key(key_name)
        kv1.set_contents_from_string("v1")
        
        # read list which should contain latest v1
        listed_kv1 = iter(self.bucket.get_all_versions()).next()
        self.assertEqual(listed_kv1.name, key_name)
        self.assertEqual(listed_kv1.version_id, kv1.version_id)
        self.assertEqual(listed_kv1.is_latest, True)
        # add v2 of the object
        kv2 = self.bucket.new_key(key_name)
        kv2.set_contents_from_string("v2")
        # read 2 versions, confirm v2 is latest
        i = iter(self.bucket.get_all_versions())
        listed_kv2 = i.next()
        listed_kv1 = i.next()
        self.assertEqual(listed_kv2.version_id, kv2.version_id)
        self.assertEqual(listed_kv1.version_id, kv1.version_id)
        self.assertEqual(listed_kv2.is_latest, True)
        self.assertEqual(listed_kv1.is_latest, False)
        # delete key, which creates a delete marker as latest
        self.bucket.delete_key(key_name)
        i = iter(self.bucket.get_all_versions())
        listed_kv3 = i.next()
        listed_kv2 = i.next()
        listed_kv1 = i.next()
        self.assertNotEqual(listed_kv3.version_id, None)
        self.assertEqual(listed_kv2.version_id, kv2.version_id)
        self.assertEqual(listed_kv1.version_id, kv1.version_id)
        self.assertEqual(listed_kv3.is_latest, True)
        self.assertEqual(listed_kv2.is_latest, False)
        self.assertEqual(listed_kv1.is_latest, False)

感謝各位的閱讀,以上就是“s3cmd versioning測(cè)試方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)s3cmd versioning測(cè)試方法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享標(biāo)題:s3cmdversioning測(cè)試方法是什么
網(wǎng)站URL:http://aaarwkj.com/article26/gooocg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、微信小程序、品牌網(wǎng)站建設(shè)定制網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
国产欧洲日本一区二区| 日韩一区二区精品网站| 精品人妻一区二区在线99| 亚洲午夜精品美女写真| 中文字幕有码精品在线| 免费国产午夜福利在线| 国产91在线一区精品| 99热在线免费观看精品| 日韩av高清在线播放| 夫妻性生活黄色录像视频| 国产又粗又长又猛又爽视频| 99久久中文字幕伊人| 女性裸体无遮挡啪啪网站| 亚洲精品国产av一区二区三区| 亚洲一区二区三区国色天香| 日本一区二区三区久久久| 九九热这里只有免费视频| 国产三级三级三级三级| 国产精品亚洲视频欧美视频 | 久久这里有精品免费观看| 成年人免费观看黄色片| 日韩女优中文字幕在线播放| 欧美色精品人妻视频在线| 日韩暴露一区二区三区| 国产高清剧情av网站| 亚洲国产精品天堂av在线播放| 亚洲一区二区三区在线观看| av二区不卡国产精品| 成年人午夜看片免费网站| 国产黄色片网站在线看| 日本少妇一区二区99| 免费在线观看做性小视频| 亚洲av网站女性向在线观看| 综合久久—本道中文字幕| 日本人的黄色录像视频| 人妻精品久久一区二区三区| 国产男女猛进猛出精品91| 有码精品视频在线观看| 国产在线观看91精品一区| 依依成人影院在线观看av| 亚洲国产精品一区一区|