Ankush Choubey
Ankush Choubey

Reputation: 69

Configuring Chaos Monkey for Spring Boot in J Unit Test

I'm trying to run Chaos Engineering for Spring Boot with JUnit Tests in deterministic mode so that the WebClient and @Service would be assaulted in JUnit itself.

application-test-properties

spring.profiles.active=chaos-monkey
chaos.monkey.enabled=true
chaos.monkey.watcher.service=true
chaos.monkey.watcher.repository=true
chaos.monkey.watcher.component=true

chaos.money.watcher.webClient=true

chaos.monkey.assaults.deterministic=true
chaos.monkey.assaults.latencyActive=true
chaos.monkey.assaults.latencyRangeStart=20000
chaos.monkey.assaults.latencyRangeEnd=200000

chaos.monkey.assaults.exceptionsActive=true

Test

@SpringBootTest
@ContextConfiguration(classes = {
        ChaosMonkeyConfiguration.class,
        ... more classes ...
})
@TestPropertySource(locations="classpath:application-test.properties")
class AWebTestClass{

... code to test service that uses webtest client
}

according to documentation the testClass has a WebClient bean autowired. Here is the issue I'm facing

{beans from ChaosMonkeyConfiguration.class} is not eligible for getting processed by all BeanPostProcessors 
2022-09-14 19:36:51.026  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaos.monkey.watcher-de.codecentric.spring.boot.chaos.monkey.configuration.WatcherProperties' of type [de.codecentric.spring.boot.chaos.monkey.configuration.WatcherProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.038  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeyAdvisorConfiguration' of type [de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeyAdvisorConfiguration$$EnhancerBySpringCGLIB$$f7d1738d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.055  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaos.monkey-de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeyProperties' of type [de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeyProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.084  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaos.monkey.assaults-de.codecentric.spring.boot.chaos.monkey.configuration.AssaultProperties' of type [de.codecentric.spring.boot.chaos.monkey.configuration.AssaultProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.098  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaosMonkeyConfiguration' of type [de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeyConfiguration$$EnhancerBySpringCGLIB$$ec5b4f3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.138  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'settings' of type [de.codecentric.spring.boot.chaos.monkey.configuration.ChaosMonkeySettings] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.144  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'publisher' of type [de.codecentric.spring.boot.chaos.monkey.component.MetricEventPublisher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.149  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'latencyAssault' of type [de.codecentric.spring.boot.chaos.monkey.assaults.LatencyAssault] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.154  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'exceptionAssault' of type [de.codecentric.spring.boot.chaos.monkey.assaults.ExceptionAssault] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.164  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'killAppAssault' of type [de.codecentric.spring.boot.chaos.monkey.assaults.KillAppAssault] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.176  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'memoryAssault' of type [de.codecentric.spring.boot.chaos.monkey.assaults.MemoryAssault] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.182  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'cpuAssault' of type [de.codecentric.spring.boot.chaos.monkey.assaults.CpuAssault] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.190  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaosToggles' of type [de.codecentric.spring.boot.chaos.monkey.configuration.toggles.DefaultChaosToggles] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.200  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaosToggleNameMapper' of type [de.codecentric.spring.boot.chaos.monkey.configuration.toggles.DefaultChaosToggleNameMapper] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-09-14 19:36:51.207  INFO 410801 --- [Pool-1-worker-2] trationDelegate$BeanPostProcessorChecker : Bean 'chaosMonkeyRequestScope' of type [de.codecentric.spring.boot.chaos.monkey.component.ChaosMonkeyRequestScope] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

I added debug points in ChaosMonkeyWebClientWatcher but it doesn't stop. And I didn't face latency assault.

The codebase is Spring-Webflux

Am I missing something here?

Upvotes: 3

Views: 303

Answers (0)

Related Questions