github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/uptoken/uploadtoken_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package uptoken_test 5 6 import ( 7 "context" 8 "os" 9 "testing" 10 "time" 11 12 "github.com/qiniu/go-sdk/v7/storagev2/credentials" 13 "github.com/qiniu/go-sdk/v7/storagev2/uptoken" 14 ) 15 16 func TestSignPutPolicy(t *testing.T) { 17 const expectedBucketName = "testbucket" 18 const expectedAccessKey = "testaccesskey" 19 const expectedSecretKey = "testsecretkey" 20 const expectedExpires = int64(1675937798) 21 22 putPolicy, err := uptoken.NewPutPolicy(expectedBucketName, time.Unix(expectedExpires, 0)) 23 if err != nil { 24 t.Fatalf("failed to create put policy: %s", err) 25 } 26 27 if scope, _ := putPolicy.GetScope(); scope != expectedBucketName { 28 t.Fatalf("unexpected bucket name: %s", expectedBucketName) 29 } 30 31 if actualDeadline, _ := putPolicy.GetDeadline(); actualDeadline != expectedExpires { 32 t.Fatalf("unexpected deadline: %d", actualDeadline) 33 } 34 35 signer := uptoken.NewSigner(putPolicy, credentials.NewCredentials(expectedAccessKey, expectedSecretKey)) 36 upToken, err := signer.GetUpToken(context.Background()) 37 if err != nil { 38 t.Fatalf("failed to retrieve uptoken: %s", err) 39 } 40 41 parser := uptoken.NewParser(upToken) 42 if actualAccessKey, err := parser.GetAccessKey(context.Background()); err != nil { 43 t.Fatalf("failed to retrieve accessKey: %s", err) 44 } else if actualAccessKey != expectedAccessKey { 45 t.Fatalf("unexpected accessKey: %s", actualAccessKey) 46 } 47 48 if actualPutPolicy, err := parser.GetPutPolicy(context.Background()); err != nil { 49 t.Fatalf("failed to retrieve putPolicy: %s", err) 50 } else if actualScope, _ := actualPutPolicy.GetScope(); actualScope != expectedBucketName { 51 t.Fatalf("unexpected scope: %s", actualScope) 52 } 53 } 54 55 func TestSignPutPolicyByDefaultCredentials(t *testing.T) { 56 const expectedBucketName = "testbucket" 57 const expectedAccessKey = "testaccesskey" 58 const expectedSecretKey = "testsecretkey" 59 const expectedExpires = int64(1675937798) 60 61 os.Setenv("QINIU_ACCESS_KEY", expectedAccessKey) 62 os.Setenv("QINIU_SECRET_KEY", expectedSecretKey) 63 defer func() { 64 os.Unsetenv("QINIU_ACCESS_KEY") 65 os.Unsetenv("QINIU_SECRET_KEY") 66 }() 67 68 putPolicy, err := uptoken.NewPutPolicy(expectedBucketName, time.Unix(expectedExpires, 0)) 69 if err != nil { 70 t.Fatalf("failed to create put policy: %s", err) 71 } 72 signer := uptoken.NewSigner(putPolicy, nil) 73 if accessKey, _ := signer.GetAccessKey(context.Background()); accessKey != "testaccesskey" { 74 t.Fatalf("failed to retrieve accessKey: %s", err) 75 } 76 }