Compare commits
2 Commits
e57a3d7c84
...
0941515461
Author | SHA1 | Date | |
---|---|---|---|
|
0941515461 | ||
|
9032f0d81c |
39
Makefile
Normal file
39
Makefile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
SHELL := /bin/bash
|
||||||
|
|
||||||
|
info:
|
||||||
|
@echo "Achtung: nur auf Entwicklungs- und Testservern einsetzen!"
|
||||||
|
@echo "make build: build the jar files"
|
||||||
|
@echo "make psql: start psql shell on the database"
|
||||||
|
@echo "make resetdata: reset the data in the database"
|
||||||
|
@echo "make run: run catalina and watch the output"
|
||||||
|
@echo "make test: run all continuous integration tests"
|
||||||
|
@echo "make testdomain: run one specific test for domains"
|
||||||
|
|
||||||
|
build:
|
||||||
|
source ~/.profile
|
||||||
|
cd ~/hsadmin/util && mvn clean install
|
||||||
|
cd ~/hsadmin/qserv && mvn clean install
|
||||||
|
cd ~/hsadmin/hsarback && mvn package -DskipTests
|
||||||
|
cp ~/hsadmin/qserv/target/hsadmin-*.jar ~/tomcatmq/webapps/hsar/WEB-INF/lib/
|
||||||
|
cp ~/hsadmin/util/target/hsadmin-*.jar ~/tomcatmq/webapps/hsar/WEB-INF/lib/
|
||||||
|
|
||||||
|
|
||||||
|
resetdata:
|
||||||
|
psql -U tim03_hsatest < ~/hsadmin/hsarback/database/dropschema.sql
|
||||||
|
psql -U tim03_hsatest < ~/hsadmin/hsarback/database/schema.sql
|
||||||
|
psql -U tim03_hsatest < ~/hsadmin/hsarback/database/data.sql
|
||||||
|
|
||||||
|
test: resetdata
|
||||||
|
source ~/.profile
|
||||||
|
cd ~/hsadmin/hsarback && mvn test -Dtest=ContinuousIntegrationTest
|
||||||
|
|
||||||
|
testdomain: resetdata
|
||||||
|
source ~/.profile
|
||||||
|
cd ~/hsadmin/hsarback && mvn test -Dtest=InitDataTest && mvn test -Dtest=DomainTest
|
||||||
|
|
||||||
|
run:
|
||||||
|
source ~/.profile
|
||||||
|
cd ~/tomcatmq && ./bin/catalina.sh run
|
||||||
|
|
||||||
|
psql:
|
||||||
|
WHOAMI=`whoami` && psql -U $${WHOAMI//\-/_}
|
@ -19,7 +19,7 @@ import org.junit.Test;
|
|||||||
public class DomainTest {
|
public class DomainTest {
|
||||||
|
|
||||||
private static final String MODULE = "domain";
|
private static final String MODULE = "domain";
|
||||||
|
|
||||||
private XmlRpcClient client;
|
private XmlRpcClient client;
|
||||||
private RemoteCASHelper cas;
|
private RemoteCASHelper cas;
|
||||||
|
|
||||||
@ -40,8 +40,8 @@ public class DomainTest {
|
|||||||
String user = "aaa00";
|
String user = "aaa00";
|
||||||
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
||||||
Map<String, String> whereParams = new HashMap<String, String>();
|
Map<String, String> whereParams = new HashMap<String, String>();
|
||||||
Object[] params = new Object[] { user,
|
Object[] params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
whereParams };
|
whereParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".search", params);
|
Object execute = client.execute(MODULE + ".search", params);
|
||||||
@ -61,15 +61,15 @@ public class DomainTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpdate() {
|
public void testUpdateWithoutPermissionFail() {
|
||||||
String user = "aaa00";
|
String user = "aaa00";
|
||||||
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
||||||
Map<String, String> setParams = new HashMap<String, String>();
|
Map<String, String> setParams = new HashMap<String, String>();
|
||||||
Map<String, String> whereParams = new HashMap<String, String>();
|
Map<String, String> whereParams = new HashMap<String, String>();
|
||||||
setParams.put("user", "aaa00");
|
setParams.put("user", "aaa00");
|
||||||
whereParams.put("name", "example01.org");
|
whereParams.put("name", "example01.org");
|
||||||
Object[] params = new Object[] { user,
|
Object[] params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
setParams, whereParams };
|
setParams, whereParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".update", params);
|
Object execute = client.execute(MODULE + ".update", params);
|
||||||
@ -87,8 +87,8 @@ public class DomainTest {
|
|||||||
Map<String, String> setParams = new HashMap<String, String>();
|
Map<String, String> setParams = new HashMap<String, String>();
|
||||||
setParams.put("name", "f8n.de");
|
setParams.put("name", "f8n.de");
|
||||||
setParams.put("user", "aaa00-admin");
|
setParams.put("user", "aaa00-admin");
|
||||||
Object[] params = new Object[] { user,
|
Object[] params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
setParams };
|
setParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".add", params);
|
Object execute = client.execute(MODULE + ".add", params);
|
||||||
@ -99,6 +99,100 @@ public class DomainTest {
|
|||||||
assertEquals(count + 1, getDomsCount());
|
assertEquals(count + 1, getDomsCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateDomain() {
|
||||||
|
String user = "aaa00";
|
||||||
|
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
||||||
|
|
||||||
|
// first create the domain
|
||||||
|
Map<String, Object> setParams = new HashMap<String, Object>();
|
||||||
|
setParams.put("name", "exampleupdate.de");
|
||||||
|
setParams.put("user", "aaa00-admin");
|
||||||
|
Object[] params = new Object[] { user,
|
||||||
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
|
setParams };
|
||||||
|
try {
|
||||||
|
Object execute = client.execute(MODULE + ".add", params);
|
||||||
|
assertTrue(execute instanceof Map<?, ?>);
|
||||||
|
} catch (XmlRpcException e) {
|
||||||
|
fail(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check initial values
|
||||||
|
Map<String, String> whereParams = new HashMap<String, String>();
|
||||||
|
whereParams.put("name", "exampleupdate.de");
|
||||||
|
params = new Object[] { user,
|
||||||
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
|
whereParams };
|
||||||
|
try {
|
||||||
|
Object execute = client.execute(MODULE + ".search", params);
|
||||||
|
if (execute instanceof Object[]) {
|
||||||
|
Object[] result = (Object[]) execute;
|
||||||
|
assertTrue("expected 1 result, but got " + result.length, 1 == result.length);
|
||||||
|
for (Object o : result) {
|
||||||
|
if (o instanceof Map<?, ?>) {
|
||||||
|
Map<?, ?> row = (Map<?, ?>) o;
|
||||||
|
assertTrue("Domain name should be exampleupdate.de but is " + row.get("name"), "exampleupdate.de".equals(row.get("name")));
|
||||||
|
assertTrue("ValidSubdomainNames should be * but is " + row.get("validsubdomainnames"), "*".equals(row.get("validsubdomainnames")));
|
||||||
|
Object[] domainoptions = (Object[]) row.get("domainoptions");
|
||||||
|
String options = "";
|
||||||
|
for (Object option: domainoptions) {
|
||||||
|
options += option + " ";
|
||||||
|
}
|
||||||
|
String defaultDomainOptions = "htdocsfallback indexes dkim autoconfig greylisting includes letsencrypt multiviews ";
|
||||||
|
assertTrue("Domainoptions should be " + defaultDomainOptions + " but are " + options, defaultDomainOptions.equals(options));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fail("Map<?, ?> expected");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fail("Object[] expected");
|
||||||
|
}
|
||||||
|
} catch (XmlRpcException e) {
|
||||||
|
fail(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
// now update the domain
|
||||||
|
setParams = new HashMap<String, Object>();
|
||||||
|
whereParams = new HashMap<String, String>();
|
||||||
|
setParams.put("validsubdomainnames", "www2");
|
||||||
|
setParams.put("domainoptions", new String[] {"greylisting", "letsencrypt"});
|
||||||
|
whereParams.put("name", "exampleupdate.de");
|
||||||
|
params = new Object[] { user,
|
||||||
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
|
setParams, whereParams };
|
||||||
|
try {
|
||||||
|
Object execute = client.execute(MODULE + ".update", params);
|
||||||
|
if (execute instanceof Object[]) {
|
||||||
|
Object[] result = (Object[]) execute;
|
||||||
|
assertTrue("expected 1 result, but got " + result.length, 1 == result.length);
|
||||||
|
for (Object o : result) {
|
||||||
|
if (o instanceof Map<?, ?>) {
|
||||||
|
Map<?, ?> row = (Map<?, ?>) o;
|
||||||
|
assertTrue("Domain name should be exampleupdate.de but is " + row.get("name"), "exampleupdate.de".equals(row.get("name")));
|
||||||
|
assertTrue("ValidSubdomainNames should be www2 but is " + row.get("validsubdomainnames"), "www2".equals(row.get("validsubdomainnames")));
|
||||||
|
Object[] domainoptions = (Object[]) row.get("domainoptions");
|
||||||
|
String options = "";
|
||||||
|
for (Object option: domainoptions) {
|
||||||
|
options += option + " ";
|
||||||
|
}
|
||||||
|
assertTrue("Domainoptions should be greylisting letsencrypt but are " + options, "greylisting letsencrypt ".equals(options));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fail("Map<?, ?> expected");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fail("Object[] expected");
|
||||||
|
}
|
||||||
|
} catch (XmlRpcException e) {
|
||||||
|
fail(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateForeignSubdomain() throws UnknownHostException, IOException {
|
public void testCreateForeignSubdomain() throws UnknownHostException, IOException {
|
||||||
int count = getDomsCount();
|
int count = getDomsCount();
|
||||||
@ -107,8 +201,8 @@ public class DomainTest {
|
|||||||
Map<String, String> setParams = new HashMap<String, String>();
|
Map<String, String> setParams = new HashMap<String, String>();
|
||||||
setParams.put("name", "f6n.de");
|
setParams.put("name", "f6n.de");
|
||||||
setParams.put("user", "aaa00-admin");
|
setParams.put("user", "aaa00-admin");
|
||||||
Object[] params = new Object[] { user,
|
Object[] params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
setParams };
|
setParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".add", params);
|
Object execute = client.execute(MODULE + ".add", params);
|
||||||
@ -123,8 +217,8 @@ public class DomainTest {
|
|||||||
setParams = new HashMap<String, String>();
|
setParams = new HashMap<String, String>();
|
||||||
setParams.put("name", "subdomain.f6n.de");
|
setParams.put("name", "subdomain.f6n.de");
|
||||||
setParams.put("user", "aaa01");
|
setParams.put("user", "aaa01");
|
||||||
params = new Object[] { user,
|
params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
setParams };
|
setParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".add", params);
|
Object execute = client.execute(MODULE + ".add", params);
|
||||||
@ -140,8 +234,8 @@ public class DomainTest {
|
|||||||
String user = "aaa00";
|
String user = "aaa00";
|
||||||
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
String grantingTicketURL = cas.getGrantingTicketURL(user);
|
||||||
Map<String, String> whereParams = new HashMap<String, String>();
|
Map<String, String> whereParams = new HashMap<String, String>();
|
||||||
Object[] params = new Object[] { user,
|
Object[] params = new Object[] { user,
|
||||||
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()),
|
||||||
whereParams };
|
whereParams };
|
||||||
try {
|
try {
|
||||||
Object execute = client.execute(MODULE + ".search", params);
|
Object execute = client.execute(MODULE + ".search", params);
|
||||||
|
Loading…
Reference in New Issue
Block a user