MCPcopy Index your code
hub / github.com/cubefs/cubefs / TestEncodeDecodeFedSessionToken

Function TestEncodeDecodeFedSessionToken

objectnode/sts_test.go:35–56  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

33)
34
35func TestEncodeDecodeFedSessionToken(t *testing.T) {
36 fedAk := stsAkPrefix + util.RandomString(13, util.Numeric|util.LowerLetter|util.UpperLetter)
37 fedSk := util.RandomString(32, util.Numeric|util.LowerLetter|util.UpperLetter)
38 durationSeconds := 3600
39 expireUnixStr := fmt.Sprint(time.Now().UTC().Unix() + int64(durationSeconds))
40 policyStr := `{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"s3:GetObject","Resource":"arn:aws:s3:::bucket/key"}]}`
41
42 token, err := EncodeFedSessionToken(testOwnerAK, testOwnerSK, fedAk, fedSk, "test", policyStr, expireUnixStr)
43 require.NoError(t, err)
44
45 fed, err := DecodeFedSessionToken(fedAk, token, testGetUserInfo)
46 require.NoError(t, err)
47 require.Equal(t, fedSk, fed.FedSK)
48 require.Equal(t, testUser, fed.UserInfo.UserID)
49 require.Equal(t, testOwnerAK, fed.UserInfo.AccessKey)
50 require.Equal(t, testOwnerSK, fed.UserInfo.SecretKey)
51
52 var policy PolicyV2
53 err = json.Unmarshal([]byte(policyStr), &policy)
54 require.NoError(t, err)
55 require.Equal(t, &policy, fed.Policy)
56}
57
58func testGetUserInfo(ak string) (*proto.UserInfo, error) {
59 if ak != testOwnerAK {

Callers

nothing calls this directly

Calls 5

RandomStringFunction · 0.92
EncodeFedSessionTokenFunction · 0.85
DecodeFedSessionTokenFunction · 0.85
UnmarshalMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected