cvs commit: spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent DefaultCarSubmissionManagerTestCase.java DefaultComponentSubmissionManagerTestCase.java MetadataConverterImplTestCase.java MockCommandRegistry.java SubmitComponentControllerTestCase.java DefaultSubmissionManagerTestCase.java
Mike Hogan <[email protected]> Sun, 09 Nov 2003 06:00:52 -0800
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
hogie 03/11/09 06:00:52
Modified: sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent
MockCommandRegistry.java
SubmitComponentControllerTestCase.java
Added: sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent
DefaultCarSubmissionManagerTestCase.java
DefaultComponentSubmissionManagerTestCase.java
MetadataConverterImplTestCase.java
Removed: sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent
DefaultSubmissionManagerTestCase.java
Log:
If components are classes, show as little of the class as necessary to show service offering
Revision Changes Path
1.3 +20 -2 spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/MockCommandRegistry.java
Index: MockCommandRegistry.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/MockCommandRegistry.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MockCommandRegistry.java 26 Oct 2003 14:43:09 -0000 1.2
+++ MockCommandRegistry.java 9 Nov 2003 14:00:52 -0000 1.3
@@ -8,12 +8,18 @@
import java.io.Serializable;
import java.io.File;
+import java.util.Iterator;
+import java.util.Collection;
+import java.util.ArrayList;
public class MockCommandRegistry implements CommandRegistry {
private int expectedSubmitComponentCalls;
private int actualSubmitComponentCalls;
private int actualRegisterDownloadableCalls;
private int expectedRegisterDownloadableCalls;
+ private Collection expectedAddComponents = new ArrayList();
+ private Collection actualAddComponents = new ArrayList();
+ private boolean addComponentsExpected = false;
public void setupExpectedSubmitComponentCalls(int i) {
this.expectedSubmitComponentCalls = i;
@@ -22,6 +28,7 @@
public Command createSubmitComponentCommand(Component component) {
actualSubmitComponentCalls++;
component.setId("1");
+ actualAddComponents.add(component);
return new Command() {
public Serializable execute(PrevalentSystem prevalentSystem) throws Exception {
return null;
@@ -29,6 +36,11 @@
};
}
+ public void setupExpectedAddComponent(Component component) {
+ this.expectedAddComponents.add(component);
+ addComponentsExpected = true;
+ }
+
public Command createRegisterDownloadableCommand(String componentId, File downloadable) {
actualRegisterDownloadableCalls++;
return new Command() {
@@ -39,8 +51,14 @@
}
public void verify() {
- Assert.assertEquals(expectedSubmitComponentCalls,actualSubmitComponentCalls);
- Assert.assertEquals(expectedRegisterDownloadableCalls,actualRegisterDownloadableCalls);
+ Assert.assertEquals(expectedSubmitComponentCalls, actualSubmitComponentCalls);
+ Assert.assertEquals(expectedRegisterDownloadableCalls, actualRegisterDownloadableCalls);
+ if (addComponentsExpected) {
+ Assert.assertEquals(expectedAddComponents.size(), actualAddComponents.size());
+ for (Iterator i = expectedAddComponents.iterator(); i.hasNext();) {
+ Assert.assertTrue(actualAddComponents.contains(i.next()));
+ }
+ }
}
public void setupExpectedRegisterDownloadableCalls(int i) {
1.2 +1 -1 spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/SubmitComponentControllerTestCase.java
Index: SubmitComponentControllerTestCase.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/SubmitComponentControllerTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SubmitComponentControllerTestCase.java 26 Oct 2003 13:46:42 -0000 1.1
+++ SubmitComponentControllerTestCase.java 9 Nov 2003 14:00:52 -0000 1.2
@@ -69,7 +69,7 @@
assertNotNull(view.getViewName());
}
- private static final class MockSubmissionManager implements SubmissionManager {
+ private static final class MockSubmissionManager implements CarSubmissionManager {
private File expectedJarFile = null;
private File actualJarFile = null;
1.1 spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/DefaultCarSubmissionManagerTestCase.java
Index: DefaultCarSubmissionManagerTestCase.java
===================================================================
package org.componenthaus.usecases.submitcomponent;
import junit.framework.TestCase;
import org.componenthaus.repository.api.Component;
import org.componenthaus.repository.impl.ComponentImpl;
import org.componenthaus.tests.MockMetadataConverterImpl;
import org.componenthaus.tests.MockPrevayler;
import org.componenthaus.util.file.FileManagerImpl;
import java.io.File;
import java.util.Collections;
public class DefaultCarSubmissionManagerTestCase extends TestCase {
private static final MockSubmissionMonitor monitor = new MockSubmissionMonitor();
private MockCommandRegistry mockCommandRegistry = null;
protected void setUp() throws Exception {
mockCommandRegistry = new MockCommandRegistry();
}
public void testThrowsExceptionWhenSubmissionLacksMetadataFile() throws Exception {
final DefaultCarSubmissionManager manager = new DefaultCarSubmissionManager(mockCommandRegistry,null,monitor,null,null);
MissingJarEntryException expected = null;
try {
manager.submit(TestFiles.emptyFile());
fail("Did not get expected exception");
} catch (MissingJarEntryException e) {
expected = e;
}
assertEquals(CarSubmissionManager.METADATA_FILE_JAR_ENTRY_NAME,expected.getJarEntryName());
}
public void testThrowsExceptionWhenSubmissionLacksDistribution() throws Exception {
final DefaultCarSubmissionManager manager = new DefaultCarSubmissionManager(mockCommandRegistry,null,monitor,null,null);
MissingJarEntryException expected = null;
try {
manager.submit(TestFiles.justMetadataFile());
fail("Did not get expected exception");
} catch (MissingJarEntryException e) {
expected = e;
}
assertEquals(CarSubmissionManager.DISTRIBUTION_DIRECTORY_JAR_ENTRY_NAME,expected.getJarEntryName());
}
public void testHandlesSubmissionCorrectly() throws Exception {
mockCommandRegistry.setupExpectedSubmitComponentCalls(0); //mocked out - ComponentSubmissionManager does it
mockCommandRegistry.setupExpectedRegisterDownloadableCalls(1);
final MockMetadataConverterImpl mockMetadataConverter = new MockMetadataConverterImpl();
mockMetadataConverter.setSetupResult(Collections.singleton(new ComponentImpl()));
final DefaultCarSubmissionManager manager = new DefaultCarSubmissionManager(mockCommandRegistry, new FileManagerImpl(),monitor,new MockPrevayler(), mockMetadataConverter);
manager.submit(TestFiles.validComponentSubmission());
mockCommandRegistry.verify();
}
private static final class MockSubmissionMonitor implements DefaultCarSubmissionManager.SubmissionMonitor {
public void componentSubmitted(Component component, File distribution) {
}
}
}
1.1 spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/DefaultComponentSubmissionManagerTestCase.java
Index: DefaultComponentSubmissionManagerTestCase.java
===================================================================
package org.componenthaus.usecases.submitcomponent;
import junit.framework.TestCase;
import org.componenthaus.ant.metadata.ComponentMetadata;
import org.componenthaus.ant.metadata.InterfaceMetadata;
import org.componenthaus.repository.impl.ComponentFactory;
import org.componenthaus.repository.impl.ComponentImpl;
import org.componenthaus.tests.MockClassAbbreviator;
import org.componenthaus.tests.MockPrevayler;
import org.componenthaus.tests.MockMetadataConverterImpl;
import java.util.Collections;
import java.util.Collection;
import java.util.ArrayList;
public class DefaultComponentSubmissionManagerTestCase extends TestCase {
private ComponentSubmissionManager submissionManager = null;
private MockCommandRegistry mockCommandRegistry = null;
private MockMetadataConverterImpl metadataConverter = null;
protected void setUp() throws Exception {
mockCommandRegistry = new MockCommandRegistry();
metadataConverter = new MockMetadataConverterImpl();
submissionManager = new DefaultComponentSubmissionManager(metadataConverter, new MockPrevayler(),mockCommandRegistry);
}
public void testThrowsIllegalArgumentExceptionWhenGivenNull() {
try {
submissionManager.submit(null);
fail("Did not get expected exception");
} catch (IllegalArgumentException e) {
} catch (ComponentSubmissionException e) {
e.printStackTrace();
}
}
public void testThrowsExceptionIfComponentContainsNoInterfaces() {
ComponentMetadata componentMetadata = new ComponentMetadata();
try {
submissionManager.submit(componentMetadata);
fail("Did not get expected exception");
} catch (IllegalArgumentException e) {
} catch (ComponentSubmissionException e) {
e.printStackTrace();
}
}
public void testSubmitsComponentsToRepository() throws ComponentSubmissionException {
final ComponentImpl component1 = new ComponentImpl("a.b","1.0",Collections.EMPTY_LIST,"c","c","d");
final ComponentImpl component2 = new ComponentImpl("e.f","1.0",Collections.EMPTY_LIST,"g","g","h");
final Collection newComponents = new ArrayList();
newComponents.add(component1);
newComponents.add(component2);
metadataConverter.setSetupResult(newComponents);
mockCommandRegistry.setupExpectedAddComponent(component1);
mockCommandRegistry.setupExpectedAddComponent(component2);
mockCommandRegistry.setupExpectedSubmitComponentCalls(2);
ComponentMetadata componentMetadata = new ComponentMetadata();
componentMetadata.addInterface(new InterfaceMetadata("a","b","c","d",false));
componentMetadata.addInterface(new InterfaceMetadata("e","f","g","h",true));
submissionManager.submit(componentMetadata);
mockCommandRegistry.verify();
}
}
1.1 spice/sandbox/repository/componenthaus/src/tests/org/componenthaus/usecases/submitcomponent/MetadataConverterImplTestCase.java
Index: MetadataConverterImplTestCase.java
===================================================================
package org.componenthaus.usecases.submitcomponent;
import junit.framework.TestCase;
import org.componenthaus.ant.metadata.ComponentMetadata;
import org.componenthaus.ant.metadata.InterfaceMetadata;
import org.componenthaus.ant.ClassAbbreviator;
import org.componenthaus.ant.ClassAbbreviatorImpl;
import org.componenthaus.ant.JavadocFormatterImpl;
import org.componenthaus.ant.LineIndenterImpl;
import org.componenthaus.repository.api.Component;
import org.componenthaus.repository.impl.ComponentFactory;
import org.componenthaus.tests.MockClassAbbreviator;
import java.util.Collection;
import java.util.Iterator;
public class MetadataConverterImplTestCase extends TestCase {
private MetadataConverter converter = null;
private ClassAbbreviator classAbbreviator = null;
protected void setUp() throws Exception {
classAbbreviator = new ClassAbbreviatorImpl(new JavadocFormatterImpl(80),new LineIndenterImpl());
converter = new MetadataConverterImpl(new ComponentFactory(),classAbbreviator);
}
public void testThrowsIllegalArgumentExceptionWhenGivenNull() {
try {
converter.convert(null);
fail("Did not get expected exception");
} catch (IllegalArgumentException e) {
}
}
public void testThrowsExceptionIfComponentContainsNoInterfaces() {
ComponentMetadata componentMetadata = new ComponentMetadata();
try {
converter.convert(componentMetadata);
fail("Did not get expected exception");
} catch (IllegalArgumentException e) {
}
}
public void testConvertsMetadataToComponentCollection() {
String aClass =
"package com.acme;\n" +
"public class AClass {\n" +
"}";
ComponentMetadata componentMetadata = new ComponentMetadata();
componentMetadata.addInterface(new InterfaceMetadata("a","b","c","d",false));
componentMetadata.addInterface(new InterfaceMetadata("com.acme","AClass","",aClass,true));
Collection components = converter.convert(componentMetadata);
assertEquals(2, components.size());
Iterator i = components.iterator();
Component component = (Component) i.next();
assertEquals("AClass",component.getName());
assertEquals("com.acme.AClass",component.getFullyQualifiedName());
assertEquals("",component.getFullDescription());
component = (Component) i.next();
assertEquals("b",component.getName());
assertEquals("a.b",component.getFullyQualifiedName());
assertEquals("c",component.getFullDescription());
assertEquals("d",component.getServiceInterface());
}
}
-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/