github.com/qiniu/go-sdk/v7@v7.27.0/storage/uc_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package storage 5 6 import ( 7 "encoding/json" 8 "fmt" 9 "strings" 10 "testing" 11 12 clientV1 "github.com/qiniu/go-sdk/v7/client" 13 ) 14 15 func TestIndexPage(t *testing.T) { 16 err := bucketManager.TurnOnIndexPage("not-exist") 17 errInfo := fmt.Sprintf("%v", err) 18 if !strings.Contains(errInfo, "no such bucket") { 19 t.Fatalf("turn on not exist bucket index page should error:%v", err) 20 } 21 22 err = bucketManager.TurnOffIndexPage("not-exist") 23 errInfo = fmt.Sprintf("%v", err) 24 if !strings.Contains(errInfo, "no such bucket") { 25 t.Fatalf("turn off not exist bucket index page should error:%v", err) 26 } 27 28 err = bucketManager.TurnOnIndexPage(testBucket) 29 if err != nil { 30 t.Fatalf("turn on index page error:%v", err) 31 } 32 33 err = bucketManager.TurnOffIndexPage(testBucket) 34 if err != nil { 35 t.Fatalf("turn off index page error:%v", err) 36 } 37 } 38 39 func TestUcBucketEventRule(t *testing.T) { 40 rule := &BucketEventRule{ 41 Name: "name_value", 42 Prefix: "prefix_value", 43 Suffix: "suffix_value", 44 Event: []string{"event_01_value", "event_02_value"}, 45 CallbackURL: []string{"callback_url_01_value", "callback_url_02_value"}, 46 AccessKey: "access_key_value", 47 Host: "host_value", 48 } 49 50 ruleData, err := json.Marshal(rule) 51 if err != nil { 52 t.Fatal(err) 53 } 54 55 ruleString := string(ruleData) 56 fmt.Println(ruleString) 57 58 ruleNew := &BucketEventRule{} 59 err = json.Unmarshal(ruleData, ruleNew) 60 if err != nil { 61 t.Fatal(err) 62 } 63 } 64 65 func TestBucketTag(t *testing.T) { 66 clientV1.DebugMode = true 67 clientV1.DeepDebugInfo = true 68 defer func() { 69 clientV1.DebugMode = false 70 clientV1.DeepDebugInfo = false 71 }() 72 73 tagKey := "test-tag" 74 tagValue := "tag-can-delete" 75 err := bucketManager.SetTagging(testBucket, map[string]string{ 76 tagKey: tagValue, 77 }) 78 if err != nil { 79 t.Fatalf("set tag error:%s", err) 80 } 81 82 tags, err := bucketManager.GetTagging(testBucket) 83 if err != nil { 84 t.Fatalf("get tag error:%s", err) 85 } 86 if tags[tagKey] != tagValue { 87 t.Fatalf("get tag value error:%s", tags) 88 } 89 90 err = bucketManager.ClearTagging(testBucket) 91 if err != nil { 92 t.Fatalf("clear tag error:%s", err) 93 } 94 95 tags, err = bucketManager.GetTagging(testBucket) 96 if err != nil { 97 t.Fatalf("get tag after clean error:%s", err) 98 } 99 if len(tags) > 0 { 100 t.Fatal("tag should b empty after clean") 101 } 102 } 103 104 func TestBucketTagWithRetry(t *testing.T) { 105 clientV1.DebugMode = true 106 defer func() { 107 clientV1.DebugMode = false 108 }() 109 110 SetUcHosts("aaa.aaa.com", "uc.qbox.me") 111 defer SetUcHosts("uc.qbox.me") 112 113 tagKey := "test-tag" 114 tagValue := "tag-can-delete" 115 err := bucketManager.SetTagging(testBucket, map[string]string{ 116 tagKey: tagValue, 117 }) 118 if err != nil { 119 t.Fatalf("set tag error:%s", err) 120 } 121 122 tags, err := bucketManager.GetTagging(testBucket) 123 if err != nil { 124 t.Fatalf("get tag error:%s", err) 125 } 126 if tags[tagKey] != tagValue { 127 t.Fatalf("get tag value error:%s", tags) 128 } 129 130 err = bucketManager.ClearTagging(testBucket) 131 if err != nil { 132 t.Fatalf("clear tag error:%s", err) 133 } 134 135 tags, err = bucketManager.GetTagging(testBucket) 136 if err != nil { 137 t.Fatalf("get tag after clean error:%s", err) 138 } 139 if len(tags) > 0 { 140 t.Fatal("tag should b empty after clean") 141 } 142 }