1 package org.apache.archiva.rest.services;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.admin.model.beans.ManagedRepository;
23 import org.apache.archiva.rest.api.model.ArchivaRepositoryStatistics;
24 import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
25 import org.apache.archiva.rest.api.services.RepositoriesService;
26 import org.junit.Test;
27
28 import java.io.File;
29
30
31
32
33 public class ManagedRepositoriesServiceTest
34 extends AbstractArchivaRestTest
35 {
36
37
38 @Test
39 public void addManagedRepo()
40 throws Exception
41 {
42 ManagedRepositoriesService service = getManagedRepositoriesService( authorizationHeader );
43
44 ManagedRepository repo = getTestManagedRepository();
45 if ( service.getManagedRepository( repo.getId() ) != null )
46 {
47 service.deleteManagedRepository( repo.getId(), true );
48 assertNull( service.getManagedRepository( repo.getId() ) );
49 }
50 service.addManagedRepository( repo );
51 repo = service.getManagedRepository( repo.getId() );
52 assertNotNull( repo );
53
54 assertEquals( getTestManagedRepository().getDescription(), repo.getDescription() );
55
56 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
57
58 int timeout = 20000;
59 while ( timeout > 0 && repositoriesService.alreadyScanning( repo.getId() ) )
60 {
61 Thread.sleep( 500 );
62 timeout -= 500;
63 }
64
65 service.deleteManagedRepository( repo.getId(), true );
66 assertNull( service.getManagedRepository( repo.getId() ) );
67 }
68
69 @Test
70 public void updateManagedRepo()
71 throws Exception
72 {
73 ManagedRepositoriesService service = getManagedRepositoriesService( authorizationHeader );
74
75 ManagedRepository repo = getTestManagedRepository();
76 if ( service.getManagedRepository( repo.getId() ) != null )
77 {
78 service.deleteManagedRepository( repo.getId(), true );
79 assertNull( service.getManagedRepository( repo.getId() ) );
80 }
81 service.addManagedRepository( repo );
82
83 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
84
85 int timeout = 20000;
86 while ( timeout > 0 && repositoriesService.alreadyScanning( repo.getId() ) )
87 {
88 Thread.sleep( 500 );
89 timeout -= 500;
90 }
91
92 repo = service.getManagedRepository( repo.getId() );
93 assertNotNull( repo );
94 assertEquals( "test", repo.getName() );
95
96 repo.setName( "toto" );
97
98 service.updateManagedRepository( repo );
99
100 repo = service.getManagedRepository( repo.getId() );
101 assertNotNull( repo );
102 assertEquals( "toto", repo.getName() );
103
104 timeout = 20000;
105 while ( timeout > 0 && repositoriesService.alreadyScanning( repo.getId() ) )
106 {
107 Thread.sleep( 500 );
108 timeout -= 500;
109 }
110
111 service.deleteManagedRepository( repo.getId(), true );
112 assertNull( service.getManagedRepository( repo.getId() ) );
113
114 }
115
116
117 public void fileLocationExists()
118 throws Exception
119 {
120 ManagedRepositoriesService service = getManagedRepositoriesService( authorizationHeader );
121 File target = new File( "target" );
122
123 assertTrue( service.fileLocationExists( target.getCanonicalPath() ) );
124
125
126 assertFalse( service.fileLocationExists( "/fooofofof/foddfdofd/dedede/kdeo" ) );
127
128 }
129
130 @Test
131 public void getManagedRepositoryStatistics()
132 throws Exception
133 {
134
135 String testRepoId = "test-repo";
136
137 if ( getUserService( authorizationHeader ).getGuestUser() == null )
138 {
139 assertNotNull( getUserService( authorizationHeader ).createGuestUser() );
140 }
141
142 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
143
144 createAndIndexRepo( testRepoId,
145 new File( System.getProperty( "basedir" ), "src/test/repo-with-osgi" ).getAbsolutePath() );
146
147 repositoriesService.scanRepositoryDirectoriesNow( testRepoId );
148
149 int timeout = 20000;
150 while ( timeout > 0 && repositoriesService.alreadyScanning( testRepoId ) )
151 {
152 Thread.sleep( 500 );
153 timeout -= 500;
154 }
155
156 ManagedRepositoriesService service = getManagedRepositoriesService( authorizationHeader );
157
158 ArchivaRepositoryStatistics archivaRepositoryStatistics =
159 service.getManagedRepositoryStatistics( testRepoId, "en" );
160
161 assertNotNull( archivaRepositoryStatistics );
162
163 log.info( "archivaRepositoryStatistics: {}", archivaRepositoryStatistics.toString() );
164
165 assertEquals( 92, archivaRepositoryStatistics.getNewFileCount() );
166 assertEquals( 92, archivaRepositoryStatistics.getTotalFileCount() );
167
168 deleteTestRepo( testRepoId );
169 }
170
171
172 }