You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2010/05/08 10:36:04 UTC
svn commit: r942344 - in /mina/vysper/trunk: ./
server/core-inttest/src/main/ server/core-inttest/src/main/config/
server/core-inttest/src/test/java/org/apache/vysper/smack/ server/core/
server/core/src/test/java/org/apache/vysper/smack/ server/extensi...
Author: ngn
Date: Sat May 8 08:36:03 2010
New Revision: 942344
URL: http://svn.apache.org/viewvc?rev=942344&view=rev
Log:
Refactoring and cleanup of the int tests
Added:
mina/vysper/trunk/server/core-inttest/src/main/
mina/vysper/trunk/server/core-inttest/src/main/config/
mina/vysper/trunk/server/core-inttest/src/main/config/bogus_mina_tls.cert (with props)
mina/vysper/trunk/server/core-inttest/src/test/java/org/apache/vysper/smack/
- copied from r940884, mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/smack/
mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/
mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/config/
mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert (with props)
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/TestSessionContext.java
Removed:
mina/vysper/trunk/server/core/src/test/java/org/apache/vysper/smack/
Modified:
mina/vysper/trunk/pom.xml
mina/vysper/trunk/server/core/pom.xml
mina/vysper/trunk/server/extensions/xep0045-muc/pom.xml
mina/vysper/trunk/server/extensions/xep0060-pubsub/pom.xml
mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
Modified: mina/vysper/trunk/pom.xml
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/pom.xml?rev=942344&r1=942343&r2=942344&view=diff
==============================================================================
--- mina/vysper/trunk/pom.xml (original)
+++ mina/vysper/trunk/pom.xml Sat May 8 08:36:03 2010
@@ -289,15 +289,6 @@
</pluginManagement>
<plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/*IntegrationTestCase*</exclude>
- </excludes>
- </configuration>
- </plugin>
-
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>apt-maven-plugin</artifactId>
Added: mina/vysper/trunk/server/core-inttest/src/main/config/bogus_mina_tls.cert
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core-inttest/src/main/config/bogus_mina_tls.cert?rev=942344&view=auto
==============================================================================
Binary file - no diff available.
Propchange: mina/vysper/trunk/server/core-inttest/src/main/config/bogus_mina_tls.cert
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: mina/vysper/trunk/server/core/pom.xml
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/pom.xml?rev=942344&r1=942343&r2=942344&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/pom.xml (original)
+++ mina/vysper/trunk/server/core/pom.xml Sat May 8 08:36:03 2010
@@ -112,33 +112,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
-
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
Added: mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert?rev=942344&view=auto
==============================================================================
Binary file - no diff available.
Propchange: mina/vysper/trunk/server/extensions/xep0045-muc-inttest/src/main/config/bogus_mina_tls.cert
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: mina/vysper/trunk/server/extensions/xep0045-muc/pom.xml
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0045-muc/pom.xml?rev=942344&r1=942343&r2=942344&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0045-muc/pom.xml (original)
+++ mina/vysper/trunk/server/extensions/xep0045-muc/pom.xml Sat May 8 08:36:03 2010
@@ -35,6 +35,7 @@
<artifactId>spec-compliance</artifactId>
<optional>true</optional>
</dependency>
+
<dependency>
<groupId>org.apache.vysper</groupId>
<artifactId>vysper-core</artifactId>
@@ -59,18 +60,5 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
-
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smack</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>jivesoftware</groupId>
- <artifactId>smackx</artifactId>
- <scope>test</scope>
- </dependency>
-
</dependencies>
</project>
Modified: mina/vysper/trunk/server/extensions/xep0060-pubsub/pom.xml
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/pom.xml?rev=942344&r1=942343&r2=942344&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0060-pubsub/pom.xml (original)
+++ mina/vysper/trunk/server/extensions/xep0060-pubsub/pom.xml Sat May 8 08:36:03 2010
@@ -35,6 +35,7 @@
<artifactId>spec-compliance</artifactId>
<optional>true</optional>
</dependency>
+
<dependency>
<groupId>org.apache.vysper</groupId>
<artifactId>vysper-core</artifactId>
@@ -48,15 +49,6 @@
</dependency>
<dependency>
- <groupId>org.apache.vysper</groupId>
- <artifactId>vysper-core</artifactId>
- <version>${pom.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- <optional>true</optional>
- </dependency>
-
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
Modified: mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java?rev=942344&r1=942343&r2=942344&view=diff
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java (original)
+++ mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeTestCase.java Sat May 8 08:36:03 2010
@@ -35,7 +35,6 @@ import org.apache.vysper.xmpp.protocol.R
import org.apache.vysper.xmpp.protocol.SessionStateHolder;
import org.apache.vysper.xmpp.server.DefaultServerRuntimeContext;
import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.TestSessionContext;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.state.resourcebinding.ResourceState;
import org.apache.vysper.xmpp.writer.SystemOutStanzaWriter;
Added: mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/TestSessionContext.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/TestSessionContext.java?rev=942344&view=auto
==============================================================================
--- mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/TestSessionContext.java (added)
+++ mina/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/TestSessionContext.java Sat May 8 08:36:03 2010
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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
+ *
+ * http://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.apache.vysper.xmpp.modules.extension.xep0060_pubsub;
+
+import java.util.Iterator;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.vysper.storage.inmemory.MemoryStorageProviderRegistry;
+import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityImpl;
+import org.apache.vysper.xmpp.delivery.RecordingStanzaRelay;
+import org.apache.vysper.xmpp.delivery.StanzaReceiverQueue;
+import org.apache.vysper.xmpp.delivery.StanzaReceiverRelay;
+import org.apache.vysper.xmpp.protocol.SessionStateHolder;
+import org.apache.vysper.xmpp.server.AbstractSessionContext;
+import org.apache.vysper.xmpp.server.DefaultServerRuntimeContext;
+import org.apache.vysper.xmpp.server.ServerRuntimeContext;
+import org.apache.vysper.xmpp.server.SessionState;
+import org.apache.vysper.xmpp.stanza.Stanza;
+import org.apache.vysper.xmpp.writer.StanzaWriter;
+
+/**
+ * makes response available for testing
+ */
+public class TestSessionContext extends AbstractSessionContext implements StanzaWriter {
+
+ private LinkedBlockingQueue<Stanza> recordedResponses = new LinkedBlockingQueue<Stanza>();
+ private boolean closed = false;
+ private boolean switchToTLSCalled;
+ private boolean isReopeningXMLStream;
+ private int recordedResponsesTotal = 0;
+
+ /**
+ * creates a new session context (but doesn't set the runtime context)
+ * @param entity
+ * @return
+ */
+ public static TestSessionContext createSessionContext(Entity entity) {
+ SessionStateHolder sessionStateHolder = new SessionStateHolder();
+ TestSessionContext sessionContext = new TestSessionContext(sessionStateHolder);
+ if (entity != null) sessionContext.setInitiatingEntity(entity.getBareJID());
+ return sessionContext;
+ }
+
+ /**
+ * creates a new authenticated session and a new runtime context
+ * @return
+ */
+ public static TestSessionContext createWithStanzaReceiverRelayAuthenticated() {
+ SessionStateHolder sessionStateHolder = new SessionStateHolder();
+ sessionStateHolder.setState(SessionState.AUTHENTICATED);
+ return createWithStanzaReceiverRelay(sessionStateHolder);
+ }
+
+ /**
+ * creates a session and also creates a fresh runtime context for it
+ * @param sessionStateHolder
+ * @return
+ */
+ public static TestSessionContext createWithStanzaReceiverRelay(SessionStateHolder sessionStateHolder) {
+ StanzaReceiverRelay relay = new org.apache.vysper.xmpp.delivery.StanzaReceiverRelay();
+ DefaultServerRuntimeContext serverContext = new DefaultServerRuntimeContext(new EntityImpl(null, "test", null), relay);
+ relay.setServerRuntimeContext(serverContext);
+ return new TestSessionContext(serverContext, sessionStateHolder);
+ }
+
+ /**
+ * creates another session for an already created runtime context
+ * @param sessionStateHolder
+ * @param serverContext
+ * @return
+ */
+ public static TestSessionContext createWithStanzaReceiverRelay(SessionStateHolder sessionStateHolder, ServerRuntimeContext serverContext) {
+ StanzaReceiverRelay relay = (StanzaReceiverRelay)serverContext.getStanzaRelay();
+ relay.setServerRuntimeContext(serverContext);
+ return new TestSessionContext(serverContext, sessionStateHolder);
+ }
+
+ public TestSessionContext(SessionStateHolder sessionStateHolder) {
+ this(new DefaultServerRuntimeContext(
+ new EntityImpl(null, "test", null),
+ new RecordingStanzaRelay(),
+ new MemoryStorageProviderRegistry()),
+ sessionStateHolder);
+ }
+
+ public TestSessionContext(ServerRuntimeContext serverRuntimeContext, SessionStateHolder sessionStateHolder) {
+ super(serverRuntimeContext, sessionStateHolder);
+ sessionId = serverRuntimeContext.getNextSessionId();
+ xmlLang = "de";
+ }
+
+ public Stanza getNextRecordedResponse() {
+ return recordedResponses.poll();
+ }
+
+ public Stanza getNextRecordedResponse(long maxWaitMillis) {
+ try {
+ return recordedResponses.poll(maxWaitMillis, TimeUnit.MILLISECONDS);
+ } catch (InterruptedException e) {
+ return null;
+ }
+ }
+
+ public Stanza getNextRecordedResponseForResource(String resource) {
+ for (Iterator<Stanza> it = recordedResponses.iterator(); it.hasNext();) {
+ Stanza recordedResponse = it.next();
+ if (recordedResponse.getTo() != null && recordedResponse.getTo().isResourceSet()) {
+ if (recordedResponse.getTo().getResource().equals(resource)) {
+ it.remove();
+ return recordedResponse;
+ }
+ }
+ }
+ return null;
+ }
+
+ public void close() {
+ closed = true;
+ }
+
+ public boolean isClosed() {
+ return closed; // checks if close had been called
+ }
+
+ /**
+ * Resets all recorded stanzas and their count.
+ */
+ public void reset() {
+ recordedResponses.clear();
+ recordedResponsesTotal = 0;
+ }
+
+ /**
+ * @param stanza records the stanza.
+ */
+ public void write(Stanza stanza) {
+ recordedResponses.add(stanza);
+ recordedResponsesTotal++;
+ }
+
+ public void setSessionState(SessionState sessionState) {
+ this.sessionStateHolder.setState(sessionState);
+ }
+
+ public StanzaWriter getResponseWriter() {
+ return this;
+ }
+
+ public void switchToTLS() {
+ switchToTLSCalled = true;
+ }
+
+ public void setIsReopeningXMLStream() {
+ isReopeningXMLStream = true;
+ }
+
+ public boolean isSwitchToTLSCalled() {
+ return switchToTLSCalled;
+ }
+
+ public StanzaReceiverQueue addReceiver(Entity entity, String resourceId) {
+ if (!(getServerRuntimeContext().getStanzaRelay() instanceof StanzaReceiverRelay)) {
+ throw new RuntimeException("cannot add receiver - the stanza relay is of a different kind");
+ }
+ StanzaReceiverQueue relay = new StanzaReceiverQueue();
+ if (resourceId != null) entity = new EntityImpl(entity.getNode(), entity.getDomain(), resourceId);
+ ((StanzaReceiverRelay) getServerRuntimeContext().getStanzaRelay()).add(entity, relay);
+ return relay;
+ }
+
+ public int getRecordedResponsesTotal() {
+ return recordedResponsesTotal;
+ }
+}