2929import java .net .InetAddress ;
3030import java .util .concurrent .CompletableFuture ;
3131import java .util .concurrent .ExecutionException ;
32+ import java .util .function .Consumer ;
3233import org .apache .dubbo .common .utils .NetUtils ;
3334import org .apache .dubbo .config .ApplicationConfig ;
3435import org .apache .dubbo .config .ProtocolConfig ;
@@ -144,16 +145,10 @@ void testApacheDubboBase() throws ReflectiveOperationException {
144145 satisfies (SERVER_PORT , k -> k .isInstanceOf (Long .class )),
145146 satisfies (
146147 NETWORK_PEER_ADDRESS ,
147- k ->
148- k .satisfiesAnyOf (
149- val -> assertThat (val ).isNull (),
150- val -> assertThat (val ).isInstanceOf (String .class ))),
148+ k -> assertLatestDeps (k , a -> a .isInstanceOf (String .class ))),
151149 satisfies (
152150 NETWORK_PEER_PORT ,
153- k ->
154- k .satisfiesAnyOf (
155- val -> assertThat (val ).isNull (),
156- val -> assertThat (val ).isInstanceOf (Long .class ))),
151+ k -> assertLatestDeps (k , a -> a .isInstanceOf (Long .class ))),
157152 satisfies (NETWORK_TYPE , AbstractDubboTest ::assertNetworkType )),
158153 span ->
159154 span .hasName (
@@ -169,8 +164,7 @@ void testApacheDubboBase() throws ReflectiveOperationException {
169164 "io.opentelemetry.instrumentation.apachedubbo.v2_7.api.HelloService" ),
170165 equalTo (RPC_METHOD , "hello" ),
171166 satisfies (NETWORK_PEER_ADDRESS , k -> k .isInstanceOf (String .class )),
172- satisfies (NETWORK_PEER_PORT , k -> k .isInstanceOf (Long .class )),
173- satisfies (NETWORK_TYPE , AbstractAssert ::isNull ))));
167+ satisfies (NETWORK_PEER_PORT , k -> k .isInstanceOf (Long .class )))));
174168
175169 testing ()
176170 .waitAndAssertMetrics (
@@ -282,23 +276,11 @@ void testApacheDubboTest()
282276 satisfies (SERVER_PORT , k -> k .isInstanceOf (Long .class )),
283277 satisfies (
284278 NETWORK_PEER_ADDRESS ,
285- k ->
286- k .satisfiesAnyOf (
287- val -> assertThat (val ).isNull (),
288- val -> assertThat (val ).isInstanceOf (String .class ))),
279+ k -> assertLatestDeps (k , a -> a .isInstanceOf (String .class ))),
289280 satisfies (
290281 NETWORK_PEER_PORT ,
291- k ->
292- k .satisfiesAnyOf (
293- val -> assertThat (val ).isNull (),
294- val -> assertThat (val ).isInstanceOf (Long .class ))),
295- satisfies (
296- NETWORK_TYPE ,
297- k ->
298- k .satisfiesAnyOf (
299- val -> assertThat (val ).isNull (),
300- val -> assertThat (val ).isEqualTo ("ipv4" ),
301- val -> assertThat (val ).isEqualTo ("ipv6" )))),
282+ k -> assertLatestDeps (k , a -> a .isInstanceOf (Long .class ))),
283+ satisfies (NETWORK_TYPE , AbstractDubboTest ::assertNetworkType )),
302284 span ->
303285 span .hasName (
304286 "io.opentelemetry.instrumentation.apachedubbo.v2_7.api.HelloService/hello" )
@@ -314,13 +296,18 @@ void testApacheDubboTest()
314296 equalTo (RPC_METHOD , "hello" ),
315297 satisfies (NETWORK_PEER_ADDRESS , k -> k .isInstanceOf (String .class )),
316298 satisfies (NETWORK_PEER_PORT , k -> k .isInstanceOf (Long .class )),
299+ // this attribute is not filled reliably, it is either null or
300+ // "ipv4"/"ipv6"
317301 satisfies (
318302 NETWORK_TYPE ,
319303 k ->
320- k .satisfiesAnyOf (
321- val -> assertThat (val ).isNull (),
322- val -> assertThat (val ).isEqualTo ("ipv4" ),
323- val -> assertThat (val ).isEqualTo ("ipv6" ))))));
304+ assertLatestDeps (
305+ k ,
306+ a ->
307+ a .satisfiesAnyOf (
308+ val -> assertThat (val ).isNull (),
309+ val -> assertThat (val ).isEqualTo ("ipv4" ),
310+ val -> assertThat (val ).isEqualTo ("ipv6" )))))));
324311
325312 testing ()
326313 .waitAndAssertMetrics (
@@ -376,11 +363,20 @@ void testApacheDubboTest()
376363 }
377364
378365 static void assertNetworkType (AbstractStringAssert <?> stringAssert ) {
366+ assertLatestDeps (
367+ stringAssert ,
368+ a ->
369+ a .satisfiesAnyOf (
370+ val -> assertThat (val ).isEqualTo ("ipv4" ),
371+ val -> assertThat (val ).isEqualTo ("ipv6" )));
372+ }
373+
374+ static void assertLatestDeps (
375+ AbstractAssert <?, ?> assertion , Consumer <AbstractAssert <?, ?>> action ) {
379376 if (Boolean .getBoolean ("testLatestDeps" )) {
380- stringAssert .satisfiesAnyOf (
381- val -> assertThat (val ).isEqualTo ("ipv4" ), val -> assertThat (val ).isEqualTo ("ipv6" ));
377+ action .accept (assertion );
382378 } else {
383- stringAssert .isNull ();
379+ assertion .isNull ();
384380 }
385381 }
386382}
0 commit comments