|
@@ -66,6 +66,38 @@
|
|
<span id="63">63</span>
|
|
<span id="63">63</span>
|
|
<span id="64">64</span>
|
|
<span id="64">64</span>
|
|
<span id="65">65</span>
|
|
<span id="65">65</span>
|
|
|
|
+<span id="66">66</span>
|
|
|
|
+<span id="67">67</span>
|
|
|
|
+<span id="68">68</span>
|
|
|
|
+<span id="69">69</span>
|
|
|
|
+<span id="70">70</span>
|
|
|
|
+<span id="71">71</span>
|
|
|
|
+<span id="72">72</span>
|
|
|
|
+<span id="73">73</span>
|
|
|
|
+<span id="74">74</span>
|
|
|
|
+<span id="75">75</span>
|
|
|
|
+<span id="76">76</span>
|
|
|
|
+<span id="77">77</span>
|
|
|
|
+<span id="78">78</span>
|
|
|
|
+<span id="79">79</span>
|
|
|
|
+<span id="80">80</span>
|
|
|
|
+<span id="81">81</span>
|
|
|
|
+<span id="82">82</span>
|
|
|
|
+<span id="83">83</span>
|
|
|
|
+<span id="84">84</span>
|
|
|
|
+<span id="85">85</span>
|
|
|
|
+<span id="86">86</span>
|
|
|
|
+<span id="87">87</span>
|
|
|
|
+<span id="88">88</span>
|
|
|
|
+<span id="89">89</span>
|
|
|
|
+<span id="90">90</span>
|
|
|
|
+<span id="91">91</span>
|
|
|
|
+<span id="92">92</span>
|
|
|
|
+<span id="93">93</span>
|
|
|
|
+<span id="94">94</span>
|
|
|
|
+<span id="95">95</span>
|
|
|
|
+<span id="96">96</span>
|
|
|
|
+<span id="97">97</span>
|
|
</pre><div class="example-wrap"><pre class="rust ">
|
|
</pre><div class="example-wrap"><pre class="rust ">
|
|
<span class="comment">/*
|
|
<span class="comment">/*
|
|
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
|
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
|
|
@@ -89,8 +121,6 @@
|
|
<span class="kw">mod</span> <span class="ident">auth</span>;
|
|
<span class="kw">mod</span> <span class="ident">auth</span>;
|
|
<span class="kw">mod</span> <span class="ident">panel</span>;
|
|
<span class="kw">mod</span> <span class="ident">panel</span>;
|
|
|
|
|
|
-<span class="kw">pub</span> <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">middleware</span>::<span class="ident">auth</span>::<span class="ident">CheckLogin</span>;
|
|
|
|
-
|
|
|
|
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">services</span>(<span class="ident">cfg</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceConfig</span>) {
|
|
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">services</span>(<span class="ident">cfg</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceConfig</span>) {
|
|
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">panel</span>::<span class="ident">panel</span>);
|
|
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">panel</span>::<span class="ident">panel</span>);
|
|
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">panel</span>::<span class="ident">sitekey</span>::<span class="ident">add_sitekey</span>);
|
|
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">panel</span>::<span class="ident">sitekey</span>::<span class="ident">add_sitekey</span>);
|
|
@@ -105,18 +135,52 @@
|
|
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">test</span>;
|
|
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">test</span>;
|
|
|
|
|
|
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
|
|
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
|
|
|
|
+ <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">tests</span>::<span class="kw-2">*</span>;
|
|
<span class="kw">use</span> <span class="kw">crate</span>::<span class="kw-2">*</span>;
|
|
<span class="kw">use</span> <span class="kw">crate</span>::<span class="kw-2">*</span>;
|
|
|
|
|
|
<span class="attribute">#[<span class="ident">actix_rt</span>::<span class="ident">test</span>]</span>
|
|
<span class="attribute">#[<span class="ident">actix_rt</span>::<span class="ident">test</span>]</span>
|
|
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">protected_pages_templates_work</span>() {
|
|
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">protected_pages_templates_work</span>() {
|
|
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">init_service</span>(<span class="ident">App</span>::<span class="ident">new</span>().<span class="ident">configure</span>(<span class="ident">services</span>)).<span class="kw">await</span>;
|
|
|
|
|
|
+ <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">"templateuser"</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">"templateuser@a.com"</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="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="kw">let</span> <span class="kw-2">mut</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">test</span>::<span class="ident">init_service</span>(
|
|
|
|
+ <span class="ident">App</span>::<span class="ident">new</span>()
|
|
|
|
+ .<span class="ident">wrap</span>(<span class="ident">get_identity_service</span>())
|
|
|
|
+ .<span class="ident">configure</span>(<span class="kw">crate</span>::<span class="ident">api</span>::<span class="ident">v1</span>::<span class="ident">services</span>)
|
|
|
|
+ .<span class="ident">configure</span>(<span class="ident">services</span>)
|
|
|
|
+ .<span class="ident">data</span>(<span class="ident">data</span>.<span class="ident">clone</span>()),
|
|
|
|
+ )
|
|
|
|
+ .<span class="kw">await</span>;
|
|
|
|
+
|
|
<span class="kw">let</span> <span class="ident">urls</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="string">"/"</span>, <span class="string">"/sitekey/add"</span>];
|
|
<span class="kw">let</span> <span class="ident">urls</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="string">"/"</span>, <span class="string">"/sitekey/add"</span>];
|
|
|
|
|
|
<span class="kw">for</span> <span class="ident">url</span> <span class="kw">in</span> <span class="ident">urls</span>.<span class="ident">iter</span>() {
|
|
<span class="kw">for</span> <span class="ident">url</span> <span class="kw">in</span> <span class="ident">urls</span>.<span class="ident">iter</span>() {
|
|
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span>
|
|
<span class="kw">let</span> <span class="ident">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="ident">test</span>::<span class="ident">TestRequest</span>::<span class="ident">get</span>().<span class="ident">uri</span>(<span class="ident">url</span>).<span class="ident">to_request</span>()).<span class="kw">await</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="ident">test</span>::<span class="ident">TestRequest</span>::<span class="ident">get</span>().<span class="ident">uri</span>(<span class="ident">url</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">resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">FOUND</span>);
|
|
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">resp</span>.<span class="ident">status</span>(), <span class="ident">StatusCode</span>::<span class="ident">FOUND</span>);
|
|
|
|
+
|
|
|
|
+ <span class="kw">let</span> <span class="ident">authenticated_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="ident">test</span>::<span class="ident">TestRequest</span>::<span class="ident">get</span>()
|
|
|
|
+ .<span class="ident">uri</span>(<span class="ident">url</span>)
|
|
|
|
+ .<span class="ident">cookie</span>(<span class="ident">cookies</span>.<span class="ident">clone</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">authenticated_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>
|
|
<span class="attribute">#[<span class="ident">actix_rt</span>::<span class="ident">test</span>]</span>
|