1 package org.apache.maven.archiva.policies;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.util.Properties;
24
25 import org.apache.maven.archiva.policies.urlcache.UrlFailureCache;
26 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
27
28
29
30
31
32
33 public class CachedFailuresPolicyTest
34 extends PlexusInSpringTestCase
35 {
36 private DownloadPolicy lookupPolicy()
37 throws Exception
38 {
39 return (DownloadPolicy) lookup( PreDownloadPolicy.class, "cache-failures" );
40 }
41
42 private File getFile()
43 {
44 return new File( "target/cache-failures/" + getName() + ".txt" );
45 }
46
47 private Properties createRequest()
48 {
49 Properties request = new Properties();
50
51 return request;
52 }
53
54 public void testPolicyNo()
55 throws Exception
56 {
57 DownloadPolicy policy = lookupPolicy();
58 File localFile = getFile();
59 Properties request = createRequest();
60
61 request.setProperty( "url", "http://a.bad.hostname.maven.org/path/to/resource.txt" );
62
63 policy.applyPolicy( CachedFailuresPolicy.NO, request, localFile );
64 }
65
66 public void testPolicyYesNotInCache()
67 throws Exception
68 {
69 DownloadPolicy policy = lookupPolicy();
70 File localFile = getFile();
71 Properties request = createRequest();
72
73 request.setProperty( "url", "http://a.bad.hostname.maven.org/path/to/resource.txt" );
74
75 policy.applyPolicy( CachedFailuresPolicy.YES, request, localFile );
76 }
77
78 public void testPolicyYesInCache()
79 throws Exception
80 {
81 DownloadPolicy policy = lookupPolicy();
82 File localFile = getFile();
83 Properties request = createRequest();
84
85 String url = "http://a.bad.hostname.maven.org/path/to/resource.txt";
86
87 UrlFailureCache urlFailureCache = (UrlFailureCache) lookup( "urlFailureCache" );
88 urlFailureCache.cacheFailure( url );
89
90 request.setProperty( "url", url );
91
92 try
93 {
94 policy.applyPolicy( CachedFailuresPolicy.YES, request, localFile );
95 fail( "Expected a PolicyViolationException." );
96 }
97 catch ( PolicyViolationException e )
98 {
99
100 }
101 }
102 }