From fbb39b97b92f4f006d85a699e06507e131c0673c Mon Sep 17 00:00:00 2001 From: John Blum Date: Thu, 21 May 2020 21:42:46 -0700 Subject: [PATCH] Add Unit Tests for GemFireMockObjectsApplicationContextInitializer. --- ...pplicationContextInitializerUnitTests.java | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/mock/context/GemFireMockObjectsApplicationContextInitializerUnitTests.java diff --git a/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/mock/context/GemFireMockObjectsApplicationContextInitializerUnitTests.java b/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/mock/context/GemFireMockObjectsApplicationContextInitializerUnitTests.java new file mode 100644 index 0000000..4dd4f1d --- /dev/null +++ b/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/mock/context/GemFireMockObjectsApplicationContextInitializerUnitTests.java @@ -0,0 +1,63 @@ +/* + * Copyright 2019 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ +package org.springframework.data.gemfire.tests.mock.context; + +import static org.mockito.ArgumentMatchers.isA; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import org.junit.Test; + +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.data.gemfire.tests.mock.beans.factory.config.GemFireMockObjectsBeanPostProcessor; + +/** + * Unit Tests for {@link GemFireMockObjectsApplicationContextInitializer}. + * + * @author John Blum + * @see org.junit.Test + * @see org.mockito.Mockito + * @see org.springframework.beans.factory.config.BeanPostProcessor + * @see org.springframework.beans.factory.config.ConfigurableListableBeanFactory + * @see org.springframework.context.ConfigurableApplicationContext + * @see org.springframework.data.gemfire.tests.mock.beans.factory.config.GemFireMockObjectsBeanPostProcessor + * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer + * @since 0.0.16 + */ +public class GemFireMockObjectsApplicationContextInitializerUnitTests { + + @Test + public void initializesBeanFactoryWithGemFireMockObjectBeanPostProcessor() { + + ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class); + + ConfigurableListableBeanFactory mockBeanFactory = mock(ConfigurableListableBeanFactory.class); + + doReturn(mockBeanFactory).when(mockApplicationContext).getBeanFactory(); + + GemFireMockObjectsApplicationContextInitializer initializer = + new GemFireMockObjectsApplicationContextInitializer(); + + initializer.initialize(mockApplicationContext); + + verify(mockApplicationContext, times(1)).getBeanFactory(); + verify(mockBeanFactory, times(1)) + .addBeanPostProcessor(isA(GemFireMockObjectsBeanPostProcessor.class)); + } +}