3232import org .junit .jupiter .api .Test ;
3333
3434import static org .junit .jupiter .api .Assertions .assertEquals ;
35+ import static org .junit .jupiter .api .Assertions .assertNotEquals ;
3536import static org .junit .jupiter .api .Assertions .assertNotNull ;
3637import static org .junit .jupiter .api .Assertions .assertNull ;
38+ import static org .junit .jupiter .api .Assertions .assertTrue ;
3739import static org .junit .jupiter .api .Assertions .fail ;
3840
3941class MetaCacheManagerTest {
@@ -66,24 +68,44 @@ void testCache() {
6668 // cacheManager.setExtensionAccessor(extensionAccessor);
6769
6870 MetadataInfo metadataInfo = cacheManager .get ("1" );
69- assertNotNull (metadataInfo );
70- assertEquals ("demo" , metadataInfo .getApp ());
71+ assertNull (metadataInfo );
7172 metadataInfo = cacheManager .get ("2" );
7273 assertNull (metadataInfo );
7374
75+ metadataInfo = cacheManager .get ("065787862412c2cc0a1b9577bc194c9a" );
76+ assertNotNull (metadataInfo );
77+ assertEquals ("demo" , metadataInfo .getApp ());
78+
7479 Map <String , MetadataInfo > newMetadatas = new HashMap <>();
7580 MetadataInfo metadataInfo2 = JsonUtils .toJavaObject (
7681 "{\" app\" :\" demo2\" ,\" services\" :{\" greeting/org.apache.dubbo.registry.service.DemoService2:1.0.0:dubbo\" :{\" name\" :\" org.apache.dubbo.registry.service.DemoService2\" ,\" group\" :\" greeting\" ,\" version\" :\" 1.0.0\" ,\" protocol\" :\" dubbo\" ,\" path\" :\" org.apache.dubbo.registry.service.DemoService2\" ,\" params\" :{\" application\" :\" demo-provider2\" ,\" sayHello.timeout\" :\" 7000\" ,\" version\" :\" 1.0.0\" ,\" timeout\" :\" 5000\" ,\" group\" :\" greeting\" }},\" greeting/org.apache.dubbo.registry.service.DemoService:1.0.0:dubbo\" :{\" name\" :\" org.apache.dubbo.registry.service.DemoService\" ,\" group\" :\" greeting\" ,\" version\" :\" 1.0.0\" ,\" protocol\" :\" dubbo\" ,\" path\" :\" org.apache.dubbo.registry.service.DemoService\" ,\" params\" :{\" application\" :\" demo-provider2\" ,\" version\" :\" 1.0.0\" ,\" timeout\" :\" 5000\" ,\" group\" :\" greeting\" }}}}\n " ,
7782 MetadataInfo .class );
83+ assertNotEquals ("2" , metadataInfo2 .calRevision ());
7884 newMetadatas .put ("2" , metadataInfo2 );
7985
86+ MetadataInfo metadataInfo3 = JsonUtils .toJavaObject (
87+ "{\" app\" :\" demo3\" ,\" services\" :{\" greeting/org.apache.dubbo.registry.service.DemoService3:1.0.0:dubbo\" :{\" name\" :\" org.apache.dubbo.registry.service.DemoService3\" ,\" group\" :\" greeting\" ,\" version\" :\" 1.0.0\" ,\" protocol\" :\" dubbo\" ,\" path\" :\" org.apache.dubbo.registry.service.DemoService3\" ,\" params\" :{\" application\" :\" demo-provider3\" ,\" sayHello.timeout\" :\" 7000\" ,\" version\" :\" 1.0.0\" ,\" timeout\" :\" 5000\" ,\" group\" :\" greeting\" }},\" greeting/org.apache.dubbo.registry.service.DemoService:1.0.0:dubbo\" :{\" name\" :\" org.apache.dubbo.registry.service.DemoService\" ,\" group\" :\" greeting\" ,\" version\" :\" 1.0.0\" ,\" protocol\" :\" dubbo\" ,\" path\" :\" org.apache.dubbo.registry.service.DemoService\" ,\" params\" :{\" application\" :\" demo-provider3\" ,\" version\" :\" 1.0.0\" ,\" timeout\" :\" 5000\" ,\" group\" :\" greeting\" }}}}\n " ,
88+ MetadataInfo .class );
89+ assertEquals ("84f10ebf1226b496c9ff102f311918e4" , metadataInfo3 .calRevision ());
90+ newMetadatas .put ("84f10ebf1226b496c9ff102f311918e4" , metadataInfo3 );
91+
8092 cacheManager .update (newMetadatas );
8193 metadataInfo = cacheManager .get ("1" );
94+ assertNull (metadataInfo );
95+
96+ metadataInfo = cacheManager .get ("065787862412c2cc0a1b9577bc194c9a" );
8297 assertNotNull (metadataInfo );
8398 assertEquals ("demo" , metadataInfo .getApp ());
99+
84100 metadataInfo = cacheManager .get ("2" );
101+ assertNull (metadataInfo );
102+
103+ metadataInfo = cacheManager .get ("84f10ebf1226b496c9ff102f311918e4" );
85104 assertNotNull (metadataInfo );
86- assertEquals ("demo2" , metadataInfo .getApp ());
105+ assertEquals ("demo3" , metadataInfo .getApp ());
106+ assertTrue (metadataInfo
107+ .getServices ()
108+ .containsKey ("greeting/org.apache.dubbo.registry.service.DemoService3:1.0.0:dubbo" ));
87109 } finally {
88110 cacheManager .destroy ();
89111 }
@@ -97,7 +119,8 @@ void testCacheDump() {
97119 MetadataInfo .class );
98120 MetaCacheManager cacheManager = new MetaCacheManager ();
99121 try {
100- cacheManager .put ("3" , metadataInfo3 );
122+ assertEquals ("97370ff779b6b6ebb7012bae61710de2" , metadataInfo3 .calRevision ());
123+ cacheManager .put ("97370ff779b6b6ebb7012bae61710de2" , metadataInfo3 );
101124
102125 try {
103126 MetaCacheManager .CacheRefreshTask <MetadataInfo > task = new MetaCacheManager .CacheRefreshTask <>(
@@ -112,7 +135,7 @@ void testCacheDump() {
112135 MetaCacheManager newCacheManager = null ;
113136 try {
114137 newCacheManager = new MetaCacheManager ();
115- MetadataInfo metadataInfo = newCacheManager .get ("3 " );
138+ MetadataInfo metadataInfo = newCacheManager .get ("97370ff779b6b6ebb7012bae61710de2 " );
116139 assertNotNull (metadataInfo );
117140 assertEquals ("demo3" , metadataInfo .getApp ());
118141 } finally {
0 commit comments