<!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>ProxyConnectorRuleServiceTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../testapidocs/org/apache/archiva/rest/services/ProxyConnectorRuleServiceTest.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.<strong class="jxr_keyword">rest</strong>.services;
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</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="L12" href="#L12">12</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ProxyConnector;
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ProxyConnectorRule;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.admin.model.beans.ProxyConnectorRuleType;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.<strong class="jxr_keyword">rest</strong>.api.services.ProxyConnectorRuleService;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <em class="jxr_javadoccomment"> * @author Olivier Lamy</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/archiva/rest/services/ProxyConnectorRuleServiceTest.html">ProxyConnectorRuleServiceTest</a>
<a class="jxr_linenumber" name="L33" href="#L33">33</a>      <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/archiva/rest/services/AbstractArchivaRestTest.html">AbstractArchivaRestTest</a>
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  {
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
<a class="jxr_linenumber" name="L36" href="#L36">36</a>      @Test
<a class="jxr_linenumber" name="L37" href="#L37">37</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addProxyConnectorRule()
<a class="jxr_linenumber" name="L38" href="#L38">38</a>          <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="L39" href="#L39">39</a>      {
<a class="jxr_linenumber" name="L40" href="#L40">40</a>          ProxyConnector proxyConnector = <strong class="jxr_keyword">new</strong> ProxyConnector();
<a class="jxr_linenumber" name="L41" href="#L41">41</a>          proxyConnector.setSourceRepoId( <span class="jxr_string">"snapshots"</span> );
<a class="jxr_linenumber" name="L42" href="#L42">42</a>          proxyConnector.setTargetRepoId( <span class="jxr_string">"central"</span> );
<a class="jxr_linenumber" name="L43" href="#L43">43</a>  
<a class="jxr_linenumber" name="L44" href="#L44">44</a>          ProxyConnectorRuleService service = getProxyConnectorRuleService( authorizationHeader );
<a class="jxr_linenumber" name="L45" href="#L45">45</a>  
<a class="jxr_linenumber" name="L46" href="#L46">46</a>          ProxyConnectorRule rule = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L47" href="#L47">47</a>          <strong class="jxr_keyword">try</strong>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>          {
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  
<a class="jxr_linenumber" name="L50" href="#L50">50</a>              <strong class="jxr_keyword">int</strong> size = service.getProxyConnectorRules().size();
<a class="jxr_linenumber" name="L51" href="#L51">51</a>              assertEquals( 0, size );
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  
<a class="jxr_linenumber" name="L53" href="#L53">53</a>              getProxyConnectorService().addProxyConnector( proxyConnector );
<a class="jxr_linenumber" name="L54" href="#L54">54</a>  
<a class="jxr_linenumber" name="L55" href="#L55">55</a>              rule = <strong class="jxr_keyword">new</strong> ProxyConnectorRule( <span class="jxr_string">"org/apache/maven"</span>, ProxyConnectorRuleType.BLACK_LIST,
<a class="jxr_linenumber" name="L56" href="#L56">56</a>                                             Arrays.asList( proxyConnector ) );
<a class="jxr_linenumber" name="L57" href="#L57">57</a>  
<a class="jxr_linenumber" name="L58" href="#L58">58</a>              service.addProxyConnectorRule( rule );
<a class="jxr_linenumber" name="L59" href="#L59">59</a>              assertEquals( size + 1, service.getProxyConnectorRules().size() );
<a class="jxr_linenumber" name="L60" href="#L60">60</a>  
<a class="jxr_linenumber" name="L61" href="#L61">61</a>              rule = service.getProxyConnectorRules().get( 0 );
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  
<a class="jxr_linenumber" name="L63" href="#L63">63</a>              assertEquals( <span class="jxr_string">"org/apache/maven"</span>, rule.getPattern() );
<a class="jxr_linenumber" name="L64" href="#L64">64</a>              assertEquals( 1, rule.getProxyConnectors().size() );
<a class="jxr_linenumber" name="L65" href="#L65">65</a>              assertEquals( <span class="jxr_string">"snapshots"</span>, rule.getProxyConnectors().get( 0 ).getSourceRepoId() );
<a class="jxr_linenumber" name="L66" href="#L66">66</a>              assertEquals( <span class="jxr_string">"central"</span>, rule.getProxyConnectors().get( 0 ).getTargetRepoId() );
<a class="jxr_linenumber" name="L67" href="#L67">67</a>              assertEquals( ProxyConnectorRuleType.BLACK_LIST, rule.getProxyConnectorRuleType() );
<a class="jxr_linenumber" name="L68" href="#L68">68</a>          }
<a class="jxr_linenumber" name="L69" href="#L69">69</a>          <strong class="jxr_keyword">finally</strong>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>          {
<a class="jxr_linenumber" name="L71" href="#L71">71</a>              service.deleteProxyConnectorRule( rule );
<a class="jxr_linenumber" name="L72" href="#L72">72</a>              getProxyConnectorService().deleteProxyConnector( proxyConnector );
<a class="jxr_linenumber" name="L73" href="#L73">73</a>          }
<a class="jxr_linenumber" name="L74" href="#L74">74</a>      }
<a class="jxr_linenumber" name="L75" href="#L75">75</a>  }
<a class="jxr_linenumber" name="L76" href="#L76">76</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>
