@@ -1262,3 +1262,122 @@ func testAuthResult(expiersOn time.Time) *public.AuthResult {
12621262 r .IDToken .Oid = "test"
12631263 return r
12641264}
1265+
1266+ func BenchmarkTokenManager_GetToken (b * testing.B ) {
1267+ idp := & mockIdentityProvider {}
1268+ mParser := & mockIdentityProviderResponseParser {}
1269+ tokenManager , err := NewTokenManager (idp ,
1270+ TokenManagerOptions {
1271+ IdentityProviderResponseParser : mParser ,
1272+ },
1273+ )
1274+ if err != nil {
1275+ b .Fatal (err )
1276+ }
1277+
1278+ rawResponse , err := shared .NewIDPResponse (shared .ResponseTypeRawToken , "test" )
1279+ if err != nil {
1280+ b .Fatal (err )
1281+ }
1282+
1283+ idp .On ("RequestToken" ).Return (rawResponse , nil )
1284+ mParser .On ("ParseResponse" , rawResponse ).Return (testTokenValid , nil )
1285+
1286+ b .ResetTimer ()
1287+ for i := 0 ; i < b .N ; i ++ {
1288+ _ , _ = tokenManager .GetToken (false )
1289+ }
1290+ }
1291+
1292+ func BenchmarkTokenManager_Start (b * testing.B ) {
1293+ idp := & mockIdentityProvider {}
1294+ listener := & mockTokenListener {}
1295+ mParser := & mockIdentityProviderResponseParser {}
1296+ tokenManager , err := NewTokenManager (idp ,
1297+ TokenManagerOptions {
1298+ IdentityProviderResponseParser : mParser ,
1299+ },
1300+ )
1301+ if err != nil {
1302+ b .Fatal (err )
1303+ }
1304+
1305+ rawResponse , err := shared .NewIDPResponse (shared .ResponseTypeRawToken , "test" )
1306+ if err != nil {
1307+ b .Fatal (err )
1308+ }
1309+
1310+ idp .On ("RequestToken" ).Return (rawResponse , nil )
1311+ mParser .On ("ParseResponse" , rawResponse ).Return (testTokenValid , nil )
1312+ listener .On ("OnTokenNext" , testTokenValid ).Return ()
1313+
1314+ b .ResetTimer ()
1315+ for i := 0 ; i < b .N ; i ++ {
1316+ _ , _ = tokenManager .Start (listener )
1317+ }
1318+ }
1319+
1320+ func BenchmarkTokenManager_Close (b * testing.B ) {
1321+ idp := & mockIdentityProvider {}
1322+ listener := & mockTokenListener {}
1323+ mParser := & mockIdentityProviderResponseParser {}
1324+ tokenManager , err := NewTokenManager (idp ,
1325+ TokenManagerOptions {
1326+ IdentityProviderResponseParser : mParser ,
1327+ },
1328+ )
1329+ if err != nil {
1330+ b .Fatal (err )
1331+ }
1332+
1333+ rawResponse , err := shared .NewIDPResponse (shared .ResponseTypeRawToken , "test" )
1334+ if err != nil {
1335+ b .Fatal (err )
1336+ }
1337+
1338+ idp .On ("RequestToken" ).Return (rawResponse , nil )
1339+ mParser .On ("ParseResponse" , rawResponse ).Return (testTokenValid , nil )
1340+ listener .On ("OnTokenNext" , testTokenValid ).Return ()
1341+
1342+ _ , err = tokenManager .Start (listener )
1343+ if err != nil {
1344+ b .Fatal (err )
1345+ }
1346+
1347+ b .ResetTimer ()
1348+ for i := 0 ; i < b .N ; i ++ {
1349+ _ = tokenManager .Close ()
1350+ }
1351+ }
1352+
1353+ func BenchmarkTokenManager_durationToRenewal (b * testing.B ) {
1354+ idp := & mockIdentityProvider {}
1355+ tokenManager , err := NewTokenManager (idp , TokenManagerOptions {
1356+ LowerRefreshBoundMs : 1000 * 60 * 60 , // 1 hour
1357+ })
1358+ if err != nil {
1359+ b .Fatal (err )
1360+ }
1361+
1362+ tm , ok := tokenManager .(* entraidTokenManager )
1363+ if ! ok {
1364+ b .Fatal ("failed to cast to entraidTokenManager" )
1365+ }
1366+
1367+ expiresAfterlb := testAuthResult (time .Now ().Add (tm .lowerBoundDuration + time .Hour ).UTC ())
1368+ idpResponse , err := shared .NewIDPResponse (shared .ResponseTypeAuthResult , expiresAfterlb )
1369+ if err != nil {
1370+ b .Fatal (err )
1371+ }
1372+
1373+ idp .On ("RequestToken" ).Return (idpResponse , nil )
1374+ _ , err = tm .GetToken (false )
1375+ if err != nil {
1376+ b .Fatal (err )
1377+ }
1378+
1379+ b .ResetTimer ()
1380+ for i := 0 ; i < b .N ; i ++ {
1381+ tm .durationToRenewal ()
1382+ }
1383+ }
0 commit comments