Skip to content

Commit

Permalink
Added more tests, SMSC-418, SMSC-419, SMSC-420, SMSC-421, MSB-3445
Browse files Browse the repository at this point in the history
  • Loading branch information
olenara committed Feb 23, 2018
1 parent bf1f852 commit 3d3d08d
Show file tree
Hide file tree
Showing 37 changed files with 1,595 additions and 466 deletions.
6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Expand Up @@ -998,11 +998,6 @@ protected Integer getMaxMessagesPerStep() {
return maxMessagesPerStep;
}

@Override
protected Integer getMaxMessagesPerStep() {
return maxMessagesPerStep;
}

/**
* Processing of a positive delivery response to smpp destination.
*
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -58,7 +58,7 @@
<jackson.version>1.9.2</jackson.version>

<!-- restcomm properties -->
<jss7.restcomm.version>7.4.1-27</jss7.restcomm.version>
<jss7.restcomm.version>7.4.0-TelScale-SNAPSHOT</jss7.restcomm.version>
<dialogic.version>6.7.1</dialogic.version>
<ts.slee.version>2.8.10</ts.slee.version>
<jslee.ext.version>${ts.slee.version}</jslee.ext.version>
Expand Down
1 change: 1 addition & 0 deletions test/.gitignore
@@ -0,0 +1 @@
*.log
1 change: 1 addition & 0 deletions test/features/logs/.gitignore
@@ -0,0 +1 @@
*.txt
38 changes: 37 additions & 1 deletion test/features/pom.xml
Expand Up @@ -30,7 +30,12 @@
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>

<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.restcomm.smpp</groupId>
<artifactId>ch-smpp</artifactId>
Expand Down Expand Up @@ -128,6 +133,37 @@
<artifactId>mobicents-jain-sip-ext</artifactId>
<version>7.0.4.23</version>
</dependency>
<dependency>
<groupId>org.mobicents.protocols.ss7.tcap</groupId>
<artifactId>tcap-impl</artifactId>
<version>7.4.1-29</version>
<!-- version>7.4.1.625</version -->
</dependency>
<dependency>
<groupId>org.mobicents.protocols.ss7.sccp</groupId>
<artifactId>sccp-impl</artifactId>
<version>7.4.1-29</version>
</dependency>
<dependency>
<groupId>org.mobicents.protocols.ss7.m3ua</groupId>
<artifactId>m3ua-impl</artifactId>
<version>7.4.1-29</version>
</dependency>
<dependency>
<groupId>org.mobicents.protocols.sctp</groupId>
<artifactId>sctp-api</artifactId>
<version>2.0.0-100</version>
</dependency>
<dependency>
<groupId>org.mobicents.protocols.sctp</groupId>
<artifactId>sctp-impl</artifactId>
<version>2.0.0-100</version>
</dependency>
<dependency>
<groupId>org.mobicents.protocols.ss7.map</groupId>
<artifactId>map-impl</artifactId>
<version>7.4.1-29</version>
</dependency>
</dependencies>

<profiles>
Expand Down
@@ -1,37 +1,13 @@
package com.cloudhopper.smpp.impl;

import com.cloudhopper.smpp.SmppClient;
import com.cloudhopper.smpp.util.DaemonExecutors;
import com.cloudhopper.smpp.SmppBindType;
import com.cloudhopper.smpp.type.SmppChannelException;
import com.cloudhopper.smpp.SmppSession;
import com.cloudhopper.smpp.SmppSessionConfiguration;
import com.cloudhopper.smpp.SmppSessionHandler;
import com.cloudhopper.smpp.channel.SmppChannelConstants;
import com.cloudhopper.smpp.type.SmppTimeoutException;
import com.cloudhopper.smpp.channel.SmppClientConnector;
import com.cloudhopper.smpp.channel.SmppSessionPduDecoder;
import com.cloudhopper.smpp.channel.SmppSessionLogger;
import com.cloudhopper.smpp.channel.SmppSessionWrapper;
import com.cloudhopper.smpp.*;
import com.cloudhopper.smpp.channel.*;
import com.cloudhopper.smpp.impl.DefaultSmppSession;
import com.cloudhopper.smpp.channel.SmppSessionThreadRenamer;
import com.cloudhopper.smpp.pdu.BaseBind;
import com.cloudhopper.smpp.pdu.BaseBindResp;
import com.cloudhopper.smpp.pdu.BindReceiver;
import com.cloudhopper.smpp.pdu.BindTransceiver;
import com.cloudhopper.smpp.pdu.BindTransmitter;
import com.cloudhopper.smpp.pdu.*;
import com.cloudhopper.smpp.ssl.SslConfiguration;
import com.cloudhopper.smpp.ssl.SslContextFactory;
import com.cloudhopper.smpp.type.RecoverablePduException;
import com.cloudhopper.smpp.type.SmppBindException;
import com.cloudhopper.smpp.type.SmppChannelConnectException;
import com.cloudhopper.smpp.type.SmppChannelConnectTimeoutException;
import com.cloudhopper.smpp.type.UnrecoverablePduException;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.SSLEngine;
import com.cloudhopper.smpp.type.*;
import com.cloudhopper.smpp.util.DaemonExecutors;
import org.jboss.netty.bootstrap.ClientBootstrap;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelFuture;
Expand All @@ -44,6 +20,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.net.ssl.SSLEngine;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
* Custom implementation of DefaultSmppClient which allows to bind to specific local address
*/
Expand Down
@@ -1,4 +1,4 @@
package org.mobicents.protocols.smpp;
package org.mobicents.protocols;

