factor/extra/sodium/sodium-tests.factor

57 lines
2.2 KiB
Factor

! Copyright (C) 2018 Alexander Ilin.
! See http://factorcode.org/license.txt for BSD license.
USING: arrays io.encodings.string io.encodings.utf8 kernel math
sequences sodium tools.test ;
IN: sodium.tests
{ t } [
"Encrypted message" dup utf8 encode
crypto-box-nonce 2 [ crypto-box-keypair 2array ] times
[ [ first ] [ second ] bi* crypto-box-easy ] 3keep swap
[ first ] [ second ] bi* crypto-box-open-easy utf8 decode =
] unit-test
{ t } [
"Signature verification test" utf8 encode
crypto-sign-keypair
[ nip crypto-sign ]
[ drop crypto-sign-verify ] 3bi
] unit-test
! https://github.com/sqrldev/sqrl-test-vectors/blob/master/vectors/enhash-vectors.txt
CONSTANT: base64-tests {
""
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"_FHmfDKg6e6rE-hV-1dGCrtbmVUnQtByMvqkCXxdfuU"
"AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE"
"vhFHvj4Qdlv8VAsnTdRJ_YsdctXQpJ5Elh9aM-hI2yQ"
"__________________________________________8"
"yyHN-LfEkKdKNRkuUHWvpzYYJy3FhVJQusPGpvlGWsE"
"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU"
"bk7GPoNy_qWdAjZ-gF5GHmioZ0ZM04a8wQBvwxSQWnE"
"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo"
"TCDPMl3crNzjLnd94BiaVg0wV63oJ9TyKIu3gS33MA0"
"hA3Dw5BPbcuJQYQYRAukKBYa1u9m4pV5jtEpQ1DDtHk"
"EGisR5HKQFtLvqTcbZu7Xvl9_uySHlFaiaLxM5V5Ta0"
"3FI8xwyoFAU1eWsnAdAUh3D-SS-XiiWdiIGw7mGY2qk"
"chvqBddUlaePrIhevV1ap48P4cKR6B60i4oTnQ1BRuU"
"0jtFpgpHqvzcfSdKXJ5f8hXRAi0Ytf3K7zlXWN6dies"
"xH3LNXP0-SJnP-jtQaGXeIH3ZTK_6B-Vu_IT6wz4TjM"
"Wf5wO411DCEe53k7lPp_dh5pp06AEUCNpEXCi5KG0ro"
"iHNsJLKJ3InnB4a3D7nwzLGx-z4HXxXnnX6Ppp4fgRE"
"0g9euYTG7974KIhW6en7BP6-2S7u_9qabd1V-7SDIOU"
"-TAyGNEEkNuFceonDUF_Nz20RnlyTVpeDp92KGkCRxs"
"d1podenEZmoVmyP7gZ8XxAKW82jSt4QiX3mC4JnM_K8"
"rNZG4IAkyQAmKcoCQKOEyC34KAaU-wPA_2NY_5y7-Q4"
"8QROWCEzP0Ni2MwmlVKffsUm5MlX-pzxX03Q9D0zsYw"
"BK2JN4_78CwB3MSJjFEAwHQX-1efCOYNAvKn8-z4ALw"
"be30E76EBlTd_DW66KBUYZqYYhSr1eHhv-UMKrVHJOA"
"nrZb5PYuff38xgEP4dg6xpBzIk6XHauBFYqPD1KOu6g"
"Z_H_qwKAcqOilZTHIZKHhXLlRdWfty24UWWq-28a1wc"
"5CezCWqQX09B_MllxHQNmBE2080BADIBoMtqc5LZNfc"
}
{ t } [
base64-tests [ dup sodium-base64>bin sodium-bin>base64 = ] all?
] unit-test