Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev1 #144

Merged
merged 3 commits into from
Aug 8, 2023
Merged

Dev1 #144

merged 3 commits into from
Aug 8, 2023

Conversation

nforsg
Copy link
Contributor

@nforsg nforsg commented Aug 4, 2023

Okej, så jag behövde klura en hel del på denna i början. Anledninen var för att jag behövde göra en request från testfilen som satisfierade jsonify(). När vi använde oss av blueprint och bluebrint.route() i de andra resurserna så kunde ett anrop göras till rest_api_util-funktionerna utan problem för att kolla om man var inloggad eller inte.

När jag initierade min testfil hursomhelst, så försökte jag göra en dummy-fil först som gjorde en replikering av blueprint och blueprint.route(), följt av en liten funktion som kunde skapa parametern request innan man kallade på check_if_user_is_authoirized, men det gick inte. Jag försökte även lägga den i src/resources utan framgång. Istället så gjorde jag en fejk-parameter request mha en static i test-filen och använde mig av Flask.context() i mina anrop till filen.

Hela anledningen till detta är för att om man kallar på rest_api_util.check_if_user_is_authorized(request=req) rakt av, får man ett error som säger att jsonify kräver rätt context för att ge en response.

Min lösning funkar med respekt till teskoden och linter, men det som händer med responsen är att man får en nestled tuple, där response (som skickas) i sig blir en tuple som ges av datan plus ytterligare en status-kod som säger att det gick bra att returnera datat. Däremot skickas även den andra status-koden i den yttre tuplen på ett korrekt sätt, och bara man tänker på det i testningen är det inga problem.

Mypy-kommandot verkar inte lira med type-hintingen som finns implementerad i koden, vilket är ett problem. Jag låter det kvarstå då jag inte vill ta bort hints i routes och rest_api_util. Min lösning resulterade också i meddelandet "Value of type "Optional[tuple[Response, int]]" is not indexable", då det frångår från hintingen p.g.a den extra tuplen som fås från context().

Som sagt, jag lyckades inte få till ett replikerad blueprint-anrop utan fick endast 404 not found, och behövde därför skapa parametern request på annat sätt.

@Limmen Limmen merged commit 3938da3 into master Aug 8, 2023
10 of 38 checks passed
@Limmen Limmen deleted the dev1 branch August 8, 2023 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants