mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 18:15:39 +00:00
Deploying to gh-pages from @ 096dcd32e4 🚀
This commit is contained in:
@@ -257,6 +257,18 @@
|
||||
<span id="254">254</span>
|
||||
<span id="255">255</span>
|
||||
<span id="256">256</span>
|
||||
<span id="257">257</span>
|
||||
<span id="258">258</span>
|
||||
<span id="259">259</span>
|
||||
<span id="260">260</span>
|
||||
<span id="261">261</span>
|
||||
<span id="262">262</span>
|
||||
<span id="263">263</span>
|
||||
<span id="264">264</span>
|
||||
<span id="265">265</span>
|
||||
<span id="266">266</span>
|
||||
<span id="267">267</span>
|
||||
<span id="268">268</span>
|
||||
</pre><div class="example-wrap"><pre class="rust ">
|
||||
<span class="comment">/*
|
||||
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
||||
@@ -432,13 +444,15 @@
|
||||
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testuser"</span>;
|
||||
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"longpassword"</span>;
|
||||
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testuser1@a.com"</span>;
|
||||
<span class="kw">const</span> <span class="ident">SIGNIN</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/signin"</span>;
|
||||
<span class="kw">const</span> <span class="ident">SIGNUP</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/signup"</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="macro">get_app</span><span class="macro">!</span>(<span class="ident">data</span>).<span class="kw">await</span>;
|
||||
|
||||
<span class="ident">delete_user</span>(<span class="ident">NAME</span>, <span class="kw-2">&</span><span class="ident">data</span>).<span class="kw">await</span>;
|
||||
|
||||
<span class="comment">// 1. Register and signin</span>
|
||||
<span class="kw">let</span> (<span class="ident">data</span>, <span class="kw">_</span>, <span class="ident">signin_resp</span>) <span class="op">=</span> <span class="ident">signin_util</span>(<span class="ident">NAME</span>, <span class="ident">EMAIL</span>, <span class="ident">PASSWORD</span>).<span class="kw">await</span>;
|
||||
<span class="kw">let</span> (<span class="kw">_</span>, <span class="kw">_</span>, <span class="ident">signin_resp</span>) <span class="op">=</span> <span class="ident">register_and_signin</span>(<span class="ident">NAME</span>, <span class="ident">EMAIL</span>, <span class="ident">PASSWORD</span>).<span class="kw">await</span>;
|
||||
<span class="kw">let</span> <span class="ident">cookies</span> <span class="op">=</span> <span class="macro">get_cookie</span><span class="macro">!</span>(<span class="ident">signin_resp</span>);
|
||||
|
||||
<span class="comment">// 2. check if duplicate username is allowed</span>
|
||||
@@ -447,49 +461,55 @@
|
||||
<span class="ident">password</span>: <span class="ident">PASSWORD</span>.<span class="ident">into</span>(),
|
||||
<span class="ident">email</span>: <span class="ident">EMAIL</span>.<span class="ident">into</span>(),
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">duplicate_user_resp</span> <span class="op">=</span>
|
||||
<span class="ident">test</span>::<span class="ident">call_service</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">app</span>, <span class="macro">post_request</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">msg</span>, <span class="string">"/api/v1/signup"</span>).<span class="ident">to_request</span>()).<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">duplicate_user_resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">BAD_REQUEST</span>);
|
||||
<span class="ident">bad_post_req_test</span>(
|
||||
<span class="ident">NAME</span>,
|
||||
<span class="ident">PASSWORD</span>,
|
||||
<span class="ident">SIGNUP</span>,
|
||||
<span class="kw-2">&</span><span class="ident">msg</span>,
|
||||
<span class="ident">ServiceError</span>::<span class="ident">UsernameTaken</span>,
|
||||
<span class="ident">StatusCode</span>::<span class="ident">BAD_REQUEST</span>,
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
|
||||
<span class="comment">// 3. sigining in with non-existent user</span>
|
||||
<span class="kw">let</span> <span class="ident">nonexistantuser</span> <span class="op">=</span> <span class="ident">Login</span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">login</span> <span class="op">=</span> <span class="ident">Login</span> {
|
||||
<span class="ident">username</span>: <span class="string">"nonexistantuser"</span>.<span class="ident">into</span>(),
|
||||
<span class="ident">password</span>: <span class="ident">msg</span>.<span class="ident">password</span>.<span class="ident">clone</span>(),
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">userdoesntexist</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">call_service</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">app</span>,
|
||||
<span class="macro">post_request</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">nonexistantuser</span>, <span class="string">"/api/v1/signin"</span>).<span class="ident">to_request</span>(),
|
||||
<span class="ident">bad_post_req_test</span>(
|
||||
<span class="ident">NAME</span>,
|
||||
<span class="ident">PASSWORD</span>,
|
||||
<span class="ident">SIGNIN</span>,
|
||||
<span class="kw-2">&</span><span class="ident">login</span>,
|
||||
<span class="ident">ServiceError</span>::<span class="ident">UsernameNotFound</span>,
|
||||
<span class="ident">StatusCode</span>::<span class="ident">UNAUTHORIZED</span>,
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">userdoesntexist</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">UNAUTHORIZED</span>);
|
||||
<span class="kw">let</span> <span class="ident">txt</span>: <span class="ident">ErrorToResponse</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">read_body_json</span>(<span class="ident">userdoesntexist</span>).<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">txt</span>.<span class="ident">error</span>, <span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">ServiceError</span>::<span class="ident">UsernameNotFound</span>));
|
||||
|
||||
<span class="comment">// 4. trying to signin with wrong password</span>
|
||||
<span class="kw">let</span> <span class="ident">wrongpassword</span> <span class="op">=</span> <span class="ident">Login</span> {
|
||||
<span class="ident">username</span>: <span class="ident">NAME</span>.<span class="ident">into</span>(),
|
||||
<span class="ident">password</span>: <span class="ident">NAME</span>.<span class="ident">into</span>(),
|
||||
};
|
||||
<span class="kw">let</span> <span class="ident">wrongpassword_resp</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">call_service</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">app</span>,
|
||||
<span class="macro">post_request</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">wrongpassword</span>, <span class="string">"/api/v1/signin"</span>).<span class="ident">to_request</span>(),
|
||||
<span class="ident">login</span>.<span class="ident">username</span> <span class="op">=</span> <span class="ident">NAME</span>.<span class="ident">into</span>();
|
||||
<span class="ident">login</span>.<span class="ident">password</span> <span class="op">=</span> <span class="ident">NAME</span>.<span class="ident">into</span>();
|
||||
|
||||
<span class="ident">bad_post_req_test</span>(
|
||||
<span class="ident">NAME</span>,
|
||||
<span class="ident">PASSWORD</span>,
|
||||
<span class="ident">SIGNIN</span>,
|
||||
<span class="kw-2">&</span><span class="ident">login</span>,
|
||||
<span class="ident">ServiceError</span>::<span class="ident">WrongPassword</span>,
|
||||
<span class="ident">StatusCode</span>::<span class="ident">UNAUTHORIZED</span>,
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wrongpassword_resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">UNAUTHORIZED</span>);
|
||||
<span class="kw">let</span> <span class="ident">txt</span>: <span class="ident">ErrorToResponse</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">read_body_json</span>(<span class="ident">wrongpassword_resp</span>).<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">txt</span>.<span class="ident">error</span>, <span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">ServiceError</span>::<span class="ident">WrongPassword</span>));
|
||||
|
||||
<span class="comment">// 5. signout</span>
|
||||
<span class="kw">let</span> <span class="ident">signout_resp</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">call_service</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">app</span>,
|
||||
<span class="macro">post_request</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">wrongpassword</span>, <span class="string">"/api/v1/signout"</span>)
|
||||
.<span class="ident">cookie</span>(<span class="ident">cookies</span>.<span class="ident">clone</span>())
|
||||
<span class="ident">test</span>::<span class="ident">TestRequest</span>::<span class="ident">post</span>()
|
||||
.<span class="ident">uri</span>(<span class="string">"/api/v1/signout"</span>)
|
||||
.<span class="ident">cookie</span>(<span class="ident">cookies</span>)
|
||||
.<span class="ident">to_request</span>(),
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">signout_resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">OK</span>);
|
||||
|
||||
<span class="ident">delete_user</span>(<span class="ident">NAME</span>, <span class="kw-2">&</span><span class="ident">data</span>).<span class="kw">await</span>;
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">actix_rt</span>::<span class="ident">test</span>]</span>
|
||||
@@ -498,7 +518,12 @@
|
||||
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"longpassword2"</span>;
|
||||
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testuser1@a.com2"</span>;
|
||||
|
||||
<span class="kw">let</span> (<span class="ident">data</span>, <span class="ident">creds</span>, <span class="ident">signin_resp</span>) <span class="op">=</span> <span class="ident">signin_util</span>(<span class="ident">NAME</span>, <span class="ident">EMAIL</span>, <span class="ident">PASSWORD</span>).<span class="kw">await</span>;
|
||||
{
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">Data</span>::<span class="ident">new</span>().<span class="kw">await</span>;
|
||||
<span class="ident">delete_user</span>(<span class="ident">NAME</span>, <span class="kw-2">&</span><span class="ident">data</span>).<span class="kw">await</span>;
|
||||
}
|
||||
|
||||
<span class="kw">let</span> (<span class="ident">data</span>, <span class="ident">creds</span>, <span class="ident">signin_resp</span>) <span class="op">=</span> <span class="ident">register_and_signin</span>(<span class="ident">NAME</span>, <span class="ident">EMAIL</span>, <span class="ident">PASSWORD</span>).<span class="kw">await</span>;
|
||||
<span class="kw">let</span> <span class="ident">cookies</span> <span class="op">=</span> <span class="macro">get_cookie</span><span class="macro">!</span>(<span class="ident">signin_resp</span>);
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="macro">get_app</span><span class="macro">!</span>(<span class="ident">data</span>).<span class="kw">await</span>;
|
||||
|
||||
@@ -511,7 +536,6 @@
|
||||
.<span class="kw">await</span>;
|
||||
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">delete_user_resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">OK</span>);
|
||||
<span class="ident">delete_user</span>(<span class="ident">NAME</span>, <span class="kw-2">&</span><span class="ident">data</span>).<span class="kw">await</span>;
|
||||
}
|
||||
}
|
||||
</pre></div>
|
||||
|
||||
Reference in New Issue
Block a user