@@ -1300,3 +1300,99 @@ var _ = session.New(session.Config{
13001300 assert .NotContains (t , content , "KeyLookup" )
13011301 assert .Contains (t , buf .String (), "Migrating session KeyLookup config" )
13021302}
1303+
1304+ func Test_MigrateKeyAuthConfig_HeaderAuth (t * testing.T ) {
1305+ t .Parallel ()
1306+
1307+ dir , err := os .MkdirTemp ("" , "mkeyauth_header" )
1308+ require .NoError (t , err )
1309+ defer func () { require .NoError (t , os .RemoveAll (dir )) }()
1310+
1311+ file := writeTempFile (t , dir , `package main
1312+ import "github.com/gofiber/fiber/v2/middleware/keyauth"
1313+ var _ = keyauth.New(keyauth.Config{
1314+ KeyLookup: "header:Authorization",
1315+ AuthScheme: "Bearer",
1316+ })` )
1317+
1318+ var buf bytes.Buffer
1319+ cmd := newCmd (& buf )
1320+ require .NoError (t , v3 .MigrateKeyAuthConfig (cmd , dir , nil , nil ))
1321+
1322+ content := readFile (t , file )
1323+ assert .NotContains (t , content , "KeyLookup" )
1324+ assert .NotContains (t , content , "AuthScheme" )
1325+ assert .Contains (t , content , `Extractor: keyauth.FromAuthHeader("Authorization", "Bearer")` )
1326+ assert .Contains (t , buf .String (), "Migrating keyauth middleware configs" )
1327+ }
1328+
1329+ func Test_MigrateKeyAuthConfig_Cookie (t * testing.T ) {
1330+ t .Parallel ()
1331+
1332+ dir , err := os .MkdirTemp ("" , "mkeyauth_cookie" )
1333+ require .NoError (t , err )
1334+ defer func () { require .NoError (t , os .RemoveAll (dir )) }()
1335+
1336+ file := writeTempFile (t , dir , `package main
1337+ import "github.com/gofiber/fiber/v2/middleware/keyauth"
1338+ var _ = keyauth.New(keyauth.Config{
1339+ KeyLookup: "cookie:token",
1340+ })` )
1341+
1342+ var buf bytes.Buffer
1343+ cmd := newCmd (& buf )
1344+ require .NoError (t , v3 .MigrateKeyAuthConfig (cmd , dir , nil , nil ))
1345+
1346+ content := readFile (t , file )
1347+ assert .NotContains (t , content , "KeyLookup" )
1348+ assert .Contains (t , content , `Extractor: keyauth.FromCookie("token")` )
1349+ assert .Contains (t , buf .String (), "Migrating keyauth middleware configs" )
1350+ }
1351+
1352+ func Test_MigrateKeyAuthConfig_Chain (t * testing.T ) {
1353+ t .Parallel ()
1354+
1355+ dir , err := os .MkdirTemp ("" , "mkeyauth_chain" )
1356+ require .NoError (t , err )
1357+ defer func () { require .NoError (t , os .RemoveAll (dir )) }()
1358+
1359+ file := writeTempFile (t , dir , `package main
1360+ import "github.com/gofiber/fiber/v2/middleware/keyauth"
1361+ var _ = keyauth.New(keyauth.Config{
1362+ KeyLookup: "query:token,header:X-API-Key",
1363+ })` )
1364+
1365+ var buf bytes.Buffer
1366+ cmd := newCmd (& buf )
1367+ require .NoError (t , v3 .MigrateKeyAuthConfig (cmd , dir , nil , nil ))
1368+
1369+ content := readFile (t , file )
1370+ assert .NotContains (t , content , "KeyLookup" )
1371+ assert .Contains (t , content , `Extractor: keyauth.Chain(keyauth.FromQuery("token"), keyauth.FromHeader("X-API-Key"))` )
1372+ assert .Contains (t , buf .String (), "Migrating keyauth middleware configs" )
1373+ }
1374+
1375+ func Test_MigrateKeyAuthConfig_Unknown (t * testing.T ) {
1376+ t .Parallel ()
1377+
1378+ dir , err := os .MkdirTemp ("" , "mkeyauth_unknown" )
1379+ require .NoError (t , err )
1380+ defer func () { require .NoError (t , os .RemoveAll (dir )) }()
1381+
1382+ file := writeTempFile (t , dir , `package main
1383+ import "github.com/gofiber/fiber/v2/middleware/keyauth"
1384+ var _ = keyauth.New(keyauth.Config{
1385+ KeyLookup: "unknown:token",
1386+ AuthScheme: "Bearer",
1387+ })` )
1388+
1389+ var buf bytes.Buffer
1390+ cmd := newCmd (& buf )
1391+ require .NoError (t , v3 .MigrateKeyAuthConfig (cmd , dir , nil , nil ))
1392+
1393+ content := readFile (t , file )
1394+ assert .NotContains (t , content , "KeyLookup" )
1395+ assert .NotContains (t , content , "AuthScheme" )
1396+ assert .NotContains (t , content , "Extractor" )
1397+ assert .Contains (t , buf .String (), "Migrating keyauth middleware configs" )
1398+ }
0 commit comments