github.com/qiniu/go-sdk/v7@v7.27.0/qvs/namespace_test.go (about)

     1  //go:build integration
     2  // +build integration
     3  
     4  package qvs
     5  
     6  import (
     7  	"testing"
     8  )
     9  
    10  func TestNamespaceCRUD(t *testing.T) {
    11  	if skipTest() {
    12  		t.SkipNow()
    13  	}
    14  	c := getTestManager()
    15  
    16  	nsName := "testNamespace"
    17  	nsAccessType := "rtmp"
    18  	nsRTMPURLType := 1
    19  	domain := []string{"qiniu1.com"}
    20  	zone := "z0"
    21  	hlslowlatency := false
    22  	ns := &NameSpace{
    23  		Name:          nsName,
    24  		AccessType:    nsAccessType,
    25  		RTMPURLType:   nsRTMPURLType,
    26  		Domains:       domain,
    27  		Zone:          zone,
    28  		HLSLowLatency: hlslowlatency,
    29  	}
    30  	ns1, err := c.AddNamespace(ns)
    31  	noError(t, err)
    32  
    33  	ns2, err := c.QueryNamespace(ns1.ID)
    34  	noError(t, err)
    35  	shouldBeEqual(t, nsName, ns2.Name)
    36  	shouldBeEqual(t, nsAccessType, ns2.AccessType)
    37  	shouldBeEqual(t, nsRTMPURLType, ns2.RTMPURLType)
    38  	shouldBeEqual(t, domain[0], ns2.Domains[0])
    39  	shouldBeEqual(t, hlslowlatency, ns2.HLSLowLatency)
    40  
    41  	nsName2 := "testNamespace2"
    42  	nsAccessType2 := "gb28181"
    43  	urlMode := 1
    44  	domain2 := []string{"qiniuUM.com"}
    45  	zone2 := "z0"
    46  	hlslowlatency2 := false
    47  	nsUM := &NameSpace{
    48  		Name:          nsName2,
    49  		AccessType:    nsAccessType2,
    50  		UrlMode:       urlMode,
    51  		Domains:       domain2,
    52  		Zone:          zone2,
    53  		HLSLowLatency: hlslowlatency2,
    54  	}
    55  	nsUMPost, err := c.AddNamespace(nsUM)
    56  	noError(t, err)
    57  
    58  	nsUMQuery, err := c.QueryNamespace(nsUMPost.ID)
    59  	noError(t, err)
    60  	shouldBeEqual(t, nsName2, nsUMQuery.Name)
    61  	shouldBeEqual(t, nsAccessType2, nsUMQuery.AccessType)
    62  	shouldBeEqual(t, urlMode, nsUMQuery.UrlMode)
    63  	shouldBeEqual(t, domain2[0], nsUMQuery.Domains[0])
    64  	shouldBeEqual(t, hlslowlatency2, nsUMQuery.HLSLowLatency)
    65  
    66  	c.DeleteNamespace(nsUMPost.ID)
    67  
    68  	ops := []PatchOperation{
    69  		{
    70  			Op:    "replace",
    71  			Key:   "name",
    72  			Value: "testNamespace2",
    73  		},
    74  		{
    75  			Op:    "replace",
    76  			Key:   "hlsLowLatency",
    77  			Value: true,
    78  		},
    79  	}
    80  	ns3, err := c.UpdateNamespace(ns1.ID, ops)
    81  	noError(t, err)
    82  	shouldBeEqual(t, "testNamespace2", ns3.Name)
    83  	shouldBeEqual(t, nsAccessType, ns3.AccessType)
    84  	shouldBeEqual(t, nsRTMPURLType, ns3.RTMPURLType)
    85  	shouldBeEqual(t, domain[0], ns3.Domains[0])
    86  	shouldBeEqual(t, true, ns3.HLSLowLatency)
    87  
    88  	ns4 := &NameSpace{
    89  		Name:        "testNamespace3",
    90  		AccessType:  "rtmp",
    91  		RTMPURLType: 1,
    92  		Domains:     []string{"qiniu2.com"},
    93  	}
    94  	ns5, err := c.AddNamespace(ns4)
    95  	noError(t, err)
    96  
    97  	ns6 := &NameSpace{
    98  		Name:        "testNamespace4",
    99  		AccessType:  "gb28181",
   100  		RTMPURLType: 2,
   101  	}
   102  	ns7, err := c.AddNamespace(ns6)
   103  	noError(t, err)
   104  
   105  	nss, _, err := c.ListNamespace(0, 2, "")
   106  	noError(t, err)
   107  	shouldBeEqual(t, 2, len(nss))
   108  
   109  	nss, _, err = c.ListNamespace(1, 2, "")
   110  	noError(t, err)
   111  	shouldBeEqual(t, 2, len(nss))
   112  
   113  	err = c.DisableNamespace(ns1.ID)
   114  	noError(t, err)
   115  	ret, err := c.QueryNamespace(ns1.ID)
   116  	noError(t, err)
   117  	shouldBeEqual(t, true, ret.Disabled)
   118  
   119  	err = c.EnableNamespace(ns1.ID)
   120  	noError(t, err)
   121  	ret, err = c.QueryNamespace(ns1.ID)
   122  	noError(t, err)
   123  	shouldBeEqual(t, false, ret.Disabled)
   124  
   125  	c.DeleteNamespace(ns1.ID)
   126  	c.DeleteNamespace(ns5.ID)
   127  	c.DeleteNamespace(ns7.ID)
   128  }
   129  
   130  func TestDomainCRUD(t *testing.T) {
   131  	if skipTest() {
   132  		t.SkipNow()
   133  	}
   134  	c := getTestManager()
   135  
   136  	nsName := "testNamespace"
   137  	nsAccessType := "rtmp"
   138  	nsRTMPURLType := 1
   139  	domain := []string{"qiniu1.com"}
   140  	ns := &NameSpace{
   141  		Name:        nsName,
   142  		AccessType:  nsAccessType,
   143  		RTMPURLType: nsRTMPURLType,
   144  		Domains:     domain,
   145  	}
   146  	ns1, err := c.AddNamespace(ns)
   147  	noError(t, err)
   148  
   149  	err = c.AddDomain(ns1.ID, &DomainInfo{Domain: "qiniu2.com", Type: "publishRtmp"})
   150  	noError(t, err)
   151  
   152  	err = c.DeleteDomain(ns1.ID, "qiniu2.com")
   153  	noError(t, err)
   154  
   155  	err = c.AddDomain(ns1.ID, &DomainInfo{Domain: "qiniu2.com", Type: "publishRtmp"})
   156  	noError(t, err)
   157  
   158  	err = c.AddDomain(ns1.ID, &DomainInfo{Domain: "qiniu3.com", Type: "publishRtmp"})
   159  	noError(t, err)
   160  
   161  	err = c.AddDomain(ns1.ID, &DomainInfo{Domain: "qiniu4.com", Type: "publishRtmp"})
   162  	noError(t, err)
   163  
   164  	domains, err := c.ListDomain(ns1.ID)
   165  	noError(t, err)
   166  	shouldBeEqual(t, 7, len(domains))
   167  	c.DeleteNamespace(ns1.ID)
   168  }