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  }