1+ # mypy: disable-error-code="no-untyped-call"
12import time
23
34import pytest
4-
55from cryptography .fernet import Fernet
6+ from flask .testing import FlaskClient
67from freezegun import freeze_time
8+ from peewee import SqliteDatabase
79from werkzeug .exceptions import BadRequest
810
911import snapbin .main as snap
1012from snapbin .models .secret import Secret
1113
1214
13- def test_get_password (memory_db ) :
15+ def test_get_password (memory_db : SqliteDatabase ) -> None :
1416 _ = memory_db
1517 password = "melatonin overdose 1337!$"
1618 key = snap .set_password (password , 30 )
1719 assert password == snap .get_password (key ), "passwords do not match"
1820 assert snap .get_password (key ) is None , "password should be expired"
1921
2022
21- def test_password_is_not_stored_in_plaintext (memory_db ) :
23+ def test_password_is_not_stored_in_plaintext (memory_db : SqliteDatabase ) -> None :
2224 _ = memory_db
2325 password = "trustno1"
2426 token = snap .set_password (password , 30 )
@@ -27,7 +29,7 @@ def test_password_is_not_stored_in_plaintext(memory_db):
2729 assert stored_password_text not in password
2830
2931
30- def test_returned_token_format (memory_db ) :
32+ def test_returned_token_format (memory_db : SqliteDatabase ) -> None :
3133 _ = memory_db
3234 password = "trustsome1"
3335 token = snap .set_password (password , 30 )
@@ -41,7 +43,7 @@ def test_returned_token_format(memory_db):
4143 assert False , "the encryption key is not valid"
4244
4345
44- def test_encryption_key_is_returned (memory_db ) :
46+ def test_encryption_key_is_returned (memory_db : SqliteDatabase ) -> None :
4547 _ = memory_db
4648 password = "trustany1"
4749 token = snap .set_password (password , 30 )
@@ -53,14 +55,14 @@ def test_encryption_key_is_returned(memory_db):
5355 assert password == decrypted_password
5456
5557
56- def test_password_is_decoded (memory_db ) :
58+ def test_password_is_decoded (memory_db : SqliteDatabase ) -> None :
5759 _ = memory_db
5860 password = "correct horse battery staple"
5961 key = snap .set_password (password , 30 )
6062 assert not isinstance (snap .get_password (key ), bytes )
6163
6264
63- def test_clean_input (memory_db ) :
65+ def test_clean_input (memory_db : SqliteDatabase ) -> None :
6466 _ = memory_db
6567 # Test Bad Data
6668 with snap .app .test_request_context (
@@ -86,36 +88,36 @@ def test_clean_input(memory_db):
8688 assert (3600 , "foo" ) == snap .clean_input ()
8789
8890
89- def test_password_before_expiration (memory_db ) :
91+ def test_password_before_expiration (memory_db : SqliteDatabase ) -> None :
9092 _ = memory_db
9193 password = "fidelio"
9294 key = snap .set_password (password , 1 )
9395 assert password == snap .get_password (key )
9496
9597
96- def test_password_after_expiration (memory_db ) :
98+ def test_password_after_expiration (memory_db : SqliteDatabase ) -> None :
9799 _ = memory_db
98100 password = "open sesame"
99101 key = snap .set_password (password , 1 )
100102 time .sleep (2 )
101103 assert snap .get_password (key ) is None
102104
103105
104- def test_preview_password (app ) :
106+ def test_preview_password (app : FlaskClient ) -> None :
105107 password = "I like novelty kitten statues!"
106108 key = snap .set_password (password , 30 )
107109 rv = app .get (f"/{ key } " )
108110 assert password not in rv .get_data (as_text = True )
109111
110112
111- def test_show_password (app ) :
113+ def test_show_password (app : FlaskClient ) -> None :
112114 password = "I like novelty kitten statues!"
113115 key = snap .set_password (password , 30 )
114116 rv = app .post ("/get-secret" , data = {"key" : key })
115117 assert password in rv .get_data (as_text = True )
116118
117119
118- def test_set_password_json (app ) :
120+ def test_set_password_json (app : FlaskClient ) -> None :
119121 with freeze_time ("2020-05-08 12:00:00" ) as frozen_time :
120122 password = "my name is my passport. verify me."
121123 rv = app .post (
0 commit comments