Skip to content

Commit c2f3a48

Browse files
committed
Depend directly on the required event
Instead of depending on BeforeSuite and assuming a given Object is created before that event, depend on the Creation of the Object instead.
1 parent a08adb0 commit c2f3a48

File tree

2 files changed

+18
-48
lines changed

2 files changed

+18
-48
lines changed

arquillian-service-integration-spring/src/main/java/org/jboss/arquillian/spring/integration/client/SpringIntegrationConfigurationProducer.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,17 @@
1717

1818
package org.jboss.arquillian.spring.integration.client;
1919

20+
import java.util.Collections;
21+
import java.util.Map;
22+
2023
import org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor;
2124
import org.jboss.arquillian.config.descriptor.api.ExtensionDef;
22-
import org.jboss.arquillian.core.api.Instance;
2325
import org.jboss.arquillian.core.api.InstanceProducer;
2426
import org.jboss.arquillian.core.api.annotation.ApplicationScoped;
2527
import org.jboss.arquillian.core.api.annotation.Inject;
2628
import org.jboss.arquillian.core.api.annotation.Observes;
2729
import org.jboss.arquillian.spring.integration.SpringIntegrationConstants;
2830
import org.jboss.arquillian.spring.integration.configuration.SpringIntegrationConfiguration;
29-
import org.jboss.arquillian.test.spi.event.suite.BeforeSuite;
30-
31-
import java.util.Collections;
32-
import java.util.Map;
3331

3432
/**
3533
* <p>Producer that creates the configuration loaded from the arquillian descriptor.</p>
@@ -39,12 +37,6 @@
3937
*/
4038
public class SpringIntegrationConfigurationProducer {
4139

42-
/**
43-
* <p>Represents the application descriptor.</p>
44-
*/
45-
@Inject
46-
private Instance<ArquillianDescriptor> descriptor;
47-
4840
/**
4941
* <p>Represents the configuration for this extension.</p>
5042
*/
@@ -57,7 +49,7 @@ public class SpringIntegrationConfigurationProducer {
5749
*
5850
* @param beforeSuiteEvent the event fired before execution of the test suite
5951
*/
60-
public void initConfiguration(@Observes BeforeSuite beforeSuiteEvent) {
52+
public void initConfiguration(@Observes ArquillianDescriptor descriptor) {
6153

6254
SpringIntegrationConfiguration config = getConfiguration(descriptor);
6355

@@ -71,9 +63,9 @@ public void initConfiguration(@Observes BeforeSuite beforeSuiteEvent) {
7163
*
7264
* @return the created instance of {@link SpringIntegrationConfiguration}
7365
*/
74-
private SpringIntegrationConfiguration getConfiguration(Instance<ArquillianDescriptor> descriptor) {
66+
private SpringIntegrationConfiguration getConfiguration(ArquillianDescriptor descriptor) {
7567

76-
Map<String, String> properties = getExtensionProperties(descriptor.get());
68+
Map<String, String> properties = getExtensionProperties(descriptor);
7769

7870
return new SpringIntegrationConfiguration(properties);
7971
}

arquillian-service-integration-spring/src/test/java/org/jboss/arquillian/spring/integration/client/SpringIntegrationConfigurationProducerTestCase.java

Lines changed: 12 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@
1717

1818
package org.jboss.arquillian.spring.integration.client;
1919

20+
import static org.junit.Assert.assertEquals;
21+
import static org.junit.Assert.assertNotNull;
22+
import static org.junit.Assert.assertNull;
23+
import static org.mockito.Mockito.mock;
24+
import static org.mockito.Mockito.verify;
25+
import static org.mockito.Mockito.when;
26+
27+
import java.io.File;
28+
import java.io.FileInputStream;
29+
2030
import org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor;
2131
import org.jboss.arquillian.core.api.Instance;
2232
import org.jboss.arquillian.core.api.InstanceProducer;
@@ -28,16 +38,6 @@
2838
import org.junit.Test;
2939
import org.mockito.ArgumentCaptor;
3040

31-
import java.io.File;
32-
import java.io.FileInputStream;
33-
34-
import static org.junit.Assert.assertEquals;
35-
import static org.junit.Assert.assertNotNull;
36-
import static org.junit.Assert.assertNull;
37-
import static org.mockito.Mockito.mock;
38-
import static org.mockito.Mockito.verify;
39-
import static org.mockito.Mockito.when;
40-
4141
/**
4242
* <p>Tests {@link SpringIntegrationConfigurationProducer} class.</p>
4343
*
@@ -67,16 +67,12 @@ public void setUp() {
6767
@Test
6868
public void testInitConfigurationDefault() throws Exception {
6969

70-
BeforeSuite event = new BeforeSuite();
71-
7270
ArquillianDescriptor descriptor = Descriptors.create(ArquillianDescriptor.class);
7371

74-
injectDescriptor(descriptor);
75-
7672
InstanceProducer<SpringIntegrationConfiguration> mockProducer = mock(InstanceProducer.class);
7773
TestReflectionHelper.setFieldValue(instance, "extensionConfiguration", mockProducer);
7874

79-
instance.initConfiguration(event);
75+
instance.initConfiguration(descriptor);
8076

8177
ArgumentCaptor<SpringIntegrationConfiguration> argument =
8278
ArgumentCaptor.forClass(SpringIntegrationConfiguration.class);
@@ -96,17 +92,13 @@ public void testInitConfigurationDefault() throws Exception {
9692
@Test
9793
public void testInitConfiguration() throws Exception {
9894

99-
BeforeSuite event = new BeforeSuite();
100-
10195
ArquillianDescriptor descriptor = Descriptors.importAs(ArquillianDescriptor.class).fromStream(
10296
new FileInputStream(new File("src/test/resources", "arquillian.xml")));
10397

104-
injectDescriptor(descriptor);
105-
10698
InstanceProducer<SpringIntegrationConfiguration> mockProducer = mock(InstanceProducer.class);
10799
TestReflectionHelper.setFieldValue(instance, "extensionConfiguration", mockProducer);
108100

109-
instance.initConfiguration(event);
101+
instance.initConfiguration(descriptor);
110102

111103
ArgumentCaptor<SpringIntegrationConfiguration> argument =
112104
ArgumentCaptor.forClass(SpringIntegrationConfiguration.class);
@@ -120,18 +112,4 @@ public void testInitConfiguration() throws Exception {
120112
"org.springframework.context.annotation.AnnotationConfigApplicationContext",
121113
argument.getValue().getProperty("customAnnotationContextClass"));
122114
}
123-
124-
/**
125-
* <p>Initialize the arquillian descriptor.</p>
126-
*
127-
* @param descriptor the arquillian descriptor
128-
*
129-
* @throws IllegalAccessException if any error occurs
130-
* @throws NoSuchFieldException if any error occurs
131-
*/
132-
private void injectDescriptor(ArquillianDescriptor descriptor) throws IllegalAccessException, NoSuchFieldException {
133-
Instance<ArquillianDescriptor> mockDescriptorInstance = mock(Instance.class);
134-
when(mockDescriptorInstance.get()).thenReturn(descriptor);
135-
TestReflectionHelper.setFieldValue(instance, "descriptor", mockDescriptorInstance);
136-
}
137115
}

0 commit comments

Comments
 (0)