Compare commits

..
15 changed files with 60 additions and 27 deletions
+21
View File
@@ -99,6 +99,27 @@ func TestHashPIN(t *testing.T) {
} }
} }
func TestVerifyMigratedHashPin(t *testing.T) {
tests := []struct {
pin string
hash string
}{
{
pin: "1234",
hash: "$2b$08$dTvIGxCCysJtdvrSnaLStuylPoOS/ZLYYkxvTeR5QmTFY3TSvPQC6",
},
}
for _, tt := range tests {
t.Run(tt.pin, func(t *testing.T) {
ok := VerifyPIN(tt.hash, tt.pin)
if !ok {
t.Errorf("VerifyPIN could not verify migrated PIN: %v", tt.pin)
}
})
}
}
func TestVerifyPIN(t *testing.T) { func TestVerifyPIN(t *testing.T) {
tests := []struct { tests := []struct {
name string name string
+1 -1
View File
@@ -43,7 +43,7 @@ func NewLocalHandlerService(ctx context.Context, fp string, debug bool, dbResour
if err != nil { if err != nil {
return nil, err return nil, err
} }
adminstore, err := utils.NewAdminStore(ctx, "./devtools/admin_numbers") adminstore, err := utils.NewAdminStore(ctx, "admin_numbers")
if err != nil { if err != nil {
return nil, err return nil, err
} }
+3 -3
View File
@@ -1,9 +1,9 @@
package utils package utils
var isoCodes = map[string]bool{ var isoCodes = map[string]bool{
"eng": true, // English "eng": true, // English
"swa": true, // Swahili "swa": true, // Swahili
"default": true, // Default language: English
} }
func IsValidISO639(code string) bool { func IsValidISO639(code string) bool {
+3 -3
View File
@@ -62,10 +62,10 @@
}, },
{ {
"input": "1234", "input": "1234",
"expectedContent": "Select language:\n0:English\n1:Kiswahili" "expectedContent": "Select language:\n1:English\n2:Kiswahili"
}, },
{ {
"input": "0", "input": "1",
"expectedContent": "Your language change request was successful.\n0:Back\n9:Quit" "expectedContent": "Your language change request was successful.\n0:Back\n9:Quit"
}, },
{ {
@@ -430,7 +430,7 @@
}, },
{ {
"input": "1234", "input": "1234",
"expectedContent": "My profile:\nName: foo bar\nGender: male\nAge: 80\nLocation: Kilifi\nYou provide: Bananas\n\n0:Back" "expectedContent": "My profile:\nName: foo bar\nGender: male\nAge: 80\nLocation: Kilifi\nYou provide: Bananas\n\n0:Back\n9:Quit"
}, },
{ {
"input": "0", "input": "0",
+9 -9
View File
@@ -7,14 +7,14 @@
"steps": [ "steps": [
{ {
"input": "", "input": "",
"expectedContent": "Welcome to Sarafu Network\nPlease select a language\n0:English\n1:Kiswahili" "expectedContent": "Welcome to Sarafu Network\nPlease select a language\n1:English\n2:Kiswahili"
}, },
{ {
"input": "0", "input": "1",
"expectedContent": "Do you agree to terms and conditions?\nhttps://grassecon.org/pages/terms-and-conditions\n\n0:Yes\n1:No" "expectedContent": "Do you agree to terms and conditions?\nhttps://grassecon.org/pages/terms-and-conditions\n\n1:Yes\n2:No"
}, },
{ {
"input": "0", "input": "1",
"expectedContent": "Please enter a new four number PIN for your account:\n0:Exit" "expectedContent": "Please enter a new four number PIN for your account:\n0:Exit"
}, },
{ {
@@ -40,14 +40,14 @@
"steps": [ "steps": [
{ {
"input": "", "input": "",
"expectedContent": "Welcome to Sarafu Network\nPlease select a language\n0:English\n1:Kiswahili" "expectedContent": "Welcome to Sarafu Network\nPlease select a language\n1:English\n2:Kiswahili"
},
{
"input": "0",
"expectedContent": "Do you agree to terms and conditions?\nhttps://grassecon.org/pages/terms-and-conditions\n\n0:Yes\n1:No"
}, },
{ {
"input": "1", "input": "1",
"expectedContent": "Do you agree to terms and conditions?\nhttps://grassecon.org/pages/terms-and-conditions\n\n1:Yes\n2:No"
},
{
"input": "2",
"expectedContent": "Thank you for using Sarafu. Goodbye!" "expectedContent": "Thank you for using Sarafu. Goodbye!"
} }
] ]
+1
View File
@@ -7,3 +7,4 @@ HALT
INCMP _ 0 INCMP _ 0
INCMP my_balance 1 INCMP my_balance 1
INCMP community_balance 2 INCMP community_balance 2
INCMP . *
+4 -4
View File
@@ -2,9 +2,9 @@ LOAD reset_account_authorized 0
LOAD reset_incorrect 0 LOAD reset_incorrect 0
CATCH incorrect_pin flag_incorrect_pin 1 CATCH incorrect_pin flag_incorrect_pin 1
CATCH pin_entry flag_account_authorized 0 CATCH pin_entry flag_account_authorized 0
MOUT english 0 MOUT english 1
MOUT kiswahili 1 MOUT kiswahili 2
HALT HALT
INCMP set_default 0 INCMP set_eng 1
INCMP set_swa 1 INCMP set_swa 2
INCMP . * INCMP . *
@@ -9,3 +9,4 @@ MOUT quit 9
HALT HALT
INCMP _ 0 INCMP _ 0
INCMP quit 9 INCMP quit 9
INCMP . *
+1
View File
@@ -20,3 +20,4 @@ INCMP edit_yob 4
INCMP edit_location 5 INCMP edit_location 5
INCMP edit_offerings 6 INCMP edit_offerings 6
INCMP view_profile 7 INCMP view_profile 7
INCMP . *
+1
View File
@@ -14,3 +14,4 @@ INCMP balances 3
INCMP check_statement 4 INCMP check_statement 4
INCMP pin_management 5 INCMP pin_management 5
INCMP address 6 INCMP address 6
INCMP . *
+1
View File
@@ -9,3 +9,4 @@ MOUT quit 9
HALT HALT
INCMP _ 0 INCMP _ 0
INCMP quit 9 INCMP quit 9
INCMP . *
+4 -4
View File
@@ -1,6 +1,6 @@
MOUT english 0 MOUT english 1
MOUT kiswahili 1 MOUT kiswahili 2
HALT HALT
INCMP set_eng 0 INCMP set_eng 1
INCMP set_swa 1 INCMP set_swa 2
INCMP . * INCMP . *
+4
View File
@@ -0,0 +1,4 @@
LOAD set_language 6
RELOAD set_language
CATCH terms flag_account_created 0
MOVE language_changed
+3 -3
View File
@@ -1,5 +1,5 @@
MOUT yes 0 MOUT yes 1
MOUT no 1 MOUT no 2
HALT HALT
INCMP create_pin 0 INCMP create_pin 1
INCMP quit * INCMP quit *
+3
View File
@@ -4,5 +4,8 @@ LOAD reset_incorrect 6
CATCH incorrect_pin flag_incorrect_pin 1 CATCH incorrect_pin flag_incorrect_pin 1
CATCH pin_entry flag_account_authorized 0 CATCH pin_entry flag_account_authorized 0
MOUT back 0 MOUT back 0
MOUT quit 9
HALT HALT
INCMP _ 0 INCMP _ 0
INCMP quit 9
INCMP . *