Compare commits
18 Commits
tests-menu
...
v0.12.0-be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2d5546de1 | ||
|
|
95089875bf
|
||
|
|
4db25055ad
|
||
|
|
e8e6f0e371
|
||
|
|
91c4967efa
|
||
|
|
7b1824f18c
|
||
|
|
04c3f5ce65
|
||
|
|
e646658f40
|
||
|
|
c4cab444ad
|
||
|
|
b5ade9112e
|
||
|
|
3b9184e852
|
||
|
|
07b85768d1 | ||
|
|
c9678df152
|
||
|
|
c37fee5e54
|
||
|
|
98b2a31655
|
||
| d4fcf40b8d | |||
|
|
83a10efcd9
|
||
| 0089d6f125 |
17
cmd/main.go
17
cmd/main.go
@@ -62,7 +62,6 @@ func main() {
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
||||
|
||||
ln, err := lang.LanguageFromCode(config.Language())
|
||||
if err != nil {
|
||||
@@ -74,12 +73,12 @@ func main() {
|
||||
pfp := path.Join(scriptDir, "pp.csv")
|
||||
|
||||
cfg := engine.Config{
|
||||
Root: "root",
|
||||
SessionId: sessionId,
|
||||
OutputSize: uint32(size),
|
||||
FlagCount: uint32(128),
|
||||
MenuSeparator: menuSeparator,
|
||||
EngineDebug: engineDebug,
|
||||
Root: "root",
|
||||
SessionId: sessionId,
|
||||
OutputSize: uint32(size),
|
||||
FlagCount: uint32(128),
|
||||
MenuSeparator: menuSeparator,
|
||||
EngineDebug: engineDebug,
|
||||
ResetOnEmptyInput: true,
|
||||
}
|
||||
|
||||
@@ -128,8 +127,8 @@ func main() {
|
||||
accountService := services.New(ctx, menuStorageService)
|
||||
_, err = lhs.GetHandler(accountService)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err)
|
||||
os.Exit(1)
|
||||
fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
en := lhs.GetEngine(cfg, rs, pe)
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ func main() {
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
||||
|
||||
pfp := path.Join(scriptDir, "pp.csv")
|
||||
flagParser, err := application.NewFlagManager(pfp)
|
||||
|
||||
@@ -318,7 +318,7 @@ func (h *MenuHandlers) VerifyNewPin(ctx context.Context, sym string, input []byt
|
||||
return res, fmt.Errorf("missing session")
|
||||
}
|
||||
flag_valid_pin, _ := h.flagManager.GetFlag("flag_valid_pin")
|
||||
if !h.st.Back() {
|
||||
if string(input) != "0" {
|
||||
pinInput := string(input)
|
||||
// Validate that the PIN is a 4-digit number.
|
||||
if pin.IsValidPIN(pinInput) {
|
||||
@@ -384,6 +384,12 @@ func (h *MenuHandlers) SaveOthersTemporaryPin(ctx context.Context, sym string, i
|
||||
}
|
||||
|
||||
temporaryPin := string(input)
|
||||
|
||||
// Validate that the input is a 4-digit number.
|
||||
if !pin.IsValidPIN(temporaryPin) {
|
||||
return res, nil
|
||||
}
|
||||
|
||||
// Retrieve the blocked number associated with this session
|
||||
blockedNumber, err := store.ReadEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER)
|
||||
if err != nil {
|
||||
@@ -416,7 +422,7 @@ func (h *MenuHandlers) CheckBlockedNumPinMisMatch(ctx context.Context, sym strin
|
||||
if !ok {
|
||||
return res, fmt.Errorf("missing session")
|
||||
}
|
||||
if h.st.Back() {
|
||||
if string(input) == "0" {
|
||||
res.FlagReset = append(res.FlagReset, flag_pin_mismatch)
|
||||
return res, nil
|
||||
}
|
||||
@@ -456,7 +462,7 @@ func (h *MenuHandlers) ConfirmPinChange(ctx context.Context, sym string, input [
|
||||
}
|
||||
flag_pin_mismatch, _ := h.flagManager.GetFlag("flag_pin_mismatch")
|
||||
|
||||
if h.st.Back() {
|
||||
if string(input) == "0" {
|
||||
res.FlagReset = append(res.FlagReset, flag_pin_mismatch)
|
||||
return res, nil
|
||||
}
|
||||
@@ -601,16 +607,20 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in
|
||||
return res, fmt.Errorf("missing session")
|
||||
}
|
||||
|
||||
if h.st.Back() {
|
||||
if string(input) == "0" {
|
||||
res.FlagReset = append(res.FlagReset, flag_unregistered_number)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
blockedNumber := string(input)
|
||||
_, err = store.ReadEntry(ctx, blockedNumber, storedb.DATA_PUBLIC_KEY)
|
||||
if !phone.IsValidPhoneNumber(blockedNumber) {
|
||||
formattedNumber, err := phone.FormatPhoneNumber(blockedNumber)
|
||||
if err != nil {
|
||||
res.FlagSet = append(res.FlagSet, flag_unregistered_number)
|
||||
logg.ErrorCtxf(ctx, "Failed to format the phone number: %s", blockedNumber, "error", err)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
_, err = store.ReadEntry(ctx, formattedNumber, storedb.DATA_PUBLIC_KEY)
|
||||
if err != nil {
|
||||
if db.IsNotFound(err) {
|
||||
logg.InfoCtxf(ctx, "Invalid or unregistered number")
|
||||
@@ -621,7 +631,7 @@ func (h *MenuHandlers) ValidateBlockedNumber(ctx context.Context, sym string, in
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
err = store.WriteEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER, []byte(blockedNumber))
|
||||
err = store.WriteEntry(ctx, sessionId, storedb.DATA_BLOCKED_NUMBER, []byte(formattedNumber))
|
||||
if err != nil {
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ var (
|
||||
sessionID string
|
||||
src = rand.NewSource(42)
|
||||
g = rand.New(src)
|
||||
secondarySessionId = "0700000000"
|
||||
secondarySessionId = "+254700000000"
|
||||
)
|
||||
|
||||
var groupTestFile = flag.String("test-file", "group_test.json", "The test file to use for running the group tests")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CATCH pin_entry flag_incorrect_pin 1
|
||||
CATCH incorrect_pin flag_incorrect_pin 1
|
||||
RELOAD retrieve_blocked_number
|
||||
MAP retrieve_blocked_number
|
||||
CATCH invalid_others_pin flag_valid_pin 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CATCH no_admin_privilege flag_admin_privilege 0
|
||||
CATCH no_admin_privilege flag_admin_privilege 0
|
||||
LOAD reset_account_authorized 0
|
||||
RELOAD reset_account_authorized
|
||||
MOUT back 0
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
RELOAD reset_incorrect
|
||||
RELOAD reset_allow_update
|
||||
MOUT back 0
|
||||
HALT
|
||||
INCMP _ 0
|
||||
RELOAD authorize_account
|
||||
CATCH incorrect_pin flag_incorrect_pin 1
|
||||
CATCH _ flag_allow_update 0
|
||||
INCMP new_pin *
|
||||
|
||||
@@ -3,3 +3,4 @@ MOUT quit 9
|
||||
HALT
|
||||
INCMP _ 1
|
||||
INCMP quit 9
|
||||
INCMP . *
|
||||
|
||||
@@ -3,12 +3,12 @@ LOAD authorize_account 5
|
||||
LOAD reset_allow_update 4
|
||||
LOAD verify_new_pin 2
|
||||
LOAD save_temporary_pin 1
|
||||
LOAD reset_incorrect 0
|
||||
LOAD reset_incorrect 0
|
||||
MOUT change_pin 1
|
||||
MOUT reset_pin 2
|
||||
MOUT back 0
|
||||
HALT
|
||||
INCMP _ 0
|
||||
INCMP old_pin 1
|
||||
INCMP old_pin 1
|
||||
INCMP enter_other_number 2
|
||||
INCMP . *
|
||||
|
||||
@@ -3,4 +3,4 @@ MOUT quit 9
|
||||
HALT
|
||||
INCMP _ 1
|
||||
INCMP quit 9
|
||||
|
||||
INCMP . *
|
||||
|
||||
@@ -3,3 +3,4 @@ MOUT quit 9
|
||||
HALT
|
||||
INCMP main 0
|
||||
INCMP quit 9
|
||||
INCMP . *
|
||||
|
||||
Reference in New Issue
Block a user