Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
b1d159b3
Commit
b1d159b3
authored
Oct 29, 2018
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14975 from Christoph Dreis
* gh-14975: Use MeterRegistry.isClosed() for tests
parents
974f90ce
62ca9e47
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
39 additions
and
230 deletions
+39
-230
AtlasMetricsExportAutoConfigurationTests.java
...xport/atlas/AtlasMetricsExportAutoConfigurationTests.java
+4
-23
DatadogMetricsExportAutoConfigurationTests.java
...t/datadog/DatadogMetricsExportAutoConfigurationTests.java
+4
-23
GangliaMetricsExportAutoConfigurationTests.java
...t/ganglia/GangliaMetricsExportAutoConfigurationTests.java
+4
-23
GraphiteMetricsExportAutoConfigurationTests.java
...graphite/GraphiteMetricsExportAutoConfigurationTests.java
+4
-23
InfluxMetricsExportAutoConfigurationTests.java
...ort/influx/InfluxMetricsExportAutoConfigurationTests.java
+4
-23
JmxMetricsExportAutoConfigurationTests.java
...cs/export/jmx/JmxMetricsExportAutoConfigurationTests.java
+3
-23
NewRelicMetricsExportAutoConfigurationTests.java
...newrelic/NewRelicMetricsExportAutoConfigurationTests.java
+4
-23
SignalFxMetricsExportAutoConfigurationTests.java
...signalfx/SignalFxMetricsExportAutoConfigurationTests.java
+4
-23
StatsdMetricsExportAutoConfigurationTests.java
...ort/statsd/StatsdMetricsExportAutoConfigurationTests.java
+4
-23
WavefrontMetricsExportAutoConfigurationTests.java
...vefront/WavefrontMetricsExportAutoConfigurationTests.java
+4
-23
No files found.
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
atlas
;
import
java.util.Map
;
import
com.netflix.spectator.atlas.AtlasConfig
;
import
io.micrometer.atlas.AtlasMeterRegistry
;
import
io.micrometer.core.instrument.Clock
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link AtlasMetricsExportAutoConfiguration}.
...
...
@@ -89,27 +83,14 @@ public class AtlasMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
AtlasMeterRegistry
registry
=
spyOnDisposableBean
(
AtlasMeterRegistry
.
class
,
context
);
AtlasMeterRegistry
registry
=
context
.
getBean
(
AtlasMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
datadog
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.datadog.DatadogConfig
;
import
io.micrometer.datadog.DatadogMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link DatadogMetricsExportAutoConfiguration}.
...
...
@@ -98,27 +92,14 @@ public class DatadogMetricsExportAutoConfigurationTests {
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
withPropertyValues
(
"management.metrics.export.datadog.api-key=abcde"
)
.
run
((
context
)
->
{
DatadogMeterRegistry
registry
=
spyOnDisposableBean
(
DatadogMeterRegistry
.
class
,
context
);
DatadogMeterRegistry
registry
=
context
.
getBean
(
DatadogMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
ganglia
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.ganglia.GangliaConfig
;
import
io.micrometer.ganglia.GangliaMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link GangliaMetricsExportAutoConfiguration}.
...
...
@@ -89,27 +83,14 @@ public class GangliaMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
GangliaMeterRegistry
registry
=
spyOnDisposableBean
(
GangliaMeterRegistry
.
class
,
context
);
GangliaMeterRegistry
registry
=
context
.
getBean
(
GangliaMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,8 +16,6 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
graphite
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.core.instrument.Tags
;
import
io.micrometer.graphite.GraphiteConfig
;
...
...
@@ -25,16 +23,12 @@ import io.micrometer.graphite.GraphiteMeterRegistry;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link GraphiteMetricsExportAutoConfiguration}.
...
...
@@ -106,27 +100,14 @@ public class GraphiteMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
GraphiteMeterRegistry
registry
=
spyOnDisposableBean
(
GraphiteMeterRegistry
.
class
,
context
);
GraphiteMeterRegistry
registry
=
context
.
getBean
(
GraphiteMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
influx
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.influx.InfluxConfig
;
import
io.micrometer.influx.InfluxMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link InfluxMetricsExportAutoConfiguration}.
...
...
@@ -89,27 +83,14 @@ public class InfluxMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
InfluxMeterRegistry
registry
=
spyOnDisposableBean
(
InfluxMeterRegistry
.
class
,
context
);
InfluxMeterRegistry
registry
=
context
.
getBean
(
InfluxMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
jmx
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.jmx.JmxConfig
;
import
io.micrometer.jmx.JmxMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link JmxMetricsExportAutoConfiguration}.
...
...
@@ -89,27 +83,13 @@ public class JmxMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
JmxMeterRegistry
registry
=
spyOnDisposableBean
(
JmxMeterRegistry
.
class
,
context
);
JmxMeterRegistry
registry
=
context
.
getBean
(
JmxMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
(
);
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
newrelic
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.newrelic.NewRelicConfig
;
import
io.micrometer.newrelic.NewRelicMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
*
...
...
@@ -111,27 +105,14 @@ public class NewRelicMetricsExportAutoConfigurationTests {
.
withPropertyValues
(
"management.metrics.export.newrelic.api-key=abcde"
,
"management.metrics.export.newrelic.account-id=abcde"
)
.
withUserConfiguration
(
BaseConfiguration
.
class
).
run
((
context
)
->
{
NewRelicMeterRegistry
registry
=
spyOnDisposableBean
(
NewRelicMeterRegistry
.
class
,
context
);
NewRelicMeterRegistry
registry
=
context
.
getBean
(
NewRelicMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
signalfx
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.signalfx.SignalFxConfig
;
import
io.micrometer.signalfx.SignalFxMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link SignalFxMetricsExportAutoConfiguration}.
...
...
@@ -106,27 +100,14 @@ public class SignalFxMetricsExportAutoConfigurationTests {
.
withPropertyValues
(
"management.metrics.export.signalfx.access-token=abcde"
)
.
withUserConfiguration
(
BaseConfiguration
.
class
).
run
((
context
)
->
{
SignalFxMeterRegistry
registry
=
spyOnDisposableBean
(
SignalFxMeterRegistry
.
class
,
context
);
SignalFxMeterRegistry
registry
=
context
.
getBean
(
SignalFxMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,8 +16,6 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
statsd
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.statsd.StatsdConfig
;
import
io.micrometer.statsd.StatsdMeterRegistry
;
...
...
@@ -25,16 +23,12 @@ import io.micrometer.statsd.StatsdMetrics;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link StatsdMetricsExportAutoConfiguration}.
...
...
@@ -91,27 +85,14 @@ public class StatsdMetricsExportAutoConfigurationTests {
public
void
stopsMeterRegistryWhenContextIsClosed
()
{
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
run
((
context
)
->
{
StatsdMeterRegistry
registry
=
spyOnDisposableBean
(
StatsdMeterRegistry
.
class
,
context
);
StatsdMeterRegistry
registry
=
context
.
getBean
(
StatsdMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfigurationTests.java
View file @
b1d159b3
...
...
@@ -16,24 +16,18 @@
package
org
.
springframework
.
boot
.
actuate
.
autoconfigure
.
metrics
.
export
.
wavefront
;
import
java.util.Map
;
import
io.micrometer.core.instrument.Clock
;
import
io.micrometer.wavefront.WavefrontConfig
;
import
io.micrometer.wavefront.WavefrontMeterRegistry
;
import
org.junit.Test
;
import
org.springframework.boot.autoconfigure.AutoConfigurations
;
import
org.springframework.boot.test.context.assertj.AssertableApplicationContext
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
verify
;
/**
* Tests for {@link WavefrontMetricsExportAutoConfiguration}.
...
...
@@ -90,27 +84,14 @@ public class WavefrontMetricsExportAutoConfigurationTests {
this
.
contextRunner
.
withUserConfiguration
(
BaseConfiguration
.
class
)
.
withPropertyValues
(
"management.metrics.export.wavefront.api-token=abcde"
)
.
run
((
context
)
->
{
WavefrontMeterRegistry
registry
=
spyOnDisposableBean
(
WavefrontMeterRegistry
.
class
,
context
);
WavefrontMeterRegistry
registry
=
context
.
getBean
(
WavefrontMeterRegistry
.
class
);
assertThat
(
registry
.
isClosed
()).
isFalse
();
context
.
close
();
verify
(
registry
).
stop
();
assertThat
(
registry
.
isClosed
()).
isTrue
();
});
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
T
spyOnDisposableBean
(
Class
<
T
>
type
,
AssertableApplicationContext
context
)
{
String
[]
names
=
context
.
getBeanNamesForType
(
type
);
assertThat
(
names
).
hasSize
(
1
);
String
registryBeanName
=
names
[
0
];
Map
<
String
,
Object
>
disposableBeans
=
(
Map
<
String
,
Object
>)
ReflectionTestUtils
.
getField
(
context
.
getAutowireCapableBeanFactory
(),
"disposableBeans"
);
Object
registryAdapter
=
disposableBeans
.
get
(
registryBeanName
);
T
registry
=
(
T
)
spy
(
ReflectionTestUtils
.
getField
(
registryAdapter
,
"bean"
));
ReflectionTestUtils
.
setField
(
registryAdapter
,
"bean"
,
registry
);
return
registry
;
}
@Configuration
static
class
BaseConfiguration
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment