<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>DefaultUserRepositoriesTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/apache/archiva/security/DefaultUserRepositoriesTest.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.security;
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *  <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.security.common.ArchivaRoleConstants;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment"> * DefaultUserRepositoriesTest</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/security/DefaultUserRepositoriesTest.html">DefaultUserRepositoriesTest</a>
<a class="jxr_linenumber" name="L36" href="#L36">36</a>      <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/archiva/security/AbstractSecurityTest.html">AbstractSecurityTest</a>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  {
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  
<a class="jxr_linenumber" name="L40" href="#L40">40</a>      @Before
<a class="jxr_linenumber" name="L41" href="#L41">41</a>      @Override
<a class="jxr_linenumber" name="L42" href="#L42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp()
<a class="jxr_linenumber" name="L43" href="#L43">43</a>          <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="L44" href="#L44">44</a>      {
<a class="jxr_linenumber" name="L45" href="#L45">45</a>          <strong class="jxr_keyword">super</strong>.setUp();
<a class="jxr_linenumber" name="L46" href="#L46">46</a>          restoreGuestInitialValues( USER_ALPACA );
<a class="jxr_linenumber" name="L47" href="#L47">47</a>          restoreGuestInitialValues( USER_GUEST );
<a class="jxr_linenumber" name="L48" href="#L48">48</a>          restoreGuestInitialValues( USER_ADMIN );
<a class="jxr_linenumber" name="L49" href="#L49">49</a>      }
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  
<a class="jxr_linenumber" name="L51" href="#L51">51</a>      @Test
<a class="jxr_linenumber" name="L52" href="#L52">52</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetObservableRepositoryIds()
<a class="jxr_linenumber" name="L53" href="#L53">53</a>          <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="L54" href="#L54">54</a>      {
<a class="jxr_linenumber" name="L55" href="#L55">55</a>          <em class="jxr_comment">// create some users.</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a>          createUser( USER_ALPACA, <span class="jxr_string">"Al 'Archiva' Paca"</span> );
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  
<a class="jxr_linenumber" name="L58" href="#L58">58</a>          assertEquals( <span class="jxr_string">"Expected users"</span>, 3, securitySystem.getUserManager().getUsers().size() );
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  
<a class="jxr_linenumber" name="L60" href="#L60">60</a>          <em class="jxr_comment">// some unassigned repo observer roles.</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a>          setupRepository( <span class="jxr_string">"central"</span> );
<a class="jxr_linenumber" name="L62" href="#L62">62</a>          setupRepository( <span class="jxr_string">"corporate"</span> );
<a class="jxr_linenumber" name="L63" href="#L63">63</a>          setupRepository( <span class="jxr_string">"internal"</span> );
<a class="jxr_linenumber" name="L64" href="#L64">64</a>          setupRepository( <span class="jxr_string">"snapshots"</span> );
<a class="jxr_linenumber" name="L65" href="#L65">65</a>          setupRepository( <span class="jxr_string">"secret"</span> );
<a class="jxr_linenumber" name="L66" href="#L66">66</a>  
<a class="jxr_linenumber" name="L67" href="#L67">67</a>          <em class="jxr_comment">// some assigned repo observer roles.</em>
<a class="jxr_linenumber" name="L68" href="#L68">68</a>          assignRepositoryObserverRole( USER_ALPACA, <span class="jxr_string">"corporate"</span> );
<a class="jxr_linenumber" name="L69" href="#L69">69</a>          assignRepositoryObserverRole( USER_ALPACA, <span class="jxr_string">"central"</span> );
<a class="jxr_linenumber" name="L70" href="#L70">70</a>          assignRepositoryObserverRole( USER_GUEST, <span class="jxr_string">"corporate"</span> );
<a class="jxr_linenumber" name="L71" href="#L71">71</a>          <em class="jxr_comment">// the global repo observer role.</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a>          assignGlobalRepositoryObserverRole( USER_ADMIN );
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  
<a class="jxr_linenumber" name="L74" href="#L74">74</a>          assertRepoIds( <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"central"</span>, <span class="jxr_string">"corporate"</span> }, userRepos.getObservableRepositoryIds( USER_ALPACA ) );
<a class="jxr_linenumber" name="L75" href="#L75">75</a>          assertRepoIds( <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"coporate"</span> }, userRepos.getObservableRepositoryIds( USER_GUEST ) );
<a class="jxr_linenumber" name="L76" href="#L76">76</a>          assertRepoIds( <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"central"</span>, <span class="jxr_string">"internal"</span>, <span class="jxr_string">"corporate"</span>, <span class="jxr_string">"snapshots"</span>, <span class="jxr_string">"secret"</span> },
<a class="jxr_linenumber" name="L77" href="#L77">77</a>                         userRepos.getObservableRepositoryIds( USER_ADMIN ) );
<a class="jxr_linenumber" name="L78" href="#L78">78</a>  
<a class="jxr_linenumber" name="L79" href="#L79">79</a>      }
<a class="jxr_linenumber" name="L80" href="#L80">80</a>  
<a class="jxr_linenumber" name="L81" href="#L81">81</a>      @After
<a class="jxr_linenumber" name="L82" href="#L82">82</a>      @Override
<a class="jxr_linenumber" name="L83" href="#L83">83</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown()
<a class="jxr_linenumber" name="L84" href="#L84">84</a>          <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="L85" href="#L85">85</a>      {
<a class="jxr_linenumber" name="L86" href="#L86">86</a>          <strong class="jxr_keyword">super</strong>.tearDown();
<a class="jxr_linenumber" name="L87" href="#L87">87</a>          restoreGuestInitialValues( USER_ALPACA );
<a class="jxr_linenumber" name="L88" href="#L88">88</a>          restoreGuestInitialValues( USER_GUEST );
<a class="jxr_linenumber" name="L89" href="#L89">89</a>          restoreGuestInitialValues( USER_ADMIN );
<a class="jxr_linenumber" name="L90" href="#L90">90</a>      }
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  
<a class="jxr_linenumber" name="L92" href="#L92">92</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertRepoIds( String[] expectedRepoIds, List&lt;String&gt; observableRepositoryIds )
<a class="jxr_linenumber" name="L93" href="#L93">93</a>      {
<a class="jxr_linenumber" name="L94" href="#L94">94</a>          assertNotNull( <span class="jxr_string">"Observable Repository Ids cannot be null."</span>, observableRepositoryIds );
<a class="jxr_linenumber" name="L95" href="#L95">95</a>  
<a class="jxr_linenumber" name="L96" href="#L96">96</a>          <strong class="jxr_keyword">if</strong> ( expectedRepoIds.length != observableRepositoryIds.size() )
<a class="jxr_linenumber" name="L97" href="#L97">97</a>          {
<a class="jxr_linenumber" name="L98" href="#L98">98</a>              fail( <span class="jxr_string">"Size of Observable Repository Ids wrong, expected &lt;"</span> + expectedRepoIds.length + <span class="jxr_string">"&gt; but got &lt;"</span>
<a class="jxr_linenumber" name="L99" href="#L99">99</a>                        + observableRepositoryIds.size() + <span class="jxr_string">"&gt; instead. \nExpected: ["</span>
<a class="jxr_linenumber" name="L100" href="#L100">100</a>                       + StringUtils.join( expectedRepoIds, <span class="jxr_string">","</span> ) + <span class="jxr_string">"]\nActual: ["</span>
<a class="jxr_linenumber" name="L101" href="#L101">101</a>                       + StringUtils.join( observableRepositoryIds.iterator(), <span class="jxr_string">","</span> ) + <span class="jxr_string">"]"</span> );
<a class="jxr_linenumber" name="L102" href="#L102">102</a>         }
<a class="jxr_linenumber" name="L103" href="#L103">103</a>     }
<a class="jxr_linenumber" name="L104" href="#L104">104</a> 
<a class="jxr_linenumber" name="L105" href="#L105">105</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assignGlobalRepositoryObserverRole( String principal )
<a class="jxr_linenumber" name="L106" href="#L106">106</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="L107" href="#L107">107</a>     {
<a class="jxr_linenumber" name="L108" href="#L108">108</a>         roleManager.assignRole( ArchivaRoleConstants.TEMPLATE_GLOBAL_REPOSITORY_OBSERVER, principal );
<a class="jxr_linenumber" name="L109" href="#L109">109</a>     }
<a class="jxr_linenumber" name="L110" href="#L110">110</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2006&#x2013;2022 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
