1 package org.eclipse.aether.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.junit.Assert.*;
23
24 import java.util.Arrays;
25 import java.util.List;
26
27 import org.eclipse.aether.RepositorySystem;
28 import org.eclipse.aether.impl.ArtifactDescriptorReader;
29 import org.eclipse.aether.impl.DefaultServiceLocator;
30 import org.eclipse.aether.impl.VersionRangeResolver;
31 import org.eclipse.aether.impl.VersionResolver;
32 import org.eclipse.aether.spi.locator.Service;
33 import org.eclipse.aether.spi.locator.ServiceLocator;
34 import org.junit.Test;
35
36
37
38 public class DefaultServiceLocatorTest
39 {
40
41 @Test
42 public void testGetRepositorySystem()
43 {
44 DefaultServiceLocator locator = new DefaultServiceLocator();
45 locator.addService( ArtifactDescriptorReader.class, StubArtifactDescriptorReader.class );
46 locator.addService( VersionResolver.class, StubVersionResolver.class );
47 locator.addService( VersionRangeResolver.class, StubVersionRangeResolver.class );
48
49 RepositorySystem repoSys = locator.getService( RepositorySystem.class );
50 assertNotNull( repoSys );
51 }
52
53 @Test
54 public void testGetServicesUnmodifiable()
55 {
56 DefaultServiceLocator locator = new DefaultServiceLocator();
57 locator.setServices( String.class, "one", "two" );
58 List<String> services = locator.getServices( String.class );
59 assertNotNull( services );
60 try
61 {
62 services.set( 0, "fail" );
63 fail( "service list is modifable" );
64 }
65 catch ( UnsupportedOperationException e )
66 {
67
68 }
69 }
70
71 @Test
72 public void testSetInstancesAddClass()
73 {
74 DefaultServiceLocator locator = new DefaultServiceLocator();
75 locator.setServices( String.class, "one", "two" );
76 locator.addService( String.class, String.class );
77 assertEquals( Arrays.asList( "one", "two", "" ), locator.getServices( String.class ) );
78 }
79
80 @Test
81 public void testInitService()
82 {
83 DefaultServiceLocator locator = new DefaultServiceLocator();
84 locator.setService( DummyService.class, DummyService.class );
85 DummyService service = locator.getService( DummyService.class );
86 assertNotNull( service );
87 assertNotNull( service.locator );
88 }
89
90 private static class DummyService
91 implements Service
92 {
93
94 public ServiceLocator locator;
95
96 public void initService( ServiceLocator locator )
97 {
98 this.locator = locator;
99 }
100
101 }
102
103 }