<!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>MetadataTransferTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/apache/archiva/proxy/MetadataTransferTest.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.archiva.proxy;
<a class="jxr_linenumber" name="2" href="#2">2</a>   
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *  <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="21" href="#21">21</a>  
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.common.utils.VersionUtil;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.configuration.ProxyConnectorConfiguration;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.maven2.metadata.MavenMetadataReader;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.ArchivaRepositoryMetadata;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.Plugin;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.ProjectReference;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.SnapshotVersion;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.model.VersionedReference;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.CachedFailuresPolicy;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ChecksumPolicy;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.ReleasesPolicy;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.policies.SnapshotsPolicy;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.MetadataTools;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataException;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.archiva.repository.metadata.RepositoryMetadataWriter;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.maven.wagon.TransferFailedException;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.custommonkey.xmlunit.DetailedDiff;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.custommonkey.xmlunit.Diff;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="42" href="#42">42</a>  
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> javax.inject.Inject;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> javax.inject.Named;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> java.io.StringWriter;
<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="49" href="#49">49</a>  
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.*;
<a class="jxr_linenumber" name="51" href="#51">51</a>  
<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * MetadataTransferTest - Tests the various fetching / merging concepts surrounding the maven-metadata.xml files</em>
<a class="jxr_linenumber" name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * present in the repository.</em>
<a class="jxr_linenumber" name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * Test Case Naming is as follows.</em>
<a class="jxr_linenumber" name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;</em>
<a class="jxr_linenumber" name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> * public void testGet[Release|Snapshot|Project]Metadata[Not]Proxied[Not|On]Local[Not|On|Multiple]Remote</em>
<a class="jxr_linenumber" name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> * &lt;/code&gt;</em>
<a class="jxr_linenumber" name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="63" href="#63">63</a>  <em class="jxr_javadoccomment"> * Which should leave the following matrix of test cases.</em>
<a class="jxr_linenumber" name="64" href="#64">64</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="65" href="#65">65</a>  <em class="jxr_javadoccomment"> *   Metadata  | Proxied  | Local | Remote</em>
<a class="jxr_linenumber" name="66" href="#66">66</a>  <em class="jxr_javadoccomment"> *   ----------+----------+-------+---------</em>
<a class="jxr_linenumber" name="67" href="#67">67</a>  <em class="jxr_javadoccomment"> *   Release   | Not      | Not   | n/a (1)</em>
<a class="jxr_linenumber" name="68" href="#68">68</a>  <em class="jxr_javadoccomment"> *   Release   | Not      | On    | n/a (1)</em>
<a class="jxr_linenumber" name="69" href="#69">69</a>  <em class="jxr_javadoccomment"> *   Release   |          | Not   | Not</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment"> *   Release   |          | Not   | On</em>
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment"> *   Release   |          | Not   | Multiple</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> *   Release   |          | On    | Not</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>  <em class="jxr_javadoccomment"> *   Release   |          | On    | On</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>  <em class="jxr_javadoccomment"> *   Release   |          | On    | Multiple</em>
<a class="jxr_linenumber" name="75" href="#75">75</a>  <em class="jxr_javadoccomment"> *   Snapshot  | Not      | Not   | n/a (1)</em>
<a class="jxr_linenumber" name="76" href="#76">76</a>  <em class="jxr_javadoccomment"> *   Snapshot  | Not      | On    | n/a (1)</em>
<a class="jxr_linenumber" name="77" href="#77">77</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | Not   | Not</em>
<a class="jxr_linenumber" name="78" href="#78">78</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | Not   | On</em>
<a class="jxr_linenumber" name="79" href="#79">79</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | Not   | Multiple</em>
<a class="jxr_linenumber" name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | On    | Not</em>
<a class="jxr_linenumber" name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | On    | On</em>
<a class="jxr_linenumber" name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> *   Snapshot  |          | On    | Multiple</em>
<a class="jxr_linenumber" name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> *   Project   | Not      | Not   | n/a (1)</em>
<a class="jxr_linenumber" name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> *   Project   | Not      | On    | n/a (1)</em>
<a class="jxr_linenumber" name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> *   Project   |          | Not   | Not</em>
<a class="jxr_linenumber" name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> *   Project   |          | Not   | On</em>
<a class="jxr_linenumber" name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> *   Project   |          | Not   | Multiple</em>
<a class="jxr_linenumber" name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> *   Project   |          | On    | Not</em>
<a class="jxr_linenumber" name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> *   Project   |          | On    | On</em>
<a class="jxr_linenumber" name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> *   Project   |          | On    | Multiple</em>
<a class="jxr_linenumber" name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="92" href="#92">92</a>  <em class="jxr_javadoccomment"> * (1) If it isn't proxied, no point in having a remote.</em>
<a class="jxr_linenumber" name="93" href="#93">93</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="94" href="#94">94</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="95" href="#95">95</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="96" href="#96">96</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="97" href="#97">97</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/archiva/proxy/MetadataTransferTest.html">MetadataTransferTest</a>
<a class="jxr_linenumber" name="98" href="#98">98</a>      <strong class="jxr_keyword">extends</strong> <a href="../../../../org/apache/archiva/proxy/AbstractProxyTestCase.html">AbstractProxyTestCase</a>
<a class="jxr_linenumber" name="99" href="#99">99</a>  {
<a class="jxr_linenumber" name="100" href="#100">100</a> 
<a class="jxr_linenumber" name="101" href="#101">101</a>     @Inject
<a class="jxr_linenumber" name="102" href="#102">102</a>     @Named(value = <span class="jxr_string">"metadataTools#mocked"</span>)
<a class="jxr_linenumber" name="103" href="#103">103</a>     <strong class="jxr_keyword">private</strong> MetadataTools metadataTools;
<a class="jxr_linenumber" name="104" href="#104">104</a> 
<a class="jxr_linenumber" name="105" href="#105">105</a> 
<a class="jxr_linenumber" name="106" href="#106">106</a>     @Test
<a class="jxr_linenumber" name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedNotLocalOnRemoteConnectoDisabled()
<a class="jxr_linenumber" name="108" href="#108">108</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="109" href="#109">109</a>     {
<a class="jxr_linenumber" name="110" href="#110">110</a>         <em class="jxr_comment">// New project metadata that does not exist locally but exists on remote.</em>
<a class="jxr_linenumber" name="111" href="#111">111</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-found-in-proxy/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="112" href="#112">112</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="113" href="#113">113</a> 
<a class="jxr_linenumber" name="114" href="#114">114</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="115" href="#115">115</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="116" href="#116">116</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, <strong class="jxr_keyword">true</strong> );
<a class="jxr_linenumber" name="117" href="#117">117</a> 
<a class="jxr_linenumber" name="118" href="#118">118</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="119" href="#119">119</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="120" href="#120">120</a> 
<a class="jxr_linenumber" name="121" href="#121">121</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="122" href="#122">122</a> 
<a class="jxr_linenumber" name="123" href="#123">123</a>         ProjectReference metadata = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="124" href="#124">124</a> 
<a class="jxr_linenumber" name="125" href="#125">125</a>         File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository,
<a class="jxr_linenumber" name="126" href="#126">126</a>                                                                      managedDefaultRepository.toMetadataPath(
<a class="jxr_linenumber" name="127" href="#127">127</a>                                                                          metadata ) );
<a class="jxr_linenumber" name="128" href="#128">128</a> 
<a class="jxr_linenumber" name="129" href="#129">129</a>         assertNull( <span class="jxr_string">"Should not have downloaded a file."</span>, downloadedFile );
<a class="jxr_linenumber" name="130" href="#130">130</a>         assertNoTempFiles( expectedFile );
<a class="jxr_linenumber" name="131" href="#131">131</a>     }
<a class="jxr_linenumber" name="132" href="#132">132</a> 
<a class="jxr_linenumber" name="133" href="#133">133</a>     <em class="jxr_comment">// TODO: same test for other fetch* methods</em>
<a class="jxr_linenumber" name="134" href="#134">134</a>     @Test
<a class="jxr_linenumber" name="135" href="#135">135</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testFetchFromTwoProxiesWhenFirstConnectionFails()
<a class="jxr_linenumber" name="136" href="#136">136</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="137" href="#137">137</a>     {
<a class="jxr_linenumber" name="138" href="#138">138</a>         <em class="jxr_comment">// Project metadata that does not exist locally, but has multiple versions in remote repos</em>
<a class="jxr_linenumber" name="139" href="#139">139</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-layout/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="140" href="#140">140</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="141" href="#141">141</a> 
<a class="jxr_linenumber" name="142" href="#142">142</a>         saveRemoteRepositoryConfig( <span class="jxr_string">"badproxied1"</span>, <span class="jxr_string">"Bad Proxied 1"</span>, <span class="jxr_string">"test://bad.machine.com/repo/"</span>, <span class="jxr_string">"default"</span> );
<a class="jxr_linenumber" name="143" href="#143">143</a> 
<a class="jxr_linenumber" name="144" href="#144">144</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="145" href="#145">145</a>         saveConnector( ID_DEFAULT_MANAGED, <span class="jxr_string">"badproxied1"</span>, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="146" href="#146">146</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="147" href="#147">147</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="148" href="#148">148</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="149" href="#149">149</a> 
<a class="jxr_linenumber" name="150" href="#150">150</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="151" href="#151">151</a>         assertNoRepoMetadata( <span class="jxr_string">"badproxied1"</span>, requestedResource );
<a class="jxr_linenumber" name="152" href="#152">152</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="153" href="#153">153</a> 
<a class="jxr_linenumber" name="154" href="#154">154</a>         <em class="jxr_comment">// ensure that a hard failure in the first proxy connector is skipped and the second repository checked</em>
<a class="jxr_linenumber" name="155" href="#155">155</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir.getAbsoluteFile(),
<a class="jxr_linenumber" name="156" href="#156">156</a>                                       metadataTools.getRepositorySpecificName( <span class="jxr_string">"badproxied1"</span>, requestedResource ) );
<a class="jxr_linenumber" name="157" href="#157">157</a>         wagonMock.get( requestedResource, <strong class="jxr_keyword">new</strong> File( expectedFile.getParentFile(), expectedFile.getName() + <span class="jxr_string">".tmp"</span> ) );
<a class="jxr_linenumber" name="158" href="#158">158</a> 
<a class="jxr_linenumber" name="159" href="#159">159</a>         wagonMockControl.setMatcher( customWagonGetMatcher );
<a class="jxr_linenumber" name="160" href="#160">160</a> 
<a class="jxr_linenumber" name="161" href="#161">161</a>         wagonMockControl.setThrowable( <strong class="jxr_keyword">new</strong> TransferFailedException( <span class="jxr_string">"can't connect"</span> ) );
<a class="jxr_linenumber" name="162" href="#162">162</a> 
<a class="jxr_linenumber" name="163" href="#163">163</a>         wagonMockControl.replay();
<a class="jxr_linenumber" name="164" href="#164">164</a> 
<a class="jxr_linenumber" name="165" href="#165">165</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="166" href="#166">166</a> 
<a class="jxr_linenumber" name="167" href="#167">167</a>         wagonMockControl.verify();
<a class="jxr_linenumber" name="168" href="#168">168</a> 
<a class="jxr_linenumber" name="169" href="#169">169</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.1"</span> }, <span class="jxr_string">"1.0.1"</span>, <span class="jxr_string">"1.0.1"</span> );
<a class="jxr_linenumber" name="170" href="#170">170</a>         assertNoRepoMetadata( <span class="jxr_string">"badproxied1"</span>, requestedResource );
<a class="jxr_linenumber" name="171" href="#171">171</a>         assertRepoProjectMetadata( ID_PROXIED2, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.1"</span> } );
<a class="jxr_linenumber" name="172" href="#172">172</a>     }
<a class="jxr_linenumber" name="173" href="#173">173</a> 
<a class="jxr_linenumber" name="174" href="#174">174</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * Attempt to get the project metadata for non-existant artifact.</em>
<a class="jxr_linenumber" name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is not created on the managed repository, nor returned</em>
<a class="jxr_linenumber" name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * to the requesting client.</em>
<a class="jxr_linenumber" name="179" href="#179">179</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="180" href="#180">180</a>     @Test
<a class="jxr_linenumber" name="181" href="#181">181</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataNotProxiedNotLocal()
<a class="jxr_linenumber" name="182" href="#182">182</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="183" href="#183">183</a>     {
<a class="jxr_linenumber" name="184" href="#184">184</a>         <em class="jxr_comment">// The artifactId "get-default-metadata-nonexistant" does not exist (intentionally).</em>
<a class="jxr_linenumber" name="185" href="#185">185</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-metadata-nonexistant/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="186" href="#186">186</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="187" href="#187">187</a> 
<a class="jxr_linenumber" name="188" href="#188">188</a>         config.getConfiguration().setProxyConnectors( <strong class="jxr_keyword">new</strong> ArrayList&lt;ProxyConnectorConfiguration&gt;( ) );
<a class="jxr_linenumber" name="189" href="#189">189</a> 
<a class="jxr_linenumber" name="190" href="#190">190</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="191" href="#191">191</a> 
<a class="jxr_linenumber" name="192" href="#192">192</a>         <em class="jxr_comment">// No proxy setup, nothing fetched, failure expected.</em>
<a class="jxr_linenumber" name="193" href="#193">193</a>         assertFetchProjectOrGroupFailed( requestedResource );
<a class="jxr_linenumber" name="194" href="#194">194</a> 
<a class="jxr_linenumber" name="195" href="#195">195</a>         <em class="jxr_comment">// No local artifactId, and no fetch, should equal no metadata file downloaded / created / updated.</em>
<a class="jxr_linenumber" name="196" href="#196">196</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="197" href="#197">197</a>     }
<a class="jxr_linenumber" name="198" href="#198">198</a> 
<a class="jxr_linenumber" name="199" href="#199">199</a>     @Test
<a class="jxr_linenumber" name="200" href="#200">200</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataNotProxiedOnLocal()
<a class="jxr_linenumber" name="201" href="#201">201</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="202" href="#202">202</a>     {
<a class="jxr_linenumber" name="203" href="#203">203</a> 
<a class="jxr_linenumber" name="204" href="#204">204</a>         <em class="jxr_comment">// Project metadata that exists and has multiple versions</em>
<a class="jxr_linenumber" name="205" href="#205">205</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-project-metadata/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="206" href="#206">206</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="207" href="#207">207</a> 
<a class="jxr_linenumber" name="208" href="#208">208</a>         config.getConfiguration().setProxyConnectors( <strong class="jxr_keyword">new</strong> ArrayList&lt;ProxyConnectorConfiguration&gt;( ) );
<a class="jxr_linenumber" name="209" href="#209">209</a> 
<a class="jxr_linenumber" name="210" href="#210">210</a>         assertResourceExists( requestedResource );
<a class="jxr_linenumber" name="211" href="#211">211</a> 
<a class="jxr_linenumber" name="212" href="#212">212</a>         <em class="jxr_comment">// No proxy setup, nothing fetched from remote, but local exists.</em>
<a class="jxr_linenumber" name="213" href="#213">213</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="214" href="#214">214</a> 
<a class="jxr_linenumber" name="215" href="#215">215</a>         <em class="jxr_comment">// Nothing fetched.  Should only contain contents of what is in the repository.</em>
<a class="jxr_linenumber" name="216" href="#216">216</a>         <em class="jxr_comment">// A metadata update is not performed in this use case.  Local metadata content is only</em>
<a class="jxr_linenumber" name="217" href="#217">217</a>         <em class="jxr_comment">// updated via the metadata updater consumer.</em>
<a class="jxr_linenumber" name="218" href="#218">218</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span> }, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="219" href="#219">219</a>     }
<a class="jxr_linenumber" name="220" href="#220">220</a> 
<a class="jxr_linenumber" name="221" href="#221">221</a>     @Test
<a class="jxr_linenumber" name="222" href="#222">222</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedNotLocalMultipleRemotes()
<a class="jxr_linenumber" name="223" href="#223">223</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="224" href="#224">224</a>     {
<a class="jxr_linenumber" name="225" href="#225">225</a>         <em class="jxr_comment">// Project metadata that does not exist locally, but has multiple versions in remote repos</em>
<a class="jxr_linenumber" name="226" href="#226">226</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-layout/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="227" href="#227">227</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="228" href="#228">228</a> 
<a class="jxr_linenumber" name="229" href="#229">229</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="230" href="#230">230</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="231" href="#231">231</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="232" href="#232">232</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="233" href="#233">233</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="234" href="#234">234</a> 
<a class="jxr_linenumber" name="235" href="#235">235</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="236" href="#236">236</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="237" href="#237">237</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="238" href="#238">238</a> 
<a class="jxr_linenumber" name="239" href="#239">239</a>         <em class="jxr_comment">// Two proxies setup, metadata fetched from both remotes.</em>
<a class="jxr_linenumber" name="240" href="#240">240</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="241" href="#241">241</a> 
<a class="jxr_linenumber" name="242" href="#242">242</a>         <em class="jxr_comment">// Nothing fetched.  Should only contain contents of what is in the repository.</em>
<a class="jxr_linenumber" name="243" href="#243">243</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span>, <span class="jxr_string">"1.0.1"</span> }, <span class="jxr_string">"1.0.1"</span>, <span class="jxr_string">"1.0.1"</span> );
<a class="jxr_linenumber" name="244" href="#244">244</a>         assertRepoProjectMetadata( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span> } );
<a class="jxr_linenumber" name="245" href="#245">245</a>         assertRepoProjectMetadata( ID_PROXIED2, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.1"</span> } );
<a class="jxr_linenumber" name="246" href="#246">246</a>     }
<a class="jxr_linenumber" name="247" href="#247">247</a> 
<a class="jxr_linenumber" name="248" href="#248">248</a>     @Test
<a class="jxr_linenumber" name="249" href="#249">249</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedNotLocalNotRemote()
<a class="jxr_linenumber" name="250" href="#250">250</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="251" href="#251">251</a>     {
<a class="jxr_linenumber" name="252" href="#252">252</a>         <em class="jxr_comment">// Non-existant project metadata that does not exist locally and doesn't exist on remotes.</em>
<a class="jxr_linenumber" name="253" href="#253">253</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-bogus-artifact/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="254" href="#254">254</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="255" href="#255">255</a> 
<a class="jxr_linenumber" name="256" href="#256">256</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="257" href="#257">257</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="258" href="#258">258</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="259" href="#259">259</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="260" href="#260">260</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="261" href="#261">261</a> 
<a class="jxr_linenumber" name="262" href="#262">262</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="263" href="#263">263</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="264" href="#264">264</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="265" href="#265">265</a> 
<a class="jxr_linenumber" name="266" href="#266">266</a>         <em class="jxr_comment">// Two proxies setup, nothing fetched from remotes, local does not exist.</em>
<a class="jxr_linenumber" name="267" href="#267">267</a>         assertFetchProjectOrGroupFailed( requestedResource );
<a class="jxr_linenumber" name="268" href="#268">268</a> 
<a class="jxr_linenumber" name="269" href="#269">269</a>         <em class="jxr_comment">// Nothing fetched.  Nothing should exist.</em>
<a class="jxr_linenumber" name="270" href="#270">270</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="271" href="#271">271</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="272" href="#272">272</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="273" href="#273">273</a>     }
<a class="jxr_linenumber" name="274" href="#274">274</a> 
<a class="jxr_linenumber" name="275" href="#275">275</a>     @Test
<a class="jxr_linenumber" name="276" href="#276">276</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedNotLocalOnRemote()
<a class="jxr_linenumber" name="277" href="#277">277</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="278" href="#278">278</a>     {
<a class="jxr_linenumber" name="279" href="#279">279</a>         <em class="jxr_comment">// New project metadata that does not exist locally but exists on remote.</em>
<a class="jxr_linenumber" name="280" href="#280">280</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-found-in-proxy/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="281" href="#281">281</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="282" href="#282">282</a> 
<a class="jxr_linenumber" name="283" href="#283">283</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="284" href="#284">284</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="285" href="#285">285</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="286" href="#286">286</a> 
<a class="jxr_linenumber" name="287" href="#287">287</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="288" href="#288">288</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="289" href="#289">289</a> 
<a class="jxr_linenumber" name="290" href="#290">290</a>         <em class="jxr_comment">// One proxy setup, metadata fetched from remote, local does not exist.</em>
<a class="jxr_linenumber" name="291" href="#291">291</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="292" href="#292">292</a> 
<a class="jxr_linenumber" name="293" href="#293">293</a>         <em class="jxr_comment">// Remote fetched.  Local created/updated.</em>
<a class="jxr_linenumber" name="294" href="#294">294</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.5"</span> }, <span class="jxr_string">"1.0.5"</span>, <span class="jxr_string">"1.0.5"</span> );
<a class="jxr_linenumber" name="295" href="#295">295</a>         assertRepoProjectMetadata( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.5"</span> } );
<a class="jxr_linenumber" name="296" href="#296">296</a>     }
<a class="jxr_linenumber" name="297" href="#297">297</a> 
<a class="jxr_linenumber" name="298" href="#298">298</a>     @Test
<a class="jxr_linenumber" name="299" href="#299">299</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedOnLocalMultipleRemote()
<a class="jxr_linenumber" name="300" href="#300">300</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="301" href="#301">301</a>     {
<a class="jxr_linenumber" name="302" href="#302">302</a>         <em class="jxr_comment">// Project metadata that exist locally, and has multiple versions in remote repos</em>
<a class="jxr_linenumber" name="303" href="#303">303</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-on-multiple-repos/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="304" href="#304">304</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="305" href="#305">305</a> 
<a class="jxr_linenumber" name="306" href="#306">306</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="307" href="#307">307</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="308" href="#308">308</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="309" href="#309">309</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="310" href="#310">310</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="311" href="#311">311</a> 
<a class="jxr_linenumber" name="312" href="#312">312</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span> }, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="313" href="#313">313</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="314" href="#314">314</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="315" href="#315">315</a> 
<a class="jxr_linenumber" name="316" href="#316">316</a>         <em class="jxr_comment">// Two proxies setup, metadata fetched from both remotes.</em>
<a class="jxr_linenumber" name="317" href="#317">317</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="318" href="#318">318</a> 
<a class="jxr_linenumber" name="319" href="#319">319</a>         <em class="jxr_comment">// metadata fetched from both repos, and merged with local version.</em>
<a class="jxr_linenumber" name="320" href="#320">320</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span>, <span class="jxr_string">"1.0.1"</span>, <span class="jxr_string">"2.0"</span> }, <span class="jxr_string">"2.0"</span>, <span class="jxr_string">"2.0"</span> );
<a class="jxr_linenumber" name="321" href="#321">321</a>         assertRepoProjectMetadata( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span>, <span class="jxr_string">"2.0"</span> } );
<a class="jxr_linenumber" name="322" href="#322">322</a>         assertRepoProjectMetadata( ID_PROXIED2, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0"</span>, <span class="jxr_string">"1.0.1"</span> } );
<a class="jxr_linenumber" name="323" href="#323">323</a>     }
<a class="jxr_linenumber" name="324" href="#324">324</a> 
<a class="jxr_linenumber" name="325" href="#325">325</a>     @Test
<a class="jxr_linenumber" name="326" href="#326">326</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedOnLocalNotRemote()
<a class="jxr_linenumber" name="327" href="#327">327</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="328" href="#328">328</a>     {
<a class="jxr_linenumber" name="329" href="#329">329</a> 
<a class="jxr_linenumber" name="330" href="#330">330</a>         <em class="jxr_comment">// Project metadata that exist locally, and does not exist in remote repos.</em>
<a class="jxr_linenumber" name="331" href="#331">331</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-not-on-remotes/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="332" href="#332">332</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="333" href="#333">333</a> 
<a class="jxr_linenumber" name="334" href="#334">334</a> 
<a class="jxr_linenumber" name="335" href="#335">335</a>         config.getConfiguration().setProxyConnectors( <strong class="jxr_keyword">new</strong> ArrayList&lt;ProxyConnectorConfiguration&gt;( ) );
<a class="jxr_linenumber" name="336" href="#336">336</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="337" href="#337">337</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="338" href="#338">338</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="339" href="#339">339</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="340" href="#340">340</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="341" href="#341">341</a> 
<a class="jxr_linenumber" name="342" href="#342">342</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0-beta-2"</span> }, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="343" href="#343">343</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="344" href="#344">344</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="345" href="#345">345</a> 
<a class="jxr_linenumber" name="346" href="#346">346</a>         <em class="jxr_comment">// Two proxies setup, metadata fetch from remotes fail (because they dont exist).</em>
<a class="jxr_linenumber" name="347" href="#347">347</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="348" href="#348">348</a> 
<a class="jxr_linenumber" name="349" href="#349">349</a>         <em class="jxr_comment">// metadata not fetched from both repos, and local version exists.</em>
<a class="jxr_linenumber" name="350" href="#350">350</a>         <em class="jxr_comment">// Since there was no updated metadata content from a remote/proxy, a metadata update on</em>
<a class="jxr_linenumber" name="351" href="#351">351</a>         <em class="jxr_comment">// the local file never ran.  Local only updates are performed via the metadata updater consumer.</em>
<a class="jxr_linenumber" name="352" href="#352">352</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0-beta-2"</span> }, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="353" href="#353">353</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="354" href="#354">354</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="355" href="#355">355</a>     }
<a class="jxr_linenumber" name="356" href="#356">356</a> 
<a class="jxr_linenumber" name="357" href="#357">357</a>     @Test
<a class="jxr_linenumber" name="358" href="#358">358</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetProjectMetadataProxiedOnLocalOnRemote()
<a class="jxr_linenumber" name="359" href="#359">359</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="360" href="#360">360</a>     {
<a class="jxr_linenumber" name="361" href="#361">361</a>         <em class="jxr_comment">// Project metadata that exist locally and exists on remote.</em>
<a class="jxr_linenumber" name="362" href="#362">362</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-on-local-on-remote/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="363" href="#363">363</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="364" href="#364">364</a> 
<a class="jxr_linenumber" name="365" href="#365">365</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="366" href="#366">366</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="367" href="#367">367</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="368" href="#368">368</a> 
<a class="jxr_linenumber" name="369" href="#369">369</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.8"</span>, <span class="jxr_string">"1.0.22"</span> }, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="370" href="#370">370</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="371" href="#371">371</a> 
<a class="jxr_linenumber" name="372" href="#372">372</a>         <em class="jxr_comment">// One proxy setup, metadata fetched from remote, local exists.</em>
<a class="jxr_linenumber" name="373" href="#373">373</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="374" href="#374">374</a> 
<a class="jxr_linenumber" name="375" href="#375">375</a>         <em class="jxr_comment">// Remote fetched.  Local updated.</em>
<a class="jxr_linenumber" name="376" href="#376">376</a>         assertProjectMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.8"</span>, <span class="jxr_string">"1.0.22"</span>, <span class="jxr_string">"2.0"</span> }, <span class="jxr_string">"2.0"</span>, <span class="jxr_string">"2.0"</span> );
<a class="jxr_linenumber" name="377" href="#377">377</a>         assertRepoProjectMetadata( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"1.0.22"</span>, <span class="jxr_string">"2.0"</span> } );
<a class="jxr_linenumber" name="378" href="#378">378</a>     }
<a class="jxr_linenumber" name="379" href="#379">379</a> 
<a class="jxr_linenumber" name="380" href="#380">380</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="381" href="#381">381</a> <em class="jxr_javadoccomment">     * A request for a release maven-metadata.xml file that does not exist locally, and the managed</em>
<a class="jxr_linenumber" name="382" href="#382">382</a> <em class="jxr_javadoccomment">     * repository has no proxied repositories set up.</em>
<a class="jxr_linenumber" name="383" href="#383">383</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is not created on the managed repository, nor returned</em>
<a class="jxr_linenumber" name="385" href="#385">385</a> <em class="jxr_javadoccomment">     * to the requesting client.</em>
<a class="jxr_linenumber" name="386" href="#386">386</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="387" href="#387">387</a>     @Test
<a class="jxr_linenumber" name="388" href="#388">388</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataNotProxiedNotLocal()
<a class="jxr_linenumber" name="389" href="#389">389</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="390" href="#390">390</a>     {
<a class="jxr_linenumber" name="391" href="#391">391</a>         <em class="jxr_comment">// The artifactId "get-default-metadata-nonexistant" does not exist (intentionally).</em>
<a class="jxr_linenumber" name="392" href="#392">392</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-metadata-nonexistant/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="393" href="#393">393</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="394" href="#394">394</a> 
<a class="jxr_linenumber" name="395" href="#395">395</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="396" href="#396">396</a> 
<a class="jxr_linenumber" name="397" href="#397">397</a>         <em class="jxr_comment">// No proxy setup, nothing fetched, failure expected.</em>
<a class="jxr_linenumber" name="398" href="#398">398</a>         assertFetchVersionedFailed( requestedResource );
<a class="jxr_linenumber" name="399" href="#399">399</a> 
<a class="jxr_linenumber" name="400" href="#400">400</a>         <em class="jxr_comment">// No local artifactId, and no fetch, should equal no metadata file downloaded / created / updated.</em>
<a class="jxr_linenumber" name="401" href="#401">401</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="402" href="#402">402</a>     }
<a class="jxr_linenumber" name="403" href="#403">403</a> 
<a class="jxr_linenumber" name="404" href="#404">404</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="405" href="#405">405</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that does exist locally, and the managed</em>
<a class="jxr_linenumber" name="406" href="#406">406</a> <em class="jxr_javadoccomment">     * repository has no proxied repositories set up.</em>
<a class="jxr_linenumber" name="407" href="#407">407</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="408" href="#408">408</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is updated locally, based off of the managed repository</em>
<a class="jxr_linenumber" name="409" href="#409">409</a> <em class="jxr_javadoccomment">     * information, and then returned to the client.</em>
<a class="jxr_linenumber" name="410" href="#410">410</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="411" href="#411">411</a>     @Test
<a class="jxr_linenumber" name="412" href="#412">412</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataNotProxiedOnLocal()
<a class="jxr_linenumber" name="413" href="#413">413</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="414" href="#414">414</a>     {
<a class="jxr_linenumber" name="415" href="#415">415</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-metadata/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="416" href="#416">416</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="417" href="#417">417</a> 
<a class="jxr_linenumber" name="418" href="#418">418</a>         assertResourceExists( requestedResource );
<a class="jxr_linenumber" name="419" href="#419">419</a> 
<a class="jxr_linenumber" name="420" href="#420">420</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="421" href="#421">421</a> 
<a class="jxr_linenumber" name="422" href="#422">422</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="423" href="#423">423</a>     }
<a class="jxr_linenumber" name="424" href="#424">424</a> 
<a class="jxr_linenumber" name="425" href="#425">425</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="426" href="#426">426</a> <em class="jxr_javadoccomment">     * A request for a release maven-metadata.xml file that does not exist on the managed repository, but</em>
<a class="jxr_linenumber" name="427" href="#427">427</a> <em class="jxr_javadoccomment">     * exists on multiple remote repositories.</em>
<a class="jxr_linenumber" name="428" href="#428">428</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="429" href="#429">429</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is downloaded from the remote into the repository specific</em>
<a class="jxr_linenumber" name="430" href="#430">430</a> <em class="jxr_javadoccomment">     * file location on the managed repository, a merge of the contents to the requested</em>
<a class="jxr_linenumber" name="431" href="#431">431</a> <em class="jxr_javadoccomment">     * maven-metadata.xml is performed, and then the merged maven-metadata.xml file is</em>
<a class="jxr_linenumber" name="432" href="#432">432</a> <em class="jxr_javadoccomment">     * returned to the client.</em>
<a class="jxr_linenumber" name="433" href="#433">433</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="434" href="#434">434</a>     @Test
<a class="jxr_linenumber" name="435" href="#435">435</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedNotLocalMultipleRemotes()
<a class="jxr_linenumber" name="436" href="#436">436</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="437" href="#437">437</a>     {
<a class="jxr_linenumber" name="438" href="#438">438</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-layout/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="439" href="#439">439</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="440" href="#440">440</a> 
<a class="jxr_linenumber" name="441" href="#441">441</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="442" href="#442">442</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="443" href="#443">443</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="444" href="#444">444</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="445" href="#445">445</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="446" href="#446">446</a> 
<a class="jxr_linenumber" name="447" href="#447">447</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="448" href="#448">448</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="449" href="#449">449</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="450" href="#450">450</a> 
<a class="jxr_linenumber" name="451" href="#451">451</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="452" href="#452">452</a> 
<a class="jxr_linenumber" name="453" href="#453">453</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="454" href="#454">454</a>         assertRepoReleaseMetadataContents( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="455" href="#455">455</a>         assertRepoReleaseMetadataContents( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="456" href="#456">456</a>     }
<a class="jxr_linenumber" name="457" href="#457">457</a> 
<a class="jxr_linenumber" name="458" href="#458">458</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="459" href="#459">459</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that does not exist locally, nor does it exist in a remote</em>
<a class="jxr_linenumber" name="460" href="#460">460</a> <em class="jxr_javadoccomment">     * proxied repository.</em>
<a class="jxr_linenumber" name="461" href="#461">461</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="462" href="#462">462</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is created locally, based off of managed repository</em>
<a class="jxr_linenumber" name="463" href="#463">463</a> <em class="jxr_javadoccomment">     * information, and then return to the client.</em>
<a class="jxr_linenumber" name="464" href="#464">464</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="465" href="#465">465</a>     @Test
<a class="jxr_linenumber" name="466" href="#466">466</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedNotLocalNotRemote()
<a class="jxr_linenumber" name="467" href="#467">467</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="468" href="#468">468</a>     {
<a class="jxr_linenumber" name="469" href="#469">469</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-bad-metadata/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="470" href="#470">470</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="471" href="#471">471</a> 
<a class="jxr_linenumber" name="472" href="#472">472</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="473" href="#473">473</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="474" href="#474">474</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="475" href="#475">475</a> 
<a class="jxr_linenumber" name="476" href="#476">476</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="477" href="#477">477</a> 
<a class="jxr_linenumber" name="478" href="#478">478</a>         assertFetchProjectOrGroupFailed( requestedResource );
<a class="jxr_linenumber" name="479" href="#479">479</a> 
<a class="jxr_linenumber" name="480" href="#480">480</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="481" href="#481">481</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="482" href="#482">482</a>     }
<a class="jxr_linenumber" name="483" href="#483">483</a> 
<a class="jxr_linenumber" name="484" href="#484">484</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="485" href="#485">485</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that does not exist on the managed repository, but</em>
<a class="jxr_linenumber" name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * exists on 1 remote repository.</em>
<a class="jxr_linenumber" name="487" href="#487">487</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="488" href="#488">488</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file is downloaded from the remote into the repository specific</em>
<a class="jxr_linenumber" name="489" href="#489">489</a> <em class="jxr_javadoccomment">     * file location on the managed repository, a merge of the contents to the requested</em>
<a class="jxr_linenumber" name="490" href="#490">490</a> <em class="jxr_javadoccomment">     * maven-metadata.xml is performed, and then the merged maven-metadata.xml file is</em>
<a class="jxr_linenumber" name="491" href="#491">491</a> <em class="jxr_javadoccomment">     * returned to the client.</em>
<a class="jxr_linenumber" name="492" href="#492">492</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="493" href="#493">493</a>     @Test
<a class="jxr_linenumber" name="494" href="#494">494</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedNotLocalOnRemote()
<a class="jxr_linenumber" name="495" href="#495">495</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="496" href="#496">496</a>     {
<a class="jxr_linenumber" name="497" href="#497">497</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-default-layout/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="498" href="#498">498</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="499" href="#499">499</a> 
<a class="jxr_linenumber" name="500" href="#500">500</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="501" href="#501">501</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="502" href="#502">502</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="503" href="#503">503</a> 
<a class="jxr_linenumber" name="504" href="#504">504</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="505" href="#505">505</a> 
<a class="jxr_linenumber" name="506" href="#506">506</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="507" href="#507">507</a> 
<a class="jxr_linenumber" name="508" href="#508">508</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="509" href="#509">509</a>         assertRepoReleaseMetadataContents( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="510" href="#510">510</a>     }
<a class="jxr_linenumber" name="511" href="#511">511</a> 
<a class="jxr_linenumber" name="512" href="#512">512</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="513" href="#513">513</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that exists in the managed repository, but</em>
<a class="jxr_linenumber" name="514" href="#514">514</a> <em class="jxr_javadoccomment">     * not on any remote repository.</em>
<a class="jxr_linenumber" name="515" href="#515">515</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="516" href="#516">516</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file does not exist on the remote proxied repository and</em>
<a class="jxr_linenumber" name="517" href="#517">517</a> <em class="jxr_javadoccomment">     * is not downloaded.  There is no repository specific metadata file on the managed</em>
<a class="jxr_linenumber" name="518" href="#518">518</a> <em class="jxr_javadoccomment">     * repository.  The managed repository maven-metadata.xml is returned to the</em>
<a class="jxr_linenumber" name="519" href="#519">519</a> <em class="jxr_javadoccomment">     * client as-is.</em>
<a class="jxr_linenumber" name="520" href="#520">520</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="521" href="#521">521</a>     @Test
<a class="jxr_linenumber" name="522" href="#522">522</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedOnLocalNotRemote()
<a class="jxr_linenumber" name="523" href="#523">523</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="524" href="#524">524</a>     {
<a class="jxr_linenumber" name="525" href="#525">525</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-not-on-remotes/1.0-beta-2/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="526" href="#526">526</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="527" href="#527">527</a> 
<a class="jxr_linenumber" name="528" href="#528">528</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="529" href="#529">529</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="530" href="#530">530</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="531" href="#531">531</a> 
<a class="jxr_linenumber" name="532" href="#532">532</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="533" href="#533">533</a> 
<a class="jxr_linenumber" name="534" href="#534">534</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="535" href="#535">535</a> 
<a class="jxr_linenumber" name="536" href="#536">536</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="537" href="#537">537</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="538" href="#538">538</a>     }
<a class="jxr_linenumber" name="539" href="#539">539</a> 
<a class="jxr_linenumber" name="540" href="#540">540</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="541" href="#541">541</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that exists in the managed repository, and on multiple</em>
<a class="jxr_linenumber" name="542" href="#542">542</a> <em class="jxr_javadoccomment">     * remote repositories.</em>
<a class="jxr_linenumber" name="543" href="#543">543</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="544" href="#544">544</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file on the remote proxied repository is downloaded</em>
<a class="jxr_linenumber" name="545" href="#545">545</a> <em class="jxr_javadoccomment">     * and merged into the contents of the existing managed repository copy of</em>
<a class="jxr_linenumber" name="546" href="#546">546</a> <em class="jxr_javadoccomment">     * the maven-metadata.xml file.</em>
<a class="jxr_linenumber" name="547" href="#547">547</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="548" href="#548">548</a>     @Test
<a class="jxr_linenumber" name="549" href="#549">549</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedOnLocalMultipleRemote()
<a class="jxr_linenumber" name="550" href="#550">550</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="551" href="#551">551</a>     {
<a class="jxr_linenumber" name="552" href="#552">552</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-on-multiple-repos/1.0/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="553" href="#553">553</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="554" href="#554">554</a> 
<a class="jxr_linenumber" name="555" href="#555">555</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="556" href="#556">556</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="557" href="#557">557</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="558" href="#558">558</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="559" href="#559">559</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="560" href="#560">560</a> 
<a class="jxr_linenumber" name="561" href="#561">561</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="562" href="#562">562</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="563" href="#563">563</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="564" href="#564">564</a> 
<a class="jxr_linenumber" name="565" href="#565">565</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="566" href="#566">566</a> 
<a class="jxr_linenumber" name="567" href="#567">567</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="568" href="#568">568</a>         assertRepoReleaseMetadataContents( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="569" href="#569">569</a>         assertRepoReleaseMetadataContents( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="570" href="#570">570</a>     }
<a class="jxr_linenumber" name="571" href="#571">571</a> 
<a class="jxr_linenumber" name="572" href="#572">572</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="573" href="#573">573</a> <em class="jxr_javadoccomment">     * A request for a maven-metadata.xml file that exists in the managed repository, and on one</em>
<a class="jxr_linenumber" name="574" href="#574">574</a> <em class="jxr_javadoccomment">     * remote repository.</em>
<a class="jxr_linenumber" name="575" href="#575">575</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a class="jxr_linenumber" name="576" href="#576">576</a> <em class="jxr_javadoccomment">     * Expected result: the maven-metadata.xml file on the remote proxied repository is downloaded</em>
<a class="jxr_linenumber" name="577" href="#577">577</a> <em class="jxr_javadoccomment">     * and merged into the contents of the existing managed repository copy of</em>
<a class="jxr_linenumber" name="578" href="#578">578</a> <em class="jxr_javadoccomment">     * the maven-metadata.xml file.</em>
<a class="jxr_linenumber" name="579" href="#579">579</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="580" href="#580">580</a>     @Test
<a class="jxr_linenumber" name="581" href="#581">581</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetReleaseMetadataProxiedOnLocalOnRemote()
<a class="jxr_linenumber" name="582" href="#582">582</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="583" href="#583">583</a>     {
<a class="jxr_linenumber" name="584" href="#584">584</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-on-local-on-remote/1.0.22/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="585" href="#585">585</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="586" href="#586">586</a> 
<a class="jxr_linenumber" name="587" href="#587">587</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="588" href="#588">588</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="589" href="#589">589</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="590" href="#590">590</a> 
<a class="jxr_linenumber" name="591" href="#591">591</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="592" href="#592">592</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="593" href="#593">593</a> 
<a class="jxr_linenumber" name="594" href="#594">594</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="595" href="#595">595</a> 
<a class="jxr_linenumber" name="596" href="#596">596</a>         assertReleaseMetadataContents( requestedResource );
<a class="jxr_linenumber" name="597" href="#597">597</a>         assertRepoReleaseMetadataContents( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="598" href="#598">598</a>     }
<a class="jxr_linenumber" name="599" href="#599">599</a> 
<a class="jxr_linenumber" name="600" href="#600">600</a>     @Test
<a class="jxr_linenumber" name="601" href="#601">601</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataNotProxiedNotLocal()
<a class="jxr_linenumber" name="602" href="#602">602</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="603" href="#603">603</a>     {
<a class="jxr_linenumber" name="604" href="#604">604</a>         <em class="jxr_comment">// The artifactId "get-default-metadata-nonexistant" does not exist (intentionally).</em>
<a class="jxr_linenumber" name="605" href="#605">605</a>         String requestedResource =
<a class="jxr_linenumber" name="606" href="#606">606</a>             <span class="jxr_string">"org/apache/maven/test/get-default-metadata-nonexistant/1.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="607" href="#607">607</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="608" href="#608">608</a> 
<a class="jxr_linenumber" name="609" href="#609">609</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="610" href="#610">610</a> 
<a class="jxr_linenumber" name="611" href="#611">611</a>         <em class="jxr_comment">// No proxy setup, nothing fetched, no local file, failure expected.</em>
<a class="jxr_linenumber" name="612" href="#612">612</a>         assertFetchVersionedFailed( requestedResource );
<a class="jxr_linenumber" name="613" href="#613">613</a> 
<a class="jxr_linenumber" name="614" href="#614">614</a>         <em class="jxr_comment">// No local artifactId, and no fetch, should equal no metadata file downloaded / created / updated.</em>
<a class="jxr_linenumber" name="615" href="#615">615</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="616" href="#616">616</a>     }
<a class="jxr_linenumber" name="617" href="#617">617</a> 
<a class="jxr_linenumber" name="618" href="#618">618</a>     @Test
<a class="jxr_linenumber" name="619" href="#619">619</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataNotProxiedOnLocal()
<a class="jxr_linenumber" name="620" href="#620">620</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="621" href="#621">621</a>     {
<a class="jxr_linenumber" name="622" href="#622">622</a>         <em class="jxr_comment">// The artifactId exists locally (but not on a remote repo)</em>
<a class="jxr_linenumber" name="623" href="#623">623</a>         String requestedResource =
<a class="jxr_linenumber" name="624" href="#624">624</a>             <span class="jxr_string">"org/apache/maven/test/get-snapshot-on-local-not-remote/2.0-alpha-2-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="625" href="#625">625</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="626" href="#626">626</a> 
<a class="jxr_linenumber" name="627" href="#627">627</a>         assertResourceExists( requestedResource );
<a class="jxr_linenumber" name="628" href="#628">628</a> 
<a class="jxr_linenumber" name="629" href="#629">629</a>         <em class="jxr_comment">// No proxy setup, nothing fetched from remote, local file exists, fetch should succeed.</em>
<a class="jxr_linenumber" name="630" href="#630">630</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="631" href="#631">631</a> 
<a class="jxr_linenumber" name="632" href="#632">632</a>         <em class="jxr_comment">// Local metadata exists, should be updated to reflect the latest release.</em>
<a class="jxr_linenumber" name="633" href="#633">633</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20070821"</span>, <span class="jxr_string">"220304"</span>, 2 );
<a class="jxr_linenumber" name="634" href="#634">634</a>     }
<a class="jxr_linenumber" name="635" href="#635">635</a> 
<a class="jxr_linenumber" name="636" href="#636">636</a>     @Test
<a class="jxr_linenumber" name="637" href="#637">637</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedNotLocalMultipleRemotes()
<a class="jxr_linenumber" name="638" href="#638">638</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="639" href="#639">639</a>     {
<a class="jxr_linenumber" name="640" href="#640">640</a>         String requestedResource =
<a class="jxr_linenumber" name="641" href="#641">641</a>             <span class="jxr_string">"org/apache/maven/test/get-timestamped-snapshot-in-both/1.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="642" href="#642">642</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="643" href="#643">643</a> 
<a class="jxr_linenumber" name="644" href="#644">644</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="645" href="#645">645</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="646" href="#646">646</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="647" href="#647">647</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="648" href="#648">648</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="649" href="#649">649</a> 
<a class="jxr_linenumber" name="650" href="#650">650</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="651" href="#651">651</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="652" href="#652">652</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="653" href="#653">653</a> 
<a class="jxr_linenumber" name="654" href="#654">654</a>         <em class="jxr_comment">// Proxying 2 repos, both have content, local file updated.</em>
<a class="jxr_linenumber" name="655" href="#655">655</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="656" href="#656">656</a> 
<a class="jxr_linenumber" name="657" href="#657">657</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20070101"</span>, <span class="jxr_string">"000103"</span>, 2 );
<a class="jxr_linenumber" name="658" href="#658">658</a>         assertRepoSnapshotMetadataContents( ID_PROXIED1, requestedResource, <span class="jxr_string">"20061227"</span>, <span class="jxr_string">"112101"</span>, 2 );
<a class="jxr_linenumber" name="659" href="#659">659</a>         assertRepoSnapshotMetadataContents( ID_PROXIED2, requestedResource, <span class="jxr_string">"20070101"</span>, <span class="jxr_string">"000103"</span>, 2 );
<a class="jxr_linenumber" name="660" href="#660">660</a>     }
<a class="jxr_linenumber" name="661" href="#661">661</a> 
<a class="jxr_linenumber" name="662" href="#662">662</a>     @Test
<a class="jxr_linenumber" name="663" href="#663">663</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedNotLocalNotRemote()
<a class="jxr_linenumber" name="664" href="#664">664</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="665" href="#665">665</a>     {
<a class="jxr_linenumber" name="666" href="#666">666</a>         <em class="jxr_comment">// The artifactId "get-default-metadata-nonexistant" does not exist (intentionally).</em>
<a class="jxr_linenumber" name="667" href="#667">667</a>         String requestedResource =
<a class="jxr_linenumber" name="668" href="#668">668</a>             <span class="jxr_string">"org/apache/maven/test/get-default-metadata-nonexistant/1.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="669" href="#669">669</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="670" href="#670">670</a> 
<a class="jxr_linenumber" name="671" href="#671">671</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="672" href="#672">672</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="673" href="#673">673</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="674" href="#674">674</a> 
<a class="jxr_linenumber" name="675" href="#675">675</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="676" href="#676">676</a> 
<a class="jxr_linenumber" name="677" href="#677">677</a>         <em class="jxr_comment">// One proxy setup, nothing fetched, no local file, failure expected.</em>
<a class="jxr_linenumber" name="678" href="#678">678</a>         assertFetchVersionedFailed( requestedResource );
<a class="jxr_linenumber" name="679" href="#679">679</a> 
<a class="jxr_linenumber" name="680" href="#680">680</a>         <em class="jxr_comment">// No local artifactId, and no fetch, should equal no metadata file downloaded / created / updated.</em>
<a class="jxr_linenumber" name="681" href="#681">681</a>         assertNoMetadata( requestedResource );
<a class="jxr_linenumber" name="682" href="#682">682</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="683" href="#683">683</a>     }
<a class="jxr_linenumber" name="684" href="#684">684</a> 
<a class="jxr_linenumber" name="685" href="#685">685</a>     @Test
<a class="jxr_linenumber" name="686" href="#686">686</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedNotLocalOnRemote()
<a class="jxr_linenumber" name="687" href="#687">687</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="688" href="#688">688</a>     {
<a class="jxr_linenumber" name="689" href="#689">689</a>         <em class="jxr_comment">// Artifact exists only in the proxied1 location.</em>
<a class="jxr_linenumber" name="690" href="#690">690</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-metadata-snapshot/1.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="691" href="#691">691</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="692" href="#692">692</a> 
<a class="jxr_linenumber" name="693" href="#693">693</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="694" href="#694">694</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="695" href="#695">695</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="696" href="#696">696</a> 
<a class="jxr_linenumber" name="697" href="#697">697</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="698" href="#698">698</a> 
<a class="jxr_linenumber" name="699" href="#699">699</a>         <em class="jxr_comment">// One proxy setup, one metadata fetched, local file created/updated.</em>
<a class="jxr_linenumber" name="700" href="#700">700</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="701" href="#701">701</a> 
<a class="jxr_linenumber" name="702" href="#702">702</a>         <em class="jxr_comment">// Local artifact Id should contain latest (which in this case is from proxied download)</em>
<a class="jxr_linenumber" name="703" href="#703">703</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20050831"</span>, <span class="jxr_string">"101112"</span>, 1 );
<a class="jxr_linenumber" name="704" href="#704">704</a>         assertRepoSnapshotMetadataContents( ID_PROXIED1, requestedResource, <span class="jxr_string">"20050831"</span>, <span class="jxr_string">"101112"</span>, 1 );
<a class="jxr_linenumber" name="705" href="#705">705</a>     }
<a class="jxr_linenumber" name="706" href="#706">706</a> 
<a class="jxr_linenumber" name="707" href="#707">707</a>     @Test
<a class="jxr_linenumber" name="708" href="#708">708</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedOnLocalMultipleRemote()
<a class="jxr_linenumber" name="709" href="#709">709</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="710" href="#710">710</a>     {
<a class="jxr_linenumber" name="711" href="#711">711</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/get-snapshot-popular/2.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="712" href="#712">712</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="713" href="#713">713</a> 
<a class="jxr_linenumber" name="714" href="#714">714</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="715" href="#715">715</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="716" href="#716">716</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="717" href="#717">717</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="718" href="#718">718</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="719" href="#719">719</a> 
<a class="jxr_linenumber" name="720" href="#720">720</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20070822"</span>, <span class="jxr_string">"021008"</span>, 3 );
<a class="jxr_linenumber" name="721" href="#721">721</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="722" href="#722">722</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="723" href="#723">723</a> 
<a class="jxr_linenumber" name="724" href="#724">724</a>         <em class="jxr_comment">// Proxying 2 repos, both have content, local file updated.</em>
<a class="jxr_linenumber" name="725" href="#725">725</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="726" href="#726">726</a> 
<a class="jxr_linenumber" name="727" href="#727">727</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20070823"</span>, <span class="jxr_string">"212711"</span>, 6 );
<a class="jxr_linenumber" name="728" href="#728">728</a>         assertRepoSnapshotMetadataContents( ID_PROXIED1, requestedResource, <span class="jxr_string">"20070822"</span>, <span class="jxr_string">"145534"</span>, 9 );
<a class="jxr_linenumber" name="729" href="#729">729</a>         assertRepoSnapshotMetadataContents( ID_PROXIED2, requestedResource, <span class="jxr_string">"20070823"</span>, <span class="jxr_string">"212711"</span>, 6 );
<a class="jxr_linenumber" name="730" href="#730">730</a>     }
<a class="jxr_linenumber" name="731" href="#731">731</a> 
<a class="jxr_linenumber" name="732" href="#732">732</a>     @Test
<a class="jxr_linenumber" name="733" href="#733">733</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedOnLocalNotRemote()
<a class="jxr_linenumber" name="734" href="#734">734</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="735" href="#735">735</a>     {
<a class="jxr_linenumber" name="736" href="#736">736</a>         <em class="jxr_comment">// The artifactId exists locally (but not on a remote repo)</em>
<a class="jxr_linenumber" name="737" href="#737">737</a>         String requestedResource =
<a class="jxr_linenumber" name="738" href="#738">738</a>             <span class="jxr_string">"org/apache/maven/test/get-snapshot-on-local-not-remote/2.0-alpha-2-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="739" href="#739">739</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="740" href="#740">740</a> 
<a class="jxr_linenumber" name="741" href="#741">741</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="742" href="#742">742</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="743" href="#743">743</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="744" href="#744">744</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="745" href="#745">745</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="746" href="#746">746</a> 
<a class="jxr_linenumber" name="747" href="#747">747</a>         assertResourceExists( requestedResource );
<a class="jxr_linenumber" name="748" href="#748">748</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="749" href="#749">749</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="750" href="#750">750</a> 
<a class="jxr_linenumber" name="751" href="#751">751</a>         <em class="jxr_comment">// two proxies setup, nothing fetched from either remote, local file exists, fetch should succeed.</em>
<a class="jxr_linenumber" name="752" href="#752">752</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="753" href="#753">753</a> 
<a class="jxr_linenumber" name="754" href="#754">754</a>         <em class="jxr_comment">// Local metadata exists, repo metadatas should not exist, local file updated.</em>
<a class="jxr_linenumber" name="755" href="#755">755</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20070821"</span>, <span class="jxr_string">"220304"</span>, 2 );
<a class="jxr_linenumber" name="756" href="#756">756</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="757" href="#757">757</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="758" href="#758">758</a>     }
<a class="jxr_linenumber" name="759" href="#759">759</a> 
<a class="jxr_linenumber" name="760" href="#760">760</a>     @Test
<a class="jxr_linenumber" name="761" href="#761">761</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetSnapshotMetadataProxiedOnLocalOnRemote()
<a class="jxr_linenumber" name="762" href="#762">762</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="763" href="#763">763</a>     {
<a class="jxr_linenumber" name="764" href="#764">764</a>         <em class="jxr_comment">// The artifactId exists locally (but not on a remote repo)</em>
<a class="jxr_linenumber" name="765" href="#765">765</a>         String requestedResource =
<a class="jxr_linenumber" name="766" href="#766">766</a>             <span class="jxr_string">"org/apache/maven/test/get-present-metadata-snapshot/1.0-SNAPSHOT/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="767" href="#767">767</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="768" href="#768">768</a> 
<a class="jxr_linenumber" name="769" href="#769">769</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="770" href="#770">770</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="771" href="#771">771</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="772" href="#772">772</a> 
<a class="jxr_linenumber" name="773" href="#773">773</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20050831"</span>, <span class="jxr_string">"101112"</span>, 1 );
<a class="jxr_linenumber" name="774" href="#774">774</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="775" href="#775">775</a> 
<a class="jxr_linenumber" name="776" href="#776">776</a>         <em class="jxr_comment">// two proxies setup, nothing fetched from either remote, local file exists, fetch should succeed.</em>
<a class="jxr_linenumber" name="777" href="#777">777</a>         assertFetchVersioned( requestedResource );
<a class="jxr_linenumber" name="778" href="#778">778</a> 
<a class="jxr_linenumber" name="779" href="#779">779</a>         <em class="jxr_comment">// Local metadata exists, repo metadata exists, local file updated.</em>
<a class="jxr_linenumber" name="780" href="#780">780</a>         assertSnapshotMetadataContents( requestedResource, <span class="jxr_string">"20050831"</span>, <span class="jxr_string">"101112"</span>, 1 );
<a class="jxr_linenumber" name="781" href="#781">781</a>         assertRepoSnapshotMetadataContents( ID_PROXIED1, requestedResource, <span class="jxr_string">"20050831"</span>, <span class="jxr_string">"101112"</span>, 1 );
<a class="jxr_linenumber" name="782" href="#782">782</a>     }
<a class="jxr_linenumber" name="783" href="#783">783</a> 
<a class="jxr_linenumber" name="784" href="#784">784</a>     @Test
<a class="jxr_linenumber" name="785" href="#785">785</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataNotProxiedNotLocal()
<a class="jxr_linenumber" name="786" href="#786">786</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="787" href="#787">787</a>     {
<a class="jxr_linenumber" name="788" href="#788">788</a>         <em class="jxr_comment">// The artifactId "get-default-metadata-nonexistant" does not exist (intentionally).</em>
<a class="jxr_linenumber" name="789" href="#789">789</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-default-metadata-nonexistant/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="790" href="#790">790</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="791" href="#791">791</a> 
<a class="jxr_linenumber" name="792" href="#792">792</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="793" href="#793">793</a> 
<a class="jxr_linenumber" name="794" href="#794">794</a>         <em class="jxr_comment">// No proxy setup, nothing fetched, failure expected.</em>
<a class="jxr_linenumber" name="795" href="#795">795</a>         assertFetchProjectOrGroupFailed( requestedResource );
<a class="jxr_linenumber" name="796" href="#796">796</a> 
<a class="jxr_linenumber" name="797" href="#797">797</a>         <em class="jxr_comment">// No local artifactId, and no fetch, should equal no metadata file downloaded / created / updated.</em>
<a class="jxr_linenumber" name="798" href="#798">798</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="799" href="#799">799</a>     }
<a class="jxr_linenumber" name="800" href="#800">800</a> 
<a class="jxr_linenumber" name="801" href="#801">801</a>     @Test
<a class="jxr_linenumber" name="802" href="#802">802</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataNotProxiedOnLocal()
<a class="jxr_linenumber" name="803" href="#803">803</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="804" href="#804">804</a>     {
<a class="jxr_linenumber" name="805" href="#805">805</a>         <em class="jxr_comment">// Project metadata that exists and has multiple versions</em>
<a class="jxr_linenumber" name="806" href="#806">806</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-project-metadata/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="807" href="#807">807</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="808" href="#808">808</a> 
<a class="jxr_linenumber" name="809" href="#809">809</a>         assertResourceExists( requestedResource );
<a class="jxr_linenumber" name="810" href="#810">810</a> 
<a class="jxr_linenumber" name="811" href="#811">811</a>         <em class="jxr_comment">// No proxy setup, nothing fetched from remote, but local exists.</em>
<a class="jxr_linenumber" name="812" href="#812">812</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="813" href="#813">813</a> 
<a class="jxr_linenumber" name="814" href="#814">814</a>         <em class="jxr_comment">// Nothing fetched.  Should only contain contents of what is in the repository.</em>
<a class="jxr_linenumber" name="815" href="#815">815</a>         <em class="jxr_comment">// A metadata update is not performed in this use case.  Local metadata content is only</em>
<a class="jxr_linenumber" name="816" href="#816">816</a>         <em class="jxr_comment">// updated via the metadata updater consumer.</em>
<a class="jxr_linenumber" name="817" href="#817">817</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span> } );
<a class="jxr_linenumber" name="818" href="#818">818</a>     }
<a class="jxr_linenumber" name="819" href="#819">819</a> 
<a class="jxr_linenumber" name="820" href="#820">820</a>     @Test
<a class="jxr_linenumber" name="821" href="#821">821</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataProxiedNotLocalMultipleRemotes()
<a class="jxr_linenumber" name="822" href="#822">822</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="823" href="#823">823</a>     {
<a class="jxr_linenumber" name="824" href="#824">824</a>         <em class="jxr_comment">// Project metadata that does not exist locally, but has multiple versions in remote repos</em>
<a class="jxr_linenumber" name="825" href="#825">825</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-default-layout/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="826" href="#826">826</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="827" href="#827">827</a> 
<a class="jxr_linenumber" name="828" href="#828">828</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="829" href="#829">829</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="830" href="#830">830</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="831" href="#831">831</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="832" href="#832">832</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="833" href="#833">833</a> 
<a class="jxr_linenumber" name="834" href="#834">834</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="835" href="#835">835</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="836" href="#836">836</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="837" href="#837">837</a> 
<a class="jxr_linenumber" name="838" href="#838">838</a>         <em class="jxr_comment">// Two proxies setup, metadata fetched from both remotes.</em>
<a class="jxr_linenumber" name="839" href="#839">839</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="840" href="#840">840</a> 
<a class="jxr_linenumber" name="841" href="#841">841</a>         <em class="jxr_comment">// Nothing fetched.  Should only contain contents of what is in the repository.</em>
<a class="jxr_linenumber" name="842" href="#842">842</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin2"</span>, <span class="jxr_string">"plugin1"</span> } );
<a class="jxr_linenumber" name="843" href="#843">843</a>         assertRepoGroupMetadataContents( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span> } );
<a class="jxr_linenumber" name="844" href="#844">844</a>         assertRepoGroupMetadataContents( ID_PROXIED2, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin2"</span> } );
<a class="jxr_linenumber" name="845" href="#845">845</a>     }
<a class="jxr_linenumber" name="846" href="#846">846</a> 
<a class="jxr_linenumber" name="847" href="#847">847</a>     @Test
<a class="jxr_linenumber" name="848" href="#848">848</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupsMetadataProxiedNotLocalNotRemote()
<a class="jxr_linenumber" name="849" href="#849">849</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="850" href="#850">850</a>     {
<a class="jxr_linenumber" name="851" href="#851">851</a>         <em class="jxr_comment">// Non-existant project metadata that does not exist locally and doesn't exist on remotes.</em>
<a class="jxr_linenumber" name="852" href="#852">852</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-bogus-artifact/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="853" href="#853">853</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="854" href="#854">854</a> 
<a class="jxr_linenumber" name="855" href="#855">855</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="856" href="#856">856</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="857" href="#857">857</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="858" href="#858">858</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="859" href="#859">859</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="860" href="#860">860</a> 
<a class="jxr_linenumber" name="861" href="#861">861</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="862" href="#862">862</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="863" href="#863">863</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="864" href="#864">864</a> 
<a class="jxr_linenumber" name="865" href="#865">865</a>         <em class="jxr_comment">// Two proxies setup, nothing fetched from remotes, local does not exist.</em>
<a class="jxr_linenumber" name="866" href="#866">866</a>         assertFetchProjectOrGroupFailed( requestedResource );
<a class="jxr_linenumber" name="867" href="#867">867</a> 
<a class="jxr_linenumber" name="868" href="#868">868</a>         <em class="jxr_comment">// Nothing fetched.  Nothing should exist.</em>
<a class="jxr_linenumber" name="869" href="#869">869</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="870" href="#870">870</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="871" href="#871">871</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="872" href="#872">872</a>     }
<a class="jxr_linenumber" name="873" href="#873">873</a> 
<a class="jxr_linenumber" name="874" href="#874">874</a>     @Test
<a class="jxr_linenumber" name="875" href="#875">875</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataProxiedNotLocalOnRemote()
<a class="jxr_linenumber" name="876" href="#876">876</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="877" href="#877">877</a>     {
<a class="jxr_linenumber" name="878" href="#878">878</a>         <em class="jxr_comment">// New project metadata that does not exist locally but exists on remote.</em>
<a class="jxr_linenumber" name="879" href="#879">879</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-found-in-proxy/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="880" href="#880">880</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="881" href="#881">881</a> 
<a class="jxr_linenumber" name="882" href="#882">882</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="883" href="#883">883</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="884" href="#884">884</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="885" href="#885">885</a> 
<a class="jxr_linenumber" name="886" href="#886">886</a>         assertResourceNotFound( requestedResource );
<a class="jxr_linenumber" name="887" href="#887">887</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="888" href="#888">888</a> 
<a class="jxr_linenumber" name="889" href="#889">889</a>         <em class="jxr_comment">// One proxy setup, metadata fetched from remote, local does not exist.</em>
<a class="jxr_linenumber" name="890" href="#890">890</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="891" href="#891">891</a> 
<a class="jxr_linenumber" name="892" href="#892">892</a>         <em class="jxr_comment">// Remote fetched.  Local created/updated.</em>
<a class="jxr_linenumber" name="893" href="#893">893</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin3"</span> } );
<a class="jxr_linenumber" name="894" href="#894">894</a>         assertRepoGroupMetadataContents( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin3"</span> } );
<a class="jxr_linenumber" name="895" href="#895">895</a>     }
<a class="jxr_linenumber" name="896" href="#896">896</a> 
<a class="jxr_linenumber" name="897" href="#897">897</a>     @Test
<a class="jxr_linenumber" name="898" href="#898">898</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataProxiedOnLocalMultipleRemote()
<a class="jxr_linenumber" name="899" href="#899">899</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="900" href="#900">900</a>     {
<a class="jxr_linenumber" name="901" href="#901">901</a>         <em class="jxr_comment">// Project metadata that exist locally, and has multiple versions in remote repos</em>
<a class="jxr_linenumber" name="902" href="#902">902</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-on-multiple-repos/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="903" href="#903">903</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="904" href="#904">904</a> 
<a class="jxr_linenumber" name="905" href="#905">905</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="906" href="#906">906</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="907" href="#907">907</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="908" href="#908">908</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="909" href="#909">909</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="910" href="#910">910</a> 
<a class="jxr_linenumber" name="911" href="#911">911</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span> } );
<a class="jxr_linenumber" name="912" href="#912">912</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="913" href="#913">913</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="914" href="#914">914</a> 
<a class="jxr_linenumber" name="915" href="#915">915</a>         <em class="jxr_comment">// Two proxies setup, metadata fetched from both remotes.</em>
<a class="jxr_linenumber" name="916" href="#916">916</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="917" href="#917">917</a> 
<a class="jxr_linenumber" name="918" href="#918">918</a>         <em class="jxr_comment">// metadata fetched from both repos, and merged with local version.</em>
<a class="jxr_linenumber" name="919" href="#919">919</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span>, <span class="jxr_string">"plugin2"</span>, <span class="jxr_string">"plugin4"</span> } );
<a class="jxr_linenumber" name="920" href="#920">920</a>         assertRepoGroupMetadataContents( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span>, <span class="jxr_string">"plugin4"</span> } );
<a class="jxr_linenumber" name="921" href="#921">921</a>         assertRepoGroupMetadataContents( ID_PROXIED2, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin1"</span>, <span class="jxr_string">"plugin2"</span> } );
<a class="jxr_linenumber" name="922" href="#922">922</a>     }
<a class="jxr_linenumber" name="923" href="#923">923</a> 
<a class="jxr_linenumber" name="924" href="#924">924</a>     @Test
<a class="jxr_linenumber" name="925" href="#925">925</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataProxiedOnLocalNotRemote()
<a class="jxr_linenumber" name="926" href="#926">926</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="927" href="#927">927</a>     {
<a class="jxr_linenumber" name="928" href="#928">928</a>         <em class="jxr_comment">// Project metadata that exist locally, and does not exist in remote repos.</em>
<a class="jxr_linenumber" name="929" href="#929">929</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-not-on-remotes/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="930" href="#930">930</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="931" href="#931">931</a> 
<a class="jxr_linenumber" name="932" href="#932">932</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="933" href="#933">933</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="934" href="#934">934</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="935" href="#935">935</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="936" href="#936">936</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="937" href="#937">937</a> 
<a class="jxr_linenumber" name="938" href="#938">938</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin5"</span> } );
<a class="jxr_linenumber" name="939" href="#939">939</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="940" href="#940">940</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="941" href="#941">941</a> 
<a class="jxr_linenumber" name="942" href="#942">942</a>         <em class="jxr_comment">// Two proxies setup, metadata fetch from remotes fail (because they dont exist).</em>
<a class="jxr_linenumber" name="943" href="#943">943</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="944" href="#944">944</a> 
<a class="jxr_linenumber" name="945" href="#945">945</a>         <em class="jxr_comment">// metadata not fetched from both repos, and local version exists.</em>
<a class="jxr_linenumber" name="946" href="#946">946</a>         <em class="jxr_comment">// Since there was no updated metadata content from a remote/proxy, a metadata update on</em>
<a class="jxr_linenumber" name="947" href="#947">947</a>         <em class="jxr_comment">// the local file never ran.  Local only updates are performed via the metadata updater consumer.</em>
<a class="jxr_linenumber" name="948" href="#948">948</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin5"</span> } );
<a class="jxr_linenumber" name="949" href="#949">949</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="950" href="#950">950</a>         assertNoRepoMetadata( ID_PROXIED2, requestedResource );
<a class="jxr_linenumber" name="951" href="#951">951</a>     }
<a class="jxr_linenumber" name="952" href="#952">952</a> 
<a class="jxr_linenumber" name="953" href="#953">953</a>     @Test
<a class="jxr_linenumber" name="954" href="#954">954</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetGroupMetadataProxiedOnLocalOnRemote()
<a class="jxr_linenumber" name="955" href="#955">955</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="956" href="#956">956</a>     {
<a class="jxr_linenumber" name="957" href="#957">957</a>         <em class="jxr_comment">// Project metadata that exist locally and exists on remote.</em>
<a class="jxr_linenumber" name="958" href="#958">958</a>         String requestedResource = <span class="jxr_string">"org/apache/maven/test/groups/get-on-local-on-remote/maven-metadata.xml"</span>;
<a class="jxr_linenumber" name="959" href="#959">959</a>         setupTestableManagedRepository( requestedResource );
<a class="jxr_linenumber" name="960" href="#960">960</a> 
<a class="jxr_linenumber" name="961" href="#961">961</a>         <em class="jxr_comment">// Configure Connector (usually done within archiva.xml configuration)</em>
<a class="jxr_linenumber" name="962" href="#962">962</a>         saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS,
<a class="jxr_linenumber" name="963" href="#963">963</a>                        SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false );
<a class="jxr_linenumber" name="964" href="#964">964</a> 
<a class="jxr_linenumber" name="965" href="#965">965</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin6"</span>, <span class="jxr_string">"plugin7"</span> } );
<a class="jxr_linenumber" name="966" href="#966">966</a>         assertNoRepoMetadata( ID_PROXIED1, requestedResource );
<a class="jxr_linenumber" name="967" href="#967">967</a> 
<a class="jxr_linenumber" name="968" href="#968">968</a>         <em class="jxr_comment">// One proxy setup, metadata fetched from remote, local exists.</em>
<a class="jxr_linenumber" name="969" href="#969">969</a>         assertFetchProjectOrGroup( requestedResource );
<a class="jxr_linenumber" name="970" href="#970">970</a> 
<a class="jxr_linenumber" name="971" href="#971">971</a>         <em class="jxr_comment">// Remote fetched.  Local updated.</em>
<a class="jxr_linenumber" name="972" href="#972">972</a>         assertGroupMetadataContents( requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin6"</span>, <span class="jxr_string">"plugin7"</span>, <span class="jxr_string">"plugin4"</span> } );
<a class="jxr_linenumber" name="973" href="#973">973</a>         assertRepoGroupMetadataContents( ID_PROXIED1, requestedResource, <strong class="jxr_keyword">new</strong> String[]{ <span class="jxr_string">"plugin7"</span>, <span class="jxr_string">"plugin4"</span> } );
<a class="jxr_linenumber" name="974" href="#974">974</a>     }
<a class="jxr_linenumber" name="975" href="#975">975</a> 
<a class="jxr_linenumber" name="976" href="#976">976</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="977" href="#977">977</a> <em class="jxr_javadoccomment">     * Transfer the metadata file.</em>
<a class="jxr_linenumber" name="978" href="#978">978</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="979" href="#979">979</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="980" href="#980">980</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="981" href="#981">981</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="982" href="#982">982</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertFetchProjectOrGroup( String requestedResource )
<a class="jxr_linenumber" name="983" href="#983">983</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="984" href="#984">984</a>     {
<a class="jxr_linenumber" name="985" href="#985">985</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="986" href="#986">986</a> 
<a class="jxr_linenumber" name="987" href="#987">987</a>         ProjectReference metadata = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="988" href="#988">988</a> 
<a class="jxr_linenumber" name="989" href="#989">989</a>         File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository,
<a class="jxr_linenumber" name="990" href="#990">990</a>                                                                      managedDefaultRepository.toMetadataPath(
<a class="jxr_linenumber" name="991" href="#991">991</a>                                                                          metadata ) );
<a class="jxr_linenumber" name="992" href="#992">992</a> 
<a class="jxr_linenumber" name="993" href="#993">993</a>         assertNotNull( <span class="jxr_string">"Should have downloaded a file."</span>, downloadedFile );
<a class="jxr_linenumber" name="994" href="#994">994</a>         assertNoTempFiles( expectedFile );
<a class="jxr_linenumber" name="995" href="#995">995</a>     }
<a class="jxr_linenumber" name="996" href="#996">996</a> 
<a class="jxr_linenumber" name="997" href="#997">997</a>     <strong class="jxr_keyword">private</strong> ProjectReference createProjectReference( String path )
<a class="jxr_linenumber" name="998" href="#998">998</a>         <strong class="jxr_keyword">throws</strong> RepositoryMetadataException
<a class="jxr_linenumber" name="999" href="#999">999</a>     {
<a class="jxr_linenumber" name="1000" href="#1000">1000</a>         <strong class="jxr_keyword">return</strong> metadataTools.toProjectReference( path );
<a class="jxr_linenumber" name="1001" href="#1001">1001</a>     }
<a class="jxr_linenumber" name="1002" href="#1002">1002</a> 
<a class="jxr_linenumber" name="1003" href="#1003">1003</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment">     * Transfer the metadata file, not expected to succeed.</em>
<a class="jxr_linenumber" name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1006" href="#1006">1006</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1008" href="#1008">1008</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1009" href="#1009">1009</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertFetchProjectOrGroupFailed( String requestedResource )
<a class="jxr_linenumber" name="1010" href="#1010">1010</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1011" href="#1011">1011</a>     {
<a class="jxr_linenumber" name="1012" href="#1012">1012</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1013" href="#1013">1013</a>         ProjectReference metadata = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="1014" href="#1014">1014</a> 
<a class="jxr_linenumber" name="1015" href="#1015">1015</a>         File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository,
<a class="jxr_linenumber" name="1016" href="#1016">1016</a>                                                                      managedDefaultRepository.toMetadataPath(
<a class="jxr_linenumber" name="1017" href="#1017">1017</a>                                                                          metadata ) );
<a class="jxr_linenumber" name="1018" href="#1018">1018</a> 
<a class="jxr_linenumber" name="1019" href="#1019">1019</a>         assertNull( downloadedFile );
<a class="jxr_linenumber" name="1020" href="#1020">1020</a>         assertNoTempFiles( expectedFile );
<a class="jxr_linenumber" name="1021" href="#1021">1021</a>     }
<a class="jxr_linenumber" name="1022" href="#1022">1022</a> 
<a class="jxr_linenumber" name="1023" href="#1023">1023</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment">     * Transfer the metadata file.</em>
<a class="jxr_linenumber" name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1029" href="#1029">1029</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertFetchVersioned( String requestedResource )
<a class="jxr_linenumber" name="1030" href="#1030">1030</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1031" href="#1031">1031</a>     {
<a class="jxr_linenumber" name="1032" href="#1032">1032</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1033" href="#1033">1033</a> 
<a class="jxr_linenumber" name="1034" href="#1034">1034</a>         VersionedReference metadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1035" href="#1035">1035</a> 
<a class="jxr_linenumber" name="1036" href="#1036">1036</a>         File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository,
<a class="jxr_linenumber" name="1037" href="#1037">1037</a>                                                                      managedDefaultRepository.toMetadataPath(
<a class="jxr_linenumber" name="1038" href="#1038">1038</a>                                                                          metadata ) );
<a class="jxr_linenumber" name="1039" href="#1039">1039</a> 
<a class="jxr_linenumber" name="1040" href="#1040">1040</a>         assertNotNull( <span class="jxr_string">"Should have downloaded a file."</span>, downloadedFile );
<a class="jxr_linenumber" name="1041" href="#1041">1041</a>         assertNoTempFiles( expectedFile );
<a class="jxr_linenumber" name="1042" href="#1042">1042</a>     }
<a class="jxr_linenumber" name="1043" href="#1043">1043</a> 
<a class="jxr_linenumber" name="1044" href="#1044">1044</a>     <strong class="jxr_keyword">private</strong> VersionedReference createVersionedReference( String path )
<a class="jxr_linenumber" name="1045" href="#1045">1045</a>         <strong class="jxr_keyword">throws</strong> RepositoryMetadataException
<a class="jxr_linenumber" name="1046" href="#1046">1046</a>     {
<a class="jxr_linenumber" name="1047" href="#1047">1047</a>         <strong class="jxr_keyword">return</strong> metadataTools.toVersionedReference( path );
<a class="jxr_linenumber" name="1048" href="#1048">1048</a>     }
<a class="jxr_linenumber" name="1049" href="#1049">1049</a> 
<a class="jxr_linenumber" name="1050" href="#1050">1050</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1051" href="#1051">1051</a> <em class="jxr_javadoccomment">     * Transfer the metadata file, not expected to succeed.</em>
<a class="jxr_linenumber" name="1052" href="#1052">1052</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1056" href="#1056">1056</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertFetchVersionedFailed( String requestedResource )
<a class="jxr_linenumber" name="1057" href="#1057">1057</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1058" href="#1058">1058</a>     {
<a class="jxr_linenumber" name="1059" href="#1059">1059</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1060" href="#1060">1060</a>         VersionedReference metadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1061" href="#1061">1061</a> 
<a class="jxr_linenumber" name="1062" href="#1062">1062</a>         File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository,
<a class="jxr_linenumber" name="1063" href="#1063">1063</a>                                                                      managedDefaultRepository.toMetadataPath(
<a class="jxr_linenumber" name="1064" href="#1064">1064</a>                                                                          metadata ) );
<a class="jxr_linenumber" name="1065" href="#1065">1065</a> 
<a class="jxr_linenumber" name="1066" href="#1066">1066</a>         assertNull( downloadedFile );
<a class="jxr_linenumber" name="1067" href="#1067">1067</a>         assertNoTempFiles( expectedFile );
<a class="jxr_linenumber" name="1068" href="#1068">1068</a>     }
<a class="jxr_linenumber" name="1069" href="#1069">1069</a> 
<a class="jxr_linenumber" name="1070" href="#1070">1070</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1071" href="#1071">1071</a> <em class="jxr_javadoccomment">     * Test for the existance of the requestedResource in the default managed repository.</em>
<a class="jxr_linenumber" name="1072" href="#1072">1072</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1073" href="#1073">1073</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1074" href="#1074">1074</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1075" href="#1075">1075</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1076" href="#1076">1076</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertResourceExists( String requestedResource )
<a class="jxr_linenumber" name="1077" href="#1077">1077</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1078" href="#1078">1078</a>     {
<a class="jxr_linenumber" name="1079" href="#1079">1079</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1080" href="#1080">1080</a>         assertTrue( <span class="jxr_string">"Resource should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1081" href="#1081">1081</a>     }
<a class="jxr_linenumber" name="1082" href="#1082">1082</a> 
<a class="jxr_linenumber" name="1083" href="#1083">1083</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertMetadataEquals( String expectedMetadataXml, File actualFile )
<a class="jxr_linenumber" name="1084" href="#1084">1084</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1085" href="#1085">1085</a>     {
<a class="jxr_linenumber" name="1086" href="#1086">1086</a>         assertNotNull( <span class="jxr_string">"Actual File should not be null."</span>, actualFile );
<a class="jxr_linenumber" name="1087" href="#1087">1087</a> 
<a class="jxr_linenumber" name="1088" href="#1088">1088</a>         assertTrue( <span class="jxr_string">"Actual file exists."</span>, actualFile.exists() );
<a class="jxr_linenumber" name="1089" href="#1089">1089</a> 
<a class="jxr_linenumber" name="1090" href="#1090">1090</a>         StringWriter actualContents = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1091" href="#1091">1091</a>         ArchivaRepositoryMetadata metadata = MavenMetadataReader.read( actualFile );
<a class="jxr_linenumber" name="1092" href="#1092">1092</a>         RepositoryMetadataWriter.write( metadata, actualContents );
<a class="jxr_linenumber" name="1093" href="#1093">1093</a> 
<a class="jxr_linenumber" name="1094" href="#1094">1094</a>         DetailedDiff detailedDiff = <strong class="jxr_keyword">new</strong> DetailedDiff( <strong class="jxr_keyword">new</strong> Diff( expectedMetadataXml, actualContents.toString() ) );
<a class="jxr_linenumber" name="1095" href="#1095">1095</a>         <strong class="jxr_keyword">if</strong> ( !detailedDiff.similar() )
<a class="jxr_linenumber" name="1096" href="#1096">1096</a>         {
<a class="jxr_linenumber" name="1097" href="#1097">1097</a>             assertEquals( expectedMetadataXml, actualContents );
<a class="jxr_linenumber" name="1098" href="#1098">1098</a>         }
<a class="jxr_linenumber" name="1099" href="#1099">1099</a> 
<a class="jxr_linenumber" name="1100" href="#1100">1100</a>         <em class="jxr_comment">// assertEquals( "Check file contents.", expectedMetadataXml, actualContents );</em>
<a class="jxr_linenumber" name="1101" href="#1101">1101</a>     }
<a class="jxr_linenumber" name="1102" href="#1102">1102</a> 
<a class="jxr_linenumber" name="1103" href="#1103">1103</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1104" href="#1104">1104</a> <em class="jxr_javadoccomment">     * Ensures that the requested resource is not present in the managed repository.</em>
<a class="jxr_linenumber" name="1105" href="#1105">1105</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1106" href="#1106">1106</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1107" href="#1107">1107</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1108" href="#1108">1108</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1109" href="#1109">1109</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertNoMetadata( String requestedResource )
<a class="jxr_linenumber" name="1110" href="#1110">1110</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1111" href="#1111">1111</a>     {
<a class="jxr_linenumber" name="1112" href="#1112">1112</a>         File expectedFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1113" href="#1113">1113</a>         assertFalse( <span class="jxr_string">"metadata should not exist: "</span> + expectedFile, expectedFile.exists() );
<a class="jxr_linenumber" name="1114" href="#1114">1114</a>     }
<a class="jxr_linenumber" name="1115" href="#1115">1115</a> 
<a class="jxr_linenumber" name="1116" href="#1116">1116</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment">     * Ensures that the proxied repository specific maven metadata file does NOT exist in the</em>
<a class="jxr_linenumber" name="1118" href="#1118">1118</a> <em class="jxr_javadoccomment">     * managed repository.</em>
<a class="jxr_linenumber" name="1119" href="#1119">1119</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1120" href="#1120">1120</a> <em class="jxr_javadoccomment">     * @param proxiedRepoId     the proxied repository id to validate with.</em>
<a class="jxr_linenumber" name="1121" href="#1121">1121</a> <em class="jxr_javadoccomment">     * @param requestedResource the resource requested.</em>
<a class="jxr_linenumber" name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1123" href="#1123">1123</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertNoRepoMetadata( String proxiedRepoId, String requestedResource )
<a class="jxr_linenumber" name="1124" href="#1124">1124</a>     {
<a class="jxr_linenumber" name="1125" href="#1125">1125</a>         String proxiedFile = metadataTools.getRepositorySpecificName( proxiedRepoId, requestedResource );
<a class="jxr_linenumber" name="1126" href="#1126">1126</a> 
<a class="jxr_linenumber" name="1127" href="#1127">1127</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, proxiedFile );
<a class="jxr_linenumber" name="1128" href="#1128">1128</a>         assertFalse( <span class="jxr_string">"Repo specific metadata should not exist: "</span> + actualFile, actualFile.exists() );
<a class="jxr_linenumber" name="1129" href="#1129">1129</a>     }
<a class="jxr_linenumber" name="1130" href="#1130">1130</a> 
<a class="jxr_linenumber" name="1131" href="#1131">1131</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertGroupMetadataContents( String requestedResource, String expectedPlugins[] )
<a class="jxr_linenumber" name="1132" href="#1132">1132</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1133" href="#1133">1133</a>     {
<a class="jxr_linenumber" name="1134" href="#1134">1134</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1135" href="#1135">1135</a>         assertTrue( <span class="jxr_string">"Snapshot Metadata should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1136" href="#1136">1136</a> 
<a class="jxr_linenumber" name="1137" href="#1137">1137</a>         ProjectReference actualMetadata = createGroupReference( requestedResource );
<a class="jxr_linenumber" name="1138" href="#1138">1138</a> 
<a class="jxr_linenumber" name="1139" href="#1139">1139</a>         assertGroupMetadata( actualFile, actualMetadata, expectedPlugins );
<a class="jxr_linenumber" name="1140" href="#1140">1140</a>     }
<a class="jxr_linenumber" name="1141" href="#1141">1141</a> 
<a class="jxr_linenumber" name="1142" href="#1142">1142</a>     <strong class="jxr_keyword">private</strong> ProjectReference createGroupReference( String requestedResource )
<a class="jxr_linenumber" name="1143" href="#1143">1143</a>         <strong class="jxr_keyword">throws</strong> RepositoryMetadataException
<a class="jxr_linenumber" name="1144" href="#1144">1144</a>     {
<a class="jxr_linenumber" name="1145" href="#1145">1145</a>         ProjectReference projectReference = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="1146" href="#1146">1146</a>         projectReference.setGroupId( projectReference.getGroupId() + <span class="jxr_string">"."</span> + projectReference.getArtifactId() );
<a class="jxr_linenumber" name="1147" href="#1147">1147</a>         projectReference.setArtifactId( <strong class="jxr_keyword">null</strong> );
<a class="jxr_linenumber" name="1148" href="#1148">1148</a>         <strong class="jxr_keyword">return</strong> projectReference;
<a class="jxr_linenumber" name="1149" href="#1149">1149</a>     }
<a class="jxr_linenumber" name="1150" href="#1150">1150</a> 
<a class="jxr_linenumber" name="1151" href="#1151">1151</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertRepoGroupMetadataContents( String proxiedRepoId, String requestedResource,
<a class="jxr_linenumber" name="1152" href="#1152">1152</a>                                                   String expectedPlugins[] )
<a class="jxr_linenumber" name="1153" href="#1153">1153</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1154" href="#1154">1154</a>     {
<a class="jxr_linenumber" name="1155" href="#1155">1155</a>         String proxiedFile = metadataTools.getRepositorySpecificName( proxiedRepoId, requestedResource );
<a class="jxr_linenumber" name="1156" href="#1156">1156</a> 
<a class="jxr_linenumber" name="1157" href="#1157">1157</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, proxiedFile );
<a class="jxr_linenumber" name="1158" href="#1158">1158</a>         assertTrue( <span class="jxr_string">"Repo Specific Group Metadata should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1159" href="#1159">1159</a> 
<a class="jxr_linenumber" name="1160" href="#1160">1160</a>         ProjectReference actualMetadata = createGroupReference( requestedResource );
<a class="jxr_linenumber" name="1161" href="#1161">1161</a> 
<a class="jxr_linenumber" name="1162" href="#1162">1162</a>         assertGroupMetadata( actualFile, actualMetadata, expectedPlugins );
<a class="jxr_linenumber" name="1163" href="#1163">1163</a>     }
<a class="jxr_linenumber" name="1164" href="#1164">1164</a> 
<a class="jxr_linenumber" name="1165" href="#1165">1165</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertGroupMetadata( File actualFile, ProjectReference actualMetadata, String expectedPlugins[] )
<a class="jxr_linenumber" name="1166" href="#1166">1166</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1167" href="#1167">1167</a>     {
<a class="jxr_linenumber" name="1168" href="#1168">1168</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1169" href="#1169">1169</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1170" href="#1170">1170</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1171" href="#1171">1171</a>         m.setGroupId( actualMetadata.getGroupId() );
<a class="jxr_linenumber" name="1172" href="#1172">1172</a> 
<a class="jxr_linenumber" name="1173" href="#1173">1173</a>         <strong class="jxr_keyword">for</strong> ( String pluginId : expectedPlugins )
<a class="jxr_linenumber" name="1174" href="#1174">1174</a>         {
<a class="jxr_linenumber" name="1175" href="#1175">1175</a>             Plugin p = <strong class="jxr_keyword">new</strong> Plugin();
<a class="jxr_linenumber" name="1176" href="#1176">1176</a>             p.setPrefix( pluginId );
<a class="jxr_linenumber" name="1177" href="#1177">1177</a>             p.setArtifactId( pluginId + <span class="jxr_string">"-maven-plugin"</span> );
<a class="jxr_linenumber" name="1178" href="#1178">1178</a>             p.setName( <span class="jxr_string">"The "</span> + pluginId + <span class="jxr_string">" Plugin"</span> );
<a class="jxr_linenumber" name="1179" href="#1179">1179</a>             m.getPlugins().add( p );
<a class="jxr_linenumber" name="1180" href="#1180">1180</a>         }
<a class="jxr_linenumber" name="1181" href="#1181">1181</a> 
<a class="jxr_linenumber" name="1182" href="#1182">1182</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1183" href="#1183">1183</a> 
<a class="jxr_linenumber" name="1184" href="#1184">1184</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1185" href="#1185">1185</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1186" href="#1186">1186</a>     }
<a class="jxr_linenumber" name="1187" href="#1187">1187</a> 
<a class="jxr_linenumber" name="1188" href="#1188">1188</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1189" href="#1189">1189</a> <em class="jxr_javadoccomment">     * Test for the existance of the requestedResource in the default managed repository, and if it exists,</em>
<a class="jxr_linenumber" name="1190" href="#1190">1190</a> <em class="jxr_javadoccomment">     * does it contain the specified list of expected versions?</em>
<a class="jxr_linenumber" name="1191" href="#1191">1191</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1192" href="#1192">1192</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1195" href="#1195">1195</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertProjectMetadataContents( String requestedResource, String expectedVersions[],
<a class="jxr_linenumber" name="1196" href="#1196">1196</a>                                                 String latestVersion, String releaseVersion )
<a class="jxr_linenumber" name="1197" href="#1197">1197</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1198" href="#1198">1198</a>     {
<a class="jxr_linenumber" name="1199" href="#1199">1199</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1200" href="#1200">1200</a>         assertTrue( actualFile.exists() );
<a class="jxr_linenumber" name="1201" href="#1201">1201</a> 
<a class="jxr_linenumber" name="1202" href="#1202">1202</a>         ProjectReference metadata = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="1203" href="#1203">1203</a> 
<a class="jxr_linenumber" name="1204" href="#1204">1204</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1205" href="#1205">1205</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1206" href="#1206">1206</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1207" href="#1207">1207</a>         m.setGroupId( metadata.getGroupId() );
<a class="jxr_linenumber" name="1208" href="#1208">1208</a>         m.setArtifactId( metadata.getArtifactId() );
<a class="jxr_linenumber" name="1209" href="#1209">1209</a>         m.setLatestVersion( latestVersion );
<a class="jxr_linenumber" name="1210" href="#1210">1210</a>         m.setReleasedVersion( releaseVersion );
<a class="jxr_linenumber" name="1211" href="#1211">1211</a> 
<a class="jxr_linenumber" name="1212" href="#1212">1212</a>         <strong class="jxr_keyword">if</strong> ( expectedVersions != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="1213" href="#1213">1213</a>         {
<a class="jxr_linenumber" name="1214" href="#1214">1214</a>             m.getAvailableVersions().addAll( Arrays.asList( expectedVersions ) );
<a class="jxr_linenumber" name="1215" href="#1215">1215</a>         }
<a class="jxr_linenumber" name="1216" href="#1216">1216</a> 
<a class="jxr_linenumber" name="1217" href="#1217">1217</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1218" href="#1218">1218</a> 
<a class="jxr_linenumber" name="1219" href="#1219">1219</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1220" href="#1220">1220</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1221" href="#1221">1221</a>     }
<a class="jxr_linenumber" name="1222" href="#1222">1222</a> 
<a class="jxr_linenumber" name="1223" href="#1223">1223</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1224" href="#1224">1224</a> <em class="jxr_javadoccomment">     * Test for the existance of the requestedResource in the default managed repository, and if it exists,</em>
<a class="jxr_linenumber" name="1225" href="#1225">1225</a> <em class="jxr_javadoccomment">     * does it contain the expected release maven-metadata.xml contents?</em>
<a class="jxr_linenumber" name="1226" href="#1226">1226</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1227" href="#1227">1227</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1228" href="#1228">1228</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1229" href="#1229">1229</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1230" href="#1230">1230</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertReleaseMetadataContents( String requestedResource )
<a class="jxr_linenumber" name="1231" href="#1231">1231</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1232" href="#1232">1232</a>     {
<a class="jxr_linenumber" name="1233" href="#1233">1233</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1234" href="#1234">1234</a>         assertTrue( <span class="jxr_string">"Release Metadata should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1235" href="#1235">1235</a> 
<a class="jxr_linenumber" name="1236" href="#1236">1236</a>         VersionedReference metadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1237" href="#1237">1237</a> 
<a class="jxr_linenumber" name="1238" href="#1238">1238</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1239" href="#1239">1239</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1240" href="#1240">1240</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1241" href="#1241">1241</a>         m.setGroupId( metadata.getGroupId() );
<a class="jxr_linenumber" name="1242" href="#1242">1242</a>         m.setArtifactId( metadata.getArtifactId() );
<a class="jxr_linenumber" name="1243" href="#1243">1243</a>         m.setVersion( metadata.getVersion() );
<a class="jxr_linenumber" name="1244" href="#1244">1244</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1245" href="#1245">1245</a> 
<a class="jxr_linenumber" name="1246" href="#1246">1246</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1247" href="#1247">1247</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1248" href="#1248">1248</a>     }
<a class="jxr_linenumber" name="1249" href="#1249">1249</a> 
<a class="jxr_linenumber" name="1250" href="#1250">1250</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1251" href="#1251">1251</a> <em class="jxr_javadoccomment">     * Test for the existance of the snapshot metadata in the default managed repository, and if it exists,</em>
<a class="jxr_linenumber" name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment">     * does it contain the expected release maven-metadata.xml contents?</em>
<a class="jxr_linenumber" name="1253" href="#1253">1253</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1254" href="#1254">1254</a> <em class="jxr_javadoccomment">     * @param requestedResource   the requested resource</em>
<a class="jxr_linenumber" name="1255" href="#1255">1255</a> <em class="jxr_javadoccomment">     * @param expectedDate        the date in "yyyyMMdd" format</em>
<a class="jxr_linenumber" name="1256" href="#1256">1256</a> <em class="jxr_javadoccomment">     * @param expectedTime        the time in "hhmmss" format</em>
<a class="jxr_linenumber" name="1257" href="#1257">1257</a> <em class="jxr_javadoccomment">     * @param expectedBuildnumber the build number</em>
<a class="jxr_linenumber" name="1258" href="#1258">1258</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1259" href="#1259">1259</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1260" href="#1260">1260</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertSnapshotMetadataContents( String requestedResource, String expectedDate, String expectedTime,
<a class="jxr_linenumber" name="1261" href="#1261">1261</a>                                                  <strong class="jxr_keyword">int</strong> expectedBuildnumber )
<a class="jxr_linenumber" name="1262" href="#1262">1262</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1263" href="#1263">1263</a>     {
<a class="jxr_linenumber" name="1264" href="#1264">1264</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1265" href="#1265">1265</a>         assertTrue( <span class="jxr_string">"Snapshot Metadata should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1266" href="#1266">1266</a> 
<a class="jxr_linenumber" name="1267" href="#1267">1267</a>         VersionedReference actualMetadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1268" href="#1268">1268</a> 
<a class="jxr_linenumber" name="1269" href="#1269">1269</a>         assertSnapshotMetadata( actualFile, actualMetadata, expectedDate, expectedTime, expectedBuildnumber );
<a class="jxr_linenumber" name="1270" href="#1270">1270</a>     }
<a class="jxr_linenumber" name="1271" href="#1271">1271</a> 
<a class="jxr_linenumber" name="1272" href="#1272">1272</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1273" href="#1273">1273</a> <em class="jxr_javadoccomment">     * Test for the existance of the proxied repository specific snapshot metadata in the default managed</em>
<a class="jxr_linenumber" name="1274" href="#1274">1274</a> <em class="jxr_javadoccomment">     * repository, and if it exists, does it contain the expected release maven-metadata.xml contents?</em>
<a class="jxr_linenumber" name="1275" href="#1275">1275</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1276" href="#1276">1276</a> <em class="jxr_javadoccomment">     * @param proxiedRepoId       the repository id of the proxied repository.</em>
<a class="jxr_linenumber" name="1277" href="#1277">1277</a> <em class="jxr_javadoccomment">     * @param requestedResource   the requested resource</em>
<a class="jxr_linenumber" name="1278" href="#1278">1278</a> <em class="jxr_javadoccomment">     * @param expectedDate        the date in "yyyyMMdd" format</em>
<a class="jxr_linenumber" name="1279" href="#1279">1279</a> <em class="jxr_javadoccomment">     * @param expectedTime        the time in "hhmmss" format</em>
<a class="jxr_linenumber" name="1280" href="#1280">1280</a> <em class="jxr_javadoccomment">     * @param expectedBuildnumber the build number</em>
<a class="jxr_linenumber" name="1281" href="#1281">1281</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1282" href="#1282">1282</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1283" href="#1283">1283</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertRepoSnapshotMetadataContents( String proxiedRepoId, String requestedResource,
<a class="jxr_linenumber" name="1284" href="#1284">1284</a>                                                      String expectedDate, String expectedTime, <strong class="jxr_keyword">int</strong> expectedBuildnumber )
<a class="jxr_linenumber" name="1285" href="#1285">1285</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1286" href="#1286">1286</a>     {
<a class="jxr_linenumber" name="1287" href="#1287">1287</a>         String proxiedFile = metadataTools.getRepositorySpecificName( proxiedRepoId, requestedResource );
<a class="jxr_linenumber" name="1288" href="#1288">1288</a> 
<a class="jxr_linenumber" name="1289" href="#1289">1289</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, proxiedFile );
<a class="jxr_linenumber" name="1290" href="#1290">1290</a>         assertTrue( <span class="jxr_string">"Repo Specific Snapshot Metadata should exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1291" href="#1291">1291</a> 
<a class="jxr_linenumber" name="1292" href="#1292">1292</a>         VersionedReference actualMetadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1293" href="#1293">1293</a> 
<a class="jxr_linenumber" name="1294" href="#1294">1294</a>         assertSnapshotMetadata( actualFile, actualMetadata, expectedDate, expectedTime, expectedBuildnumber );
<a class="jxr_linenumber" name="1295" href="#1295">1295</a>     }
<a class="jxr_linenumber" name="1296" href="#1296">1296</a> 
<a class="jxr_linenumber" name="1297" href="#1297">1297</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertSnapshotMetadata( File actualFile, VersionedReference actualMetadata, String expectedDate,
<a class="jxr_linenumber" name="1298" href="#1298">1298</a>                                          String expectedTime, <strong class="jxr_keyword">int</strong> expectedBuildnumber )
<a class="jxr_linenumber" name="1299" href="#1299">1299</a>         <strong class="jxr_keyword">throws</strong> RepositoryMetadataException, Exception
<a class="jxr_linenumber" name="1300" href="#1300">1300</a>     {
<a class="jxr_linenumber" name="1301" href="#1301">1301</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1302" href="#1302">1302</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1303" href="#1303">1303</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1304" href="#1304">1304</a>         m.setGroupId( actualMetadata.getGroupId() );
<a class="jxr_linenumber" name="1305" href="#1305">1305</a>         m.setArtifactId( actualMetadata.getArtifactId() );
<a class="jxr_linenumber" name="1306" href="#1306">1306</a>         m.setVersion( VersionUtil.getBaseVersion( actualMetadata.getVersion() ) );
<a class="jxr_linenumber" name="1307" href="#1307">1307</a> 
<a class="jxr_linenumber" name="1308" href="#1308">1308</a>         m.setSnapshotVersion( <strong class="jxr_keyword">new</strong> SnapshotVersion() );
<a class="jxr_linenumber" name="1309" href="#1309">1309</a> 
<a class="jxr_linenumber" name="1310" href="#1310">1310</a>         <strong class="jxr_keyword">if</strong> ( StringUtils.isNotBlank( expectedDate ) &amp;&amp; StringUtils.isNotBlank( expectedTime ) )
<a class="jxr_linenumber" name="1311" href="#1311">1311</a>         {
<a class="jxr_linenumber" name="1312" href="#1312">1312</a>             m.getSnapshotVersion().setTimestamp( expectedDate + <span class="jxr_string">"."</span> + expectedTime );
<a class="jxr_linenumber" name="1313" href="#1313">1313</a>         }
<a class="jxr_linenumber" name="1314" href="#1314">1314</a> 
<a class="jxr_linenumber" name="1315" href="#1315">1315</a>         m.getSnapshotVersion().setBuildNumber( expectedBuildnumber );
<a class="jxr_linenumber" name="1316" href="#1316">1316</a> 
<a class="jxr_linenumber" name="1317" href="#1317">1317</a>         m.setLastUpdated( expectedDate + expectedTime );
<a class="jxr_linenumber" name="1318" href="#1318">1318</a> 
<a class="jxr_linenumber" name="1319" href="#1319">1319</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1320" href="#1320">1320</a> 
<a class="jxr_linenumber" name="1321" href="#1321">1321</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1322" href="#1322">1322</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1323" href="#1323">1323</a>     }
<a class="jxr_linenumber" name="1324" href="#1324">1324</a> 
<a class="jxr_linenumber" name="1325" href="#1325">1325</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1326" href="#1326">1326</a> <em class="jxr_javadoccomment">     * Ensures that the repository specific maven metadata file exists, and contains the appropriate</em>
<a class="jxr_linenumber" name="1327" href="#1327">1327</a> <em class="jxr_javadoccomment">     * list of expected versions within.</em>
<a class="jxr_linenumber" name="1328" href="#1328">1328</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1329" href="#1329">1329</a> <em class="jxr_javadoccomment">     * @param proxiedRepoId</em>
<a class="jxr_linenumber" name="1330" href="#1330">1330</a> <em class="jxr_javadoccomment">     * @param requestedResource</em>
<a class="jxr_linenumber" name="1331" href="#1331">1331</a> <em class="jxr_javadoccomment">     * @param expectedProxyVersions</em>
<a class="jxr_linenumber" name="1332" href="#1332">1332</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1333" href="#1333">1333</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertRepoProjectMetadata( String proxiedRepoId, String requestedResource,
<a class="jxr_linenumber" name="1334" href="#1334">1334</a>                                             String[] expectedProxyVersions )
<a class="jxr_linenumber" name="1335" href="#1335">1335</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1336" href="#1336">1336</a>     {
<a class="jxr_linenumber" name="1337" href="#1337">1337</a>         String proxiedFile = metadataTools.getRepositorySpecificName( proxiedRepoId, requestedResource );
<a class="jxr_linenumber" name="1338" href="#1338">1338</a> 
<a class="jxr_linenumber" name="1339" href="#1339">1339</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, proxiedFile );
<a class="jxr_linenumber" name="1340" href="#1340">1340</a>         assertTrue( actualFile.exists() );
<a class="jxr_linenumber" name="1341" href="#1341">1341</a> 
<a class="jxr_linenumber" name="1342" href="#1342">1342</a>         ProjectReference metadata = createProjectReference( requestedResource );
<a class="jxr_linenumber" name="1343" href="#1343">1343</a> 
<a class="jxr_linenumber" name="1344" href="#1344">1344</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1345" href="#1345">1345</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1346" href="#1346">1346</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1347" href="#1347">1347</a>         m.setGroupId( metadata.getGroupId() );
<a class="jxr_linenumber" name="1348" href="#1348">1348</a>         m.setArtifactId( metadata.getArtifactId() );
<a class="jxr_linenumber" name="1349" href="#1349">1349</a> 
<a class="jxr_linenumber" name="1350" href="#1350">1350</a>         <strong class="jxr_keyword">if</strong> ( expectedProxyVersions != <strong class="jxr_keyword">null</strong> )
<a class="jxr_linenumber" name="1351" href="#1351">1351</a>         {
<a class="jxr_linenumber" name="1352" href="#1352">1352</a>             m.getAvailableVersions().addAll( Arrays.asList( expectedProxyVersions ) );
<a class="jxr_linenumber" name="1353" href="#1353">1353</a>         }
<a class="jxr_linenumber" name="1354" href="#1354">1354</a> 
<a class="jxr_linenumber" name="1355" href="#1355">1355</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1356" href="#1356">1356</a> 
<a class="jxr_linenumber" name="1357" href="#1357">1357</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1358" href="#1358">1358</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1359" href="#1359">1359</a>     }
<a class="jxr_linenumber" name="1360" href="#1360">1360</a> 
<a class="jxr_linenumber" name="1361" href="#1361">1361</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1362" href="#1362">1362</a> <em class="jxr_javadoccomment">     * Ensures that the repository specific maven metadata file exists, and contains the appropriate</em>
<a class="jxr_linenumber" name="1363" href="#1363">1363</a> <em class="jxr_javadoccomment">     * list of expected versions within.</em>
<a class="jxr_linenumber" name="1364" href="#1364">1364</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1365" href="#1365">1365</a> <em class="jxr_javadoccomment">     * @param proxiedRepoId</em>
<a class="jxr_linenumber" name="1366" href="#1366">1366</a> <em class="jxr_javadoccomment">     * @param requestedResource</em>
<a class="jxr_linenumber" name="1367" href="#1367">1367</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1368" href="#1368">1368</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertRepoReleaseMetadataContents( String proxiedRepoId, String requestedResource )
<a class="jxr_linenumber" name="1369" href="#1369">1369</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1370" href="#1370">1370</a>     {
<a class="jxr_linenumber" name="1371" href="#1371">1371</a>         String proxiedFile = metadataTools.getRepositorySpecificName( proxiedRepoId, requestedResource );
<a class="jxr_linenumber" name="1372" href="#1372">1372</a> 
<a class="jxr_linenumber" name="1373" href="#1373">1373</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, proxiedFile );
<a class="jxr_linenumber" name="1374" href="#1374">1374</a>         assertTrue( <span class="jxr_string">"Release metadata for repo should exist: "</span> + actualFile, actualFile.exists() );
<a class="jxr_linenumber" name="1375" href="#1375">1375</a> 
<a class="jxr_linenumber" name="1376" href="#1376">1376</a>         VersionedReference metadata = createVersionedReference( requestedResource );
<a class="jxr_linenumber" name="1377" href="#1377">1377</a> 
<a class="jxr_linenumber" name="1378" href="#1378">1378</a>         <em class="jxr_comment">// Build expected metadata XML</em>
<a class="jxr_linenumber" name="1379" href="#1379">1379</a>         StringWriter expectedMetadataXml = <strong class="jxr_keyword">new</strong> StringWriter();
<a class="jxr_linenumber" name="1380" href="#1380">1380</a>         ArchivaRepositoryMetadata m = <strong class="jxr_keyword">new</strong> ArchivaRepositoryMetadata();
<a class="jxr_linenumber" name="1381" href="#1381">1381</a>         m.setGroupId( metadata.getGroupId() );
<a class="jxr_linenumber" name="1382" href="#1382">1382</a>         m.setArtifactId( metadata.getArtifactId() );
<a class="jxr_linenumber" name="1383" href="#1383">1383</a>         m.setVersion( metadata.getVersion() );
<a class="jxr_linenumber" name="1384" href="#1384">1384</a>         RepositoryMetadataWriter.write( m, expectedMetadataXml );
<a class="jxr_linenumber" name="1385" href="#1385">1385</a> 
<a class="jxr_linenumber" name="1386" href="#1386">1386</a>         <em class="jxr_comment">// Compare the file to the actual contents.</em>
<a class="jxr_linenumber" name="1387" href="#1387">1387</a>         assertMetadataEquals( expectedMetadataXml.toString(), actualFile );
<a class="jxr_linenumber" name="1388" href="#1388">1388</a>     }
<a class="jxr_linenumber" name="1389" href="#1389">1389</a> 
<a class="jxr_linenumber" name="1390" href="#1390">1390</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1391" href="#1391">1391</a> <em class="jxr_javadoccomment">     * Test for the non-existance of the requestedResource in the default managed repository.</em>
<a class="jxr_linenumber" name="1392" href="#1392">1392</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1393" href="#1393">1393</a> <em class="jxr_javadoccomment">     * @param requestedResource the requested resource</em>
<a class="jxr_linenumber" name="1394" href="#1394">1394</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a class="jxr_linenumber" name="1395" href="#1395">1395</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1396" href="#1396">1396</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> assertResourceNotFound( String requestedResource )
<a class="jxr_linenumber" name="1397" href="#1397">1397</a>         <strong class="jxr_keyword">throws</strong> Exception
<a class="jxr_linenumber" name="1398" href="#1398">1398</a>     {
<a class="jxr_linenumber" name="1399" href="#1399">1399</a>         File actualFile = <strong class="jxr_keyword">new</strong> File( managedDefaultDir, requestedResource );
<a class="jxr_linenumber" name="1400" href="#1400">1400</a>         assertFalse( <span class="jxr_string">"Resource should not exist: "</span> + requestedResource, actualFile.exists() );
<a class="jxr_linenumber" name="1401" href="#1401">1401</a>     }
<a class="jxr_linenumber" name="1402" href="#1402">1402</a> 
<a class="jxr_linenumber" name="1403" href="#1403">1403</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>
