github.com/qiniu/go-sdk/v7@v7.27.0/linking/dtoken_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package linking 5 6 import ( 7 "fmt" 8 "net/http" 9 "testing" 10 "time" 11 12 "github.com/qiniu/go-sdk/v7/auth" 13 ) 14 15 func TestVodToken(t *testing.T) { 16 if skipTest() { 17 t.SkipNow() 18 } 19 c := getTestManager() 20 device := "sdk-testVodtoken" 21 defer c.DeleteDevice(testApp, device) 22 dev := &Device{ 23 Device: device, 24 SegmentExpireDays: 7, 25 } 26 _, err := c.AddDevice(testApp, dev) 27 noError(t, err) 28 time.Sleep(time.Second) 29 token, err := c.VodToken(testApp, device, time.Now().Add(time.Hour*5).Unix()) 30 noError(t, err) 31 fmt.Println(token) 32 // make a request and return code should NOT be 401 33 url := c.url("/device/resource/playback.m3u8?dtoken=%s&start=%d&end=%d", token, time.Now().Add(-time.Hour).Unix(), time.Now().Add(time.Hour).Unix()) 34 resp, err := http.Get(url) 35 shouldBeEqual(t, 612, resp.StatusCode) 36 noError(t, err) 37 } 38 39 func TestStatusToken(t *testing.T) { 40 if skipTest() { 41 t.SkipNow() 42 } 43 c := getTestManager() 44 device := "sdk-testStatusToken" 45 defer c.DeleteDevice(testApp, device) 46 dev := &Device{ 47 Device: device, 48 SegmentExpireDays: 7, 49 } 50 _, err := c.AddDevice(testApp, dev) 51 noError(t, err) 52 time.Sleep(time.Second) 53 token, err := c.VodToken(testApp, device, time.Now().Add(time.Hour*5).Unix()) 54 noError(t, err) 55 fmt.Println(token) 56 // make a request and return code should NOT be 401 57 url := c.url("/device/resource/status?dtoken=%s&start=%d&end=%d", token, time.Now().Add(-time.Hour).Unix(), time.Now().Add(time.Hour).Unix()) 58 resp, err := http.Get(url) 59 shouldBeEqual(t, 200, resp.StatusCode) 60 noError(t, err) 61 } 62 63 func TestXXX(t *testing.T) { 64 encodedDeviceAccessToken := "eyJyYW5kb20iOjE1NTI5ODA3NzQ1NDcsInN0YXRlbWVudCI6W3siYWN0aW9uIjoibGlua2luZzp0dXRrIn1dLCJkZWFkbGluZSI6MTU1Mjk4NDM3NH0=" 65 mac := auth.New("P60lSVa0eeP9XzUzcJGRc_LBIhOYL_bFJSXHsCJW", "ZpmOY11ymyuyyltIuWuhbIFGLOcCr4Ksa4M_b6JZ") 66 sign := mac.Sign([]byte(encodedDeviceAccessToken)) 67 token := sign + ":" + encodedDeviceAccessToken 68 fmt.Println("----->", token) 69 }