Skip to content

Commit ef11d41

Browse files
zeripathlunny
andauthored
Make CI use a dummy password hasher for all tests (#22983)
During the recent hash algorithm change it became clear that the choice of password hash algorithm plays a role in the time taken for CI to run. Therefore as attempt to improve CI we should consider using a dummy hashing algorithm instead of a real hashing algorithm. This PR creates a dummy algorithm which is then set as the default hashing algorithm during tests that use the fixtures. This hopefully will cause a reduction in the time it takes for CI to run. --------- Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
1 parent 2b3f12f commit ef11d41

File tree

11 files changed

+160
-74
lines changed

11 files changed

+160
-74
lines changed

Diff for: models/fixtures/user.yml

+66-66
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
email: user1@example.com
99
keep_email_private: false
1010
email_notifications_preference: enabled
11-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
12-
passwd_hash_algo: pbkdf2$50000$50
11+
passwd: ZogKvWdyEx:password
12+
passwd_hash_algo: dummy
1313
must_change_password: false
1414
login_source: 0
1515
login_name: user1
@@ -45,8 +45,8 @@
4545
email: user2@example.com
4646
keep_email_private: true
4747
email_notifications_preference: enabled
48-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
49-
passwd_hash_algo: pbkdf2$50000$50
48+
passwd: ZogKvWdyEx:password
49+
passwd_hash_algo: dummy
5050
must_change_password: false
5151
login_source: 0
5252
login_name: user2
@@ -82,8 +82,8 @@
8282
email: user3@example.com
8383
keep_email_private: false
8484
email_notifications_preference: onmention
85-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
86-
passwd_hash_algo: pbkdf2$50000$50
85+
passwd: ZogKvWdyEx:password
86+
passwd_hash_algo: dummy
8787
must_change_password: false
8888
login_source: 0
8989
login_name: user3
@@ -119,8 +119,8 @@
119119
email: user4@example.com
120120
keep_email_private: false
121121
email_notifications_preference: onmention
122-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
123-
passwd_hash_algo: pbkdf2$50000$50
122+
passwd: ZogKvWdyEx:password
123+
passwd_hash_algo: dummy
124124
must_change_password: false
125125
login_source: 0
126126
login_name: user4
@@ -156,8 +156,8 @@
156156
email: user5@example.com
157157
keep_email_private: false
158158
email_notifications_preference: enabled
159-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
160-
passwd_hash_algo: pbkdf2$50000$50
159+
passwd: ZogKvWdyEx:password
160+
passwd_hash_algo: dummy
161161
must_change_password: false
162162
login_source: 0
163163
login_name: user5
@@ -193,8 +193,8 @@
193193
email: user6@example.com
194194
keep_email_private: false
195195
email_notifications_preference: enabled
196-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
197-
passwd_hash_algo: pbkdf2$50000$50
196+
passwd: ZogKvWdyEx:password
197+
passwd_hash_algo: dummy
198198
must_change_password: false
199199
login_source: 0
200200
login_name: user6
@@ -230,8 +230,8 @@
230230
email: user7@example.com
231231
keep_email_private: false
232232
email_notifications_preference: disabled
233-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
234-
passwd_hash_algo: pbkdf2$50000$50
233+
passwd: ZogKvWdyEx:password
234+
passwd_hash_algo: dummy
235235
must_change_password: false
236236
login_source: 0
237237
login_name: user7
@@ -267,8 +267,8 @@
267267
email: user8@example.com
268268
keep_email_private: false
269269
email_notifications_preference: enabled
270-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
271-
passwd_hash_algo: pbkdf2$50000$50
270+
passwd: ZogKvWdyEx:password
271+
passwd_hash_algo: dummy
272272
must_change_password: false
273273
login_source: 0
274274
login_name: user8
@@ -304,8 +304,8 @@
304304
email: user9@example.com
305305
keep_email_private: false
306306
email_notifications_preference: onmention
307-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
308-
passwd_hash_algo: pbkdf2$50000$50
307+
passwd: ZogKvWdyEx:password
308+
passwd_hash_algo: dummy
309309
must_change_password: false
310310
login_source: 0
311311
login_name: user9
@@ -341,8 +341,8 @@
341341
email: user10@example.com
342342
keep_email_private: false
343343
email_notifications_preference: enabled
344-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
345-
passwd_hash_algo: pbkdf2$50000$50
344+
passwd: ZogKvWdyEx:password
345+
passwd_hash_algo: dummy
346346
must_change_password: false
347347
login_source: 0
348348
login_name: user10
@@ -378,8 +378,8 @@
378378
email: user11@example.com
379379
keep_email_private: false
380380
email_notifications_preference: enabled
381-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
382-
passwd_hash_algo: pbkdf2$50000$50
381+
passwd: ZogKvWdyEx:password
382+
passwd_hash_algo: dummy
383383
must_change_password: false
384384
login_source: 0
385385
login_name: user11
@@ -415,8 +415,8 @@
415415
email: user12@example.com
416416
keep_email_private: false
417417
email_notifications_preference: enabled
418-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
419-
passwd_hash_algo: pbkdf2$50000$50
418+
passwd: ZogKvWdyEx:password
419+
passwd_hash_algo: dummy
420420
must_change_password: false
421421
login_source: 0
422422
login_name: user12
@@ -452,8 +452,8 @@
452452
email: user13@example.com
453453
keep_email_private: false
454454
email_notifications_preference: enabled
455-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
456-
passwd_hash_algo: pbkdf2$50000$50
455+
passwd: ZogKvWdyEx:password
456+
passwd_hash_algo: dummy
457457
must_change_password: false
458458
login_source: 0
459459
login_name: user13
@@ -489,8 +489,8 @@
489489
email: user14@example.com
490490
keep_email_private: false
491491
email_notifications_preference: enabled
492-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
493-
passwd_hash_algo: pbkdf2$50000$50
492+
passwd: ZogKvWdyEx:password
493+
passwd_hash_algo: dummy
494494
must_change_password: false
495495
login_source: 0
496496
login_name: user14
@@ -526,8 +526,8 @@
526526
email: user15@example.com
527527
keep_email_private: false
528528
email_notifications_preference: enabled
529-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
530-
passwd_hash_algo: pbkdf2$50000$50
529+
passwd: ZogKvWdyEx:password
530+
passwd_hash_algo: dummy
531531
must_change_password: false
532532
login_source: 0
533533
login_name: user15
@@ -563,8 +563,8 @@
563563
email: user16@example.com
564564
keep_email_private: false
565565
email_notifications_preference: enabled
566-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
567-
passwd_hash_algo: pbkdf2$50000$50
566+
passwd: ZogKvWdyEx:password
567+
passwd_hash_algo: dummy
568568
must_change_password: false
569569
login_source: 0
570570
login_name: user16
@@ -600,8 +600,8 @@
600600
email: user17@example.com
601601
keep_email_private: false
602602
email_notifications_preference: enabled
603-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
604-
passwd_hash_algo: pbkdf2$50000$50
603+
passwd: ZogKvWdyEx:password
604+
passwd_hash_algo: dummy
605605
must_change_password: false
606606
login_source: 0
607607
login_name: user17
@@ -637,8 +637,8 @@
637637
email: user18@example.com
638638
keep_email_private: false
639639
email_notifications_preference: enabled
640-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
641-
passwd_hash_algo: pbkdf2$50000$50
640+
passwd: ZogKvWdyEx:password
641+
passwd_hash_algo: dummy
642642
must_change_password: false
643643
login_source: 0
644644
login_name: user18
@@ -674,8 +674,8 @@
674674
email: user19@example.com
675675
keep_email_private: false
676676
email_notifications_preference: enabled
677-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
678-
passwd_hash_algo: pbkdf2$50000$50
677+
passwd: ZogKvWdyEx:password
678+
passwd_hash_algo: dummy
679679
must_change_password: false
680680
login_source: 0
681681
login_name: user19
@@ -711,8 +711,8 @@
711711
email: user20@example.com
712712
keep_email_private: false
713713
email_notifications_preference: enabled
714-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
715-
passwd_hash_algo: pbkdf2$50000$50
714+
passwd: ZogKvWdyEx:password
715+
passwd_hash_algo: dummy
716716
must_change_password: false
717717
login_source: 0
718718
login_name: user20
@@ -748,8 +748,8 @@
748748
email: user21@example.com
749749
keep_email_private: false
750750
email_notifications_preference: enabled
751-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
752-
passwd_hash_algo: pbkdf2$50000$50
751+
passwd: ZogKvWdyEx:password
752+
passwd_hash_algo: dummy
753753
must_change_password: false
754754
login_source: 0
755755
login_name: user21
@@ -785,8 +785,8 @@
785785
email: limited_org@example.com
786786
keep_email_private: false
787787
email_notifications_preference: enabled
788-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
789-
passwd_hash_algo: pbkdf2$50000$50
788+
passwd: ZogKvWdyEx:password
789+
passwd_hash_algo: dummy
790790
must_change_password: false
791791
login_source: 0
792792
login_name: limited_org
@@ -822,8 +822,8 @@
822822
email: privated_org@example.com
823823
keep_email_private: false
824824
email_notifications_preference: enabled
825-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
826-
passwd_hash_algo: pbkdf2$50000$50
825+
passwd: ZogKvWdyEx:password
826+
passwd_hash_algo: dummy
827827
must_change_password: false
828828
login_source: 0
829829
login_name: privated_org
@@ -859,8 +859,8 @@
859859
email: user24@example.com
860860
keep_email_private: true
861861
email_notifications_preference: enabled
862-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
863-
passwd_hash_algo: pbkdf2$50000$50
862+
passwd: ZogKvWdyEx:password
863+
passwd_hash_algo: dummy
864864
must_change_password: false
865865
login_source: 0
866866
login_name: user24
@@ -896,8 +896,8 @@
896896
email: org25@example.com
897897
keep_email_private: false
898898
email_notifications_preference: enabled
899-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
900-
passwd_hash_algo: pbkdf2$50000$50
899+
passwd: ZogKvWdyEx:password
900+
passwd_hash_algo: dummy
901901
must_change_password: false
902902
login_source: 0
903903
login_name: org25
@@ -933,8 +933,8 @@
933933
email: org26@example.com
934934
keep_email_private: false
935935
email_notifications_preference: onmention
936-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
937-
passwd_hash_algo: pbkdf2$50000$50
936+
passwd: ZogKvWdyEx:password
937+
passwd_hash_algo: dummy
938938
must_change_password: false
939939
login_source: 0
940940
login_name: org26
@@ -970,8 +970,8 @@
970970
email: user27@example.com
971971
keep_email_private: false
972972
email_notifications_preference: enabled
973-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
974-
passwd_hash_algo: pbkdf2$50000$50
973+
passwd: ZogKvWdyEx:password
974+
passwd_hash_algo: dummy
975975
must_change_password: false
976976
login_source: 0
977977
login_name: user27
@@ -1007,8 +1007,8 @@
10071007
email: user28@example.com
10081008
keep_email_private: true
10091009
email_notifications_preference: enabled
1010-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
1011-
passwd_hash_algo: pbkdf2$50000$50
1010+
passwd: ZogKvWdyEx:password
1011+
passwd_hash_algo: dummy
10121012
must_change_password: false
10131013
login_source: 0
10141014
login_name: user28
@@ -1044,8 +1044,8 @@
10441044
email: user29@example.com
10451045
keep_email_private: false
10461046
email_notifications_preference: enabled
1047-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
1048-
passwd_hash_algo: pbkdf2$50000$50
1047+
passwd: ZogKvWdyEx:password
1048+
passwd_hash_algo: dummy
10491049
must_change_password: false
10501050
login_source: 0
10511051
login_name: user29
@@ -1081,8 +1081,8 @@
10811081
email: user30@example.com
10821082
keep_email_private: false
10831083
email_notifications_preference: enabled
1084-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
1085-
passwd_hash_algo: pbkdf2$50000$50
1084+
passwd: ZogKvWdyEx:password
1085+
passwd_hash_algo: dummy
10861086
must_change_password: false
10871087
login_source: 0
10881088
login_name: user30
@@ -1118,8 +1118,8 @@
11181118
email: user31@example.com
11191119
keep_email_private: false
11201120
email_notifications_preference: enabled
1121-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
1122-
passwd_hash_algo: pbkdf2$50000$50
1121+
passwd: ZogKvWdyEx:password
1122+
passwd_hash_algo: dummy
11231123
must_change_password: false
11241124
login_source: 0
11251125
login_name: user31
@@ -1155,8 +1155,8 @@
11551155
email: user32@example.com
11561156
keep_email_private: false
11571157
email_notifications_preference: enabled
1158-
passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f47017
1159-
passwd_hash_algo: argon2
1158+
passwd: ZogKvWdyEx:notpassword
1159+
passwd_hash_algo: dummy
11601160
must_change_password: false
11611161
login_source: 0
11621162
login_name: user32
@@ -1192,8 +1192,8 @@
11921192
email: user33@example.com
11931193
keep_email_private: false
11941194
email_notifications_preference: enabled
1195-
passwd: e82bc8ae42a53b98c3bd0f941aacc4aa2a264407534b0a11bf270137f67af912f694b67951f92148c45f91717e1478ca7889
1196-
passwd_hash_algo: pbkdf2$50000$50
1195+
passwd: ZogKvWdyEx:password
1196+
passwd_hash_algo: dummy
11971197
must_change_password: false
11981198
login_source: 0
11991199
login_name: user33

Diff for: models/unittest/fixtures.go

+10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import (
99
"time"
1010

1111
"code.gitea.io/gitea/models/db"
12+
"code.gitea.io/gitea/modules/auth/password/hash"
13+
"code.gitea.io/gitea/modules/setting"
1214

1315
"github.com/go-testfixtures/testfixtures/v3"
1416
"xorm.io/xorm"
@@ -64,6 +66,11 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
6466
return err
6567
}
6668

69+
// register the dummy hash algorithm function used in the test fixtures
70+
_ = hash.Register("dummy", hash.NewDummyHasher)
71+
72+
setting.PasswordHashAlgo, _ = hash.SetDefaultPasswordHashAlgorithm("dummy")
73+
6774
return err
6875
}
6976

@@ -115,5 +122,8 @@ func LoadFixtures(engine ...*xorm.Engine) error {
115122
}
116123
}
117124
}
125+
_ = hash.Register("dummy", hash.NewDummyHasher)
126+
setting.PasswordHashAlgo, _ = hash.SetDefaultPasswordHashAlgorithm("dummy")
127+
118128
return err
119129
}

0 commit comments

Comments
 (0)