check for negative values on validion
This commit is contained in:
parent
36e2ac9883
commit
29bbdccc53
|
@ -71,8 +71,15 @@ validatePWPolicy
|
||||||
-- ^ the policy being validated
|
-- ^ the policy being validated
|
||||||
-> Bool
|
-> Bool
|
||||||
-- ^ indicates whether or not the policy is valid
|
-- ^ indicates whether or not the policy is valid
|
||||||
validatePWPolicy x = needed <= x^.pwLength where
|
validatePWPolicy x = all id
|
||||||
needed = x^.pwUpper + x^.pwLower + x^.pwDigits + special
|
[ needed <= x^.pwLength
|
||||||
special = fromMaybe 0 $ x^.pwSpecial
|
, x^.pwLength >= 0
|
||||||
|
, x^.pwUpper >= 0
|
||||||
|
, x^.pwLower >= 0
|
||||||
|
, x^.pwDigits >= 0
|
||||||
|
, fromMaybe 0 (x^.pwSpecial) >= 0
|
||||||
|
] where
|
||||||
|
needed = x^.pwUpper + x^.pwLower + x^.pwDigits + special
|
||||||
|
special = fromMaybe 0 $ x^.pwSpecial
|
||||||
|
|
||||||
--jl
|
--jl
|
||||||
|
|
|
@ -28,16 +28,21 @@ import Test.HUnit (Test(..), (~?=))
|
||||||
import Password
|
import Password
|
||||||
|
|
||||||
tests = TestLabel "validatePWPolicy" $ TestList $ map test'
|
tests = TestLabel "validatePWPolicy" $ TestList $ map test'
|
||||||
[ ( "default", id, True )
|
[ ( "default", id, True )
|
||||||
, ( "no special chars", set pwSpecial Nothing, True )
|
, ( "no special chars", set pwSpecial Nothing, True )
|
||||||
, ( "valid minimums", validMins, True )
|
, ( "valid minimums", validMins, True )
|
||||||
, ( "excessive upper", set pwUpper 99, False )
|
, ( "excessive upper", set pwUpper 99, False )
|
||||||
, ( "excessive lower", set pwLower 99, False )
|
, ( "excessive lower", set pwLower 99, False )
|
||||||
, ( "excessive digits", set pwDigits 99, False )
|
, ( "excessive digits", set pwDigits 99, False )
|
||||||
, ( "excessive total", excessive, False )
|
, ( "excessive total", excessive, False )
|
||||||
, ( "short", set pwLength 8, True )
|
, ( "short", set pwLength 8, True )
|
||||||
, ( "short valid", shortValid, True )
|
, ( "short valid", shortValid, True )
|
||||||
, ( "short invalid", shortInvalid, False )
|
, ( "short invalid", shortInvalid, False )
|
||||||
|
, ( "negative length", set pwLength (-1), False )
|
||||||
|
, ( "negative upper", set pwUpper (-1), False )
|
||||||
|
, ( "negative lower", set pwLower (-1), False )
|
||||||
|
, ( "negative digits", set pwDigits (-1), False )
|
||||||
|
, ( "negative special", set pwSpecial (Just (-1)), False )
|
||||||
]
|
]
|
||||||
|
|
||||||
test' (label, f, expect) = TestLabel label $
|
test' (label, f, expect) = TestLabel label $
|
||||||
|
|
Loading…
Reference in New Issue
Block a user