11using Bit . Core . Enums ;
2+ using Bit . Core . Utilities ;
23using Bit . Infrastructure . EntityFramework . Models ;
34
45namespace Bit . Seeder . Factories ;
56
6- public class UserSeeder
7+ public struct UserData
78{
8- public static User CreateUser ( string email )
9+ public string Email ;
10+ public Guid Id ;
11+ public string ? Key ;
12+ public string ? PublicKey ;
13+ public string ? PrivateKey ;
14+ public string ? ApiKey ;
15+ public KdfType Kdf ;
16+ public int KdfIterations ;
17+ }
18+
19+ #pragma warning disable CS9113 // Parameter is unread.
20+ public class UserSeeder ( Guid mangleId )
21+ #pragma warning restore CS9113 // Parameter is unread.
22+ {
23+ private string MangleEmail ( string email )
24+ {
25+ return "admin@large.test" ; // only this email works, for now
26+ // return $"{mangleId}+{email}";
27+ }
28+
29+ public User CreateUser ( string email )
30+ {
31+ return new User
32+ {
33+ Id = CoreHelpers . GenerateComb ( ) ,
34+ Email = MangleEmail ( email ) ,
35+ MasterPassword = "AQAAAAIAAYagAAAAEBATmF66OHMpHuHKc1CsGZQ1ltHUHyhYK+7e4re3bVFi16SOpLpDfzdFswnvFQs2Rg==" ,
36+ SecurityStamp = "4830e359-e150-4eae-be2a-996c81c5e609" ,
37+ Key = "2.z/eLKFhd62qy9RzXu3UHgA==|fF6yNupiCIguFKSDTB3DoqcGR0Xu4j+9VlnMyT5F3PaWIcGhzQKIzxdB95nhslaCQv3c63M7LBnvzVo1J9SUN85RMbP/57bP1HvhhU1nvL8=|IQPtf8v7k83MFZEhazSYXSdu98BBU5rqtvC4keVWyHM=" ,
38+ PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0Ww2chogqCpaAR7Uw448am4b7vDFXiM5kXjFlGfXBlrAdAqTTggEvTDlMNYqPlCo+mBM6iFmTTUY9rpZBvFskMnKvsvpJ47/fehAH2o2e3Ulv/5NFevaVCMCmpkBDtbMbO1A4a3btdRtCP8DsKWMefHauEpaoLxNTLWnOIZVfCMjsSgx2EvULHAZPTtbFwm4+UVKniM4ds4jvOsD85h4jn2aLs/jWJXFfxN8iVSqEqpC2TBvsPdyHb49xQoWWfF0Z6BiNqeNGKEU9Uos1pjL+kzhEzzSpH31PZT/ufJ/oo4+93wrUt57hb6f0jxiXhwd5yQ+9F6wVwpbfkq0IwhjOwIDAQAB" ,
39+ PrivateKey = "2.yN7l00BOlUE0Sb0M//Q53w==|EwKG/BduQRQ33Izqc/ogoBROIoI5dmgrxSo82sgzgAMIBt3A2FZ9vPRMY+GWT85JiqytDitGR3TqwnFUBhKUpRRAq4x7rA6A1arHrFp5Tp1p21O3SfjtvB3quiOKbqWk6ZaU1Np9HwqwAecddFcB0YyBEiRX3VwF2pgpAdiPbSMuvo2qIgyob0CUoC/h4Bz1be7Qa7B0Xw9/fMKkB1LpOm925lzqosyMQM62YpMGkjMsbZz0uPopu32fxzDWSPr+kekNNyLt9InGhTpxLmq1go/pXR2uw5dfpXc5yuta7DB0EGBwnQ8Vl5HPdDooqOTD9I1jE0mRyuBpWTTI3FRnu3JUh3rIyGBJhUmHqGZvw2CKdqHCIrQeQkkEYqOeJRJVdBjhv5KGJifqT3BFRwX/YFJIChAQpebNQKXe/0kPivWokHWwXlDB7S7mBZzhaAPidZvnuIhalE2qmTypDwHy22FyqV58T8MGGMchcASDi/QXI6kcdpJzPXSeU9o+NC68QDlOIrMVxKFeE7w7PvVmAaxEo0YwmuAzzKy9QpdlK0aab/xEi8V4iXj4hGepqAvHkXIQd+r3FNeiLfllkb61p6WTjr5urcmDQMR94/wYoilpG5OlybHdbhsYHvIzYoLrC7fzl630gcO6t4nM24vdB6Ymg9BVpEgKRAxSbE62Tqacxqnz9AcmgItb48NiR/He3n3ydGjPYuKk/ihZMgEwAEZvSlNxYONSbYrIGDtOY+8Nbt6KiH3l06wjZW8tcmFeVlWv+tWotnTY9IqlAfvNVTjtsobqtQnvsiDjdEVtNy/s2ci5TH+NdZluca2OVEr91Wayxh70kpM6ib4UGbfdmGgCo74gtKvKSJU0rTHakQ5L9JlaSDD5FamBRyI0qfL43Ad9qOUZ8DaffDCyuaVyuqk7cz9HwmEmvWU3VQ+5t06n/5kRDXttcw8w+3qClEEdGo1KeENcnXCB32dQe3tDTFpuAIMLqwXs6FhpawfZ5kPYvLPczGWaqftIs/RXJ/EltGc0ugw2dmTLpoQhCqrcKEBDoYVk0LDZKsnzitOGdi9mOWse7Se8798ib1UsHFUjGzISEt6upestxOeupSTOh0v4+AjXbDzRUyogHww3V+Bqg71bkcMxtB+WM+pn1XNbVTyl9NR040nhP7KEf6e9ruXAtmrBC2ah5cFEpLIot77VFZ9ilLuitSz+7T8n1yAh1IEG6xxXxninAZIzi2qGbH69O5RSpOJuJTv17zTLJQIIc781JwQ2TTwTGnx5wZLbffhCasowJKd2EVcyMJyhz6ru0PvXWJ4hUdkARJs3Xu8dus9a86N8Xk6aAPzBDqzYb1vyFIfBxP0oO8xFHgd30Cgmz8UrSE3qeWRrF8ftrI6xQnFjHBGWD/JWSvd6YMcQED0aVuQkuNW9ST/DzQThPzRfPUoiL10yAmV7Ytu4fR3x2sF0Yfi87YhHFuCMpV/DsqxmUizyiJuD938eRcH8hzR/VO53Qo3UIsqOLcyXtTv6THjSlTopQ+JOLOnHm1w8dzYbLN44OG44rRsbihMUQp+wUZ6bsI8rrOnm9WErzkbQFbrfAINdoCiNa6cimYIjvvnMTaFWNymqY1vZxGztQiMiHiHYwTfwHTXrb9j0uPM=|09J28iXv9oWzYtzK2LBT6Yht4IT4MijEkk0fwFdrVQ4=" ,
40+ ApiKey = "7gp59kKHt9kMlks0BuNC4IjNXYkljR" ,
41+
42+ Kdf = KdfType . PBKDF2_SHA256 ,
43+ KdfIterations = 600_000 ,
44+ } ;
45+ }
46+
47+ public static User CreateUserNoMangle ( string email )
948 {
1049 return new User
1150 {
@@ -22,4 +61,32 @@ public static User CreateUser(string email)
2261 KdfIterations = 600_000 ,
2362 } ;
2463 }
64+
65+ public Dictionary < string , string ? > GetMangleMap ( User user , UserData expectedUserData )
66+ {
67+ var mangleMap = new Dictionary < string , string ? >
68+ {
69+ { expectedUserData . Email , MangleEmail ( expectedUserData . Email ) } ,
70+ { expectedUserData . Id . ToString ( ) , user . Id . ToString ( ) } ,
71+ { expectedUserData . Kdf . ToString ( ) , user . Kdf . ToString ( ) } ,
72+ { expectedUserData . KdfIterations . ToString ( ) , user . KdfIterations . ToString ( ) }
73+ } ;
74+ if ( expectedUserData . Key != null )
75+ {
76+ mangleMap [ expectedUserData . Key ] = user . Key ;
77+ }
78+ if ( expectedUserData . PublicKey != null )
79+ {
80+ mangleMap [ expectedUserData . PublicKey ] = user . PublicKey ;
81+ }
82+ if ( expectedUserData . PrivateKey != null )
83+ {
84+ mangleMap [ expectedUserData . PrivateKey ] = user . PrivateKey ;
85+ }
86+ if ( expectedUserData . ApiKey != null )
87+ {
88+ mangleMap [ expectedUserData . ApiKey ] = user . ApiKey ;
89+ }
90+ return mangleMap ;
91+ }
2592}
0 commit comments