import java.io.IOException;
import java.io.InputStream;
Expand Down
@@ -0,0 +1,61 @@
/**
*
*/
package org.mobicents.protocols.http;

import java.util.HashMap;

import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

/**
* @author Olena Radiboh (olena.radiboh@telestax.com)
*/
public class HttpManagementProxy {
public static final String JMX_DOMAIN = "org.mobicents.smsc";
public static final String JMX_LAYER_HTTP_USERS_MANAGEMENT = "HttpUserManagement";
public static final String JMX_LAYER_HTTP_USER = "HttpUser";

private MBeanServerConnection mbsc;
private ObjectName httpUserManagementName;
private ObjectName httpUserName;

public HttpManagementProxy() throws Exception {
// Provide credentials required by server for user authentication
HashMap environment = new HashMap();
// String[] credentials = new String[] {"admin", "admin"};
// environment.put (JMXConnector.CREDENTIALS, credentials);

// Create JMXServiceURL of JMX Connector (must be known in advance)
JMXServiceURL url;

url = new JMXServiceURL("service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1190/jmxconnector");

// Get JMX connector
JMXConnector jmxc = JMXConnectorFactory.connect(url, environment);

httpUserManagementName = new ObjectName(
JMX_DOMAIN + ":layer=" + JMX_LAYER_HTTP_USERS_MANAGEMENT + ",name=SmscManagement");

// Get MBean server connection
mbsc = jmxc.getMBeanServerConnection();
}

public void createHttpUser(String user, String password, int networkId) throws Exception {
String[] signature = new String[] { String.class.getName(), String.class.getName(), int.class.getName() };
Object[] params = new Object[] { user, password, networkId };
try {
mbsc.invoke(httpUserManagementName, "createHttpUser", params, signature);
} catch (Exception e) {
}
}

public void destroyHttpUser(String user) throws Exception {
String[] signature = new String[] { String.class.getName() };
Object[] params = new Object[] { user };
mbsc.invoke(httpUserManagementName, "destroyHttpUser", params, signature);
}
}
@@ -0,0 +1,55 @@
/**
*
*/
package org.mobicents.protocols.http;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;

/**
* @author Olena Radiboh (olena.radiboh@telestax.com)
*/
public class TestHttpClient {

public static String HTTP_USER = "userid";
public static String HTTP_PASSWORD = "password";
public static String HTTP_MESSAGE = "msg";
public static String HTTP_FROM = "sender";
public static String HTTP_TO = "to";

private String user;
private String password;
private String hostPort;

public TestHttpClient(String user, String password, String hostPort) {
this.user = user;
this.password = password;
this.hostPort = hostPort;
}

public void sendHttpMessage(String senderAddr, String receiverAddr, String message) throws HttpException, IOException {
PostMethod post = new PostMethod("http://" + hostPort + "/restcomm/sendSms");
HttpClient httpclient = new HttpClient();

post.setParameter(HTTP_USER, user);
post.setParameter(HTTP_PASSWORD, password);
post.setParameter(HTTP_FROM, senderAddr);
post.setParameter(HTTP_TO, receiverAddr);
post.setParameter(HTTP_MESSAGE, message);

// post.setRequestEntity(new InputStreamRequestEntity(new ByteArrayInputStream(message.getBytes()), message.length()));

try {
int result = httpclient.executeMethod(post);
System.out.println("Response status code: " + result);
System.out.println("Response body: ");
System.out.println(post.getResponseBodyAsString());
} finally {
post.releaseConnection();
}
}

}

0 comments on commit 3d3d08d

Please sign in to comment.