Skip to content

Commit

Permalink
MGR-138 Working on tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
dheuvels committed Jul 20, 2022
1 parent 2ab8d6e commit 79aad55
Show file tree
Hide file tree
Showing 13 changed files with 452 additions and 21 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -21,7 +21,7 @@
<parent>
<groupId>org.appng</groupId>
<artifactId>appng-application-parent</artifactId>
<version>1.24.2-SNAPSHOT</version>
<version>1.24.6-SNAPSHOT</version>
</parent>

<scm>
Expand Down
Expand Up @@ -17,6 +17,8 @@

import java.io.IOException;
import java.net.URL;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

import org.appng.api.FieldProcessor;
Expand Down Expand Up @@ -70,14 +72,15 @@ protected void mockSite(GenericApplicationContext applicationContext) {
}

@Test
public void testCreateSite() throws Exception {
public void testCreateSite01() throws Exception {
propertyRepository.save(new PropertyImpl("platform." + Platform.Property.MESSAGING_ENABLED, null, "false"));

SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
siteToCreate.setName("localhost");
siteToCreate.setHost("localhost");
siteToCreate.setDomain("localhost");
siteToCreate.setName("site1");
siteToCreate.setHost("hostname1.domain.tld");
siteToCreate.setHostAliases(new HashSet<>(Arrays.asList("doppeltes", "lottchen")));
siteToCreate.setDomain("https://hostname1.domain.tld");
siteToCreate.setActive(true);

// prepares using appNG >= 1.19.1
Expand All @@ -96,7 +99,7 @@ public void testCreateSite() throws Exception {
}

@Test
public void testCreateSiteValidationFail() throws Exception {
public void testCreateSite02ValidationFail() throws Exception {
SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
CallableAction callableAction = getAction(SITE_EVENT, "create").withParam(FORM_ACTION, "create")
Expand All @@ -105,6 +108,52 @@ public void testCreateSiteValidationFail() throws Exception {
validate(callableAction.getAction());
}

@Test
public void testCreateSite03NameDuplicateFail() throws Exception {
SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
siteToCreate.setName("site1");
siteToCreate.setHost("other-hostname.domain.tld");
siteToCreate.setDomain("https://other-hostname.domain.tld");
siteToCreate.setActive(true);

CallableAction callableAction = getAction(SITE_EVENT, "create").withParam(FORM_ACTION, "create")
.getCallableAction(siteForm);
callableAction.perform();
validate(callableAction.getAction());
}

@Test
public void testCreateSite04HostDuplicateFail() throws Exception {
SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
siteToCreate.setName("other-site");
siteToCreate.setHost("lottchen");
siteToCreate.setDomain("https://other-hostname.domain.tld");
siteToCreate.setActive(true);

CallableAction callableAction = getAction(SITE_EVENT, "create").withParam(FORM_ACTION, "create")
.getCallableAction(siteForm);
callableAction.perform();
validate(callableAction.getAction());
}

@Test
public void testCreateSite05AliasDuplicateFail() throws Exception {
SiteImpl siteToCreate = new SiteImpl();
SiteForm siteForm = new SiteForm(siteToCreate);
siteToCreate.setName("other-site");
siteToCreate.setHost("other-hostname.domain.tld");
siteToCreate.setHostAliases(new HashSet<>(Arrays.asList("", "hostname1.domain.tld")));
siteToCreate.setDomain("https://other-hostname.domain.tld");
siteToCreate.setActive(true);

CallableAction callableAction = getAction(SITE_EVENT, "create").withParam(FORM_ACTION, "create")
.getCallableAction(siteForm);
callableAction.perform();
validate(callableAction.getAction());
}

@Test
public void testDeleteSite() throws ProcessingException, IOException {
createSite();
Expand Down
28 changes: 26 additions & 2 deletions src/test/resources/xml/DataBaseConnectionsTest-testMigrations.xml
Expand Up @@ -33,8 +33,8 @@
</meta-data>
</config>
<data paginate="false">
<resultset chunk="0" chunkname="migrations" chunksize="16" nextchunk="0" previouschunk="0" firstchunk="0"
lastchunk="0" hits="16">
<resultset chunk="0" chunkname="migrations" chunksize="17" nextchunk="0" previouschunk="0" firstchunk="0"
lastchunk="0" hits="17">
<result>
<field name="installedRank" type="int">
<value></value>
Expand Down Expand Up @@ -419,6 +419,30 @@
<icon type="class">led_orange</icon>
</field>
</result>
<result>
<field name="installedRank" type="int">
<value></value>
</field>
<field name="installedOn" type="date">
<value></value>
</field>
<field name="version.version" type="text">
<value>4.4</value>
</field>
<field name="description" type="text">
<value>add table site hostnames</value>
</field>
<field name="checksum" type="text">
<value>368748984</value>
</field>
<field name="installedBy" type="text">
<value></value>
</field>
<field name="state" type="image">
<value>PENDING</value>
<icon type="class">led_orange</icon>
</field>
</result>
</resultset>
</data>
</datasource>
4 changes: 2 additions & 2 deletions src/test/resources/xml/PlatformEventsTest-testShowAll.xml
Expand Up @@ -24,7 +24,7 @@
<label id="application">Application</label>
</field>
<field name="origin" type="text" binding="origin">
<label id="host">Host</label>
<label id="host">Hostname</label>
</field>
<field name="hostName" type="text" binding="hostName">
<label id="hostName">Host name</label>
Expand Down Expand Up @@ -70,7 +70,7 @@
<option value="" name="" />
</selection>
<selection id="eH" type="select">
<title id="host">Host</title>
<title id="host">Hostname</title>
<option value="" name="" />
</selection>
<selection id="eN" type="select">
Expand Down
Expand Up @@ -25,7 +25,7 @@
</validation>
</field>
<field name="host" type="text" binding="site.host">
<label id="host">Host</label>
<label id="host">Hostname</label>
<validation>
<notNull>
<message ref="site.host" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
Expand All @@ -37,6 +37,9 @@
</pattern>
</validation>
</field>
<field name="hostAliases" type="longtext" binding="hostAliases">
<label id="hostAliases">Hostname aliases (one per line)</label>
</field>
<field name="domain" type="text" binding="site.domain">
<label id="domain">Domain</label>
<validation>
Expand Down Expand Up @@ -85,6 +88,9 @@
<field name="host" type="text">
<value></value>
</field>
<field name="hostAliases" type="longtext">
<value></value>
</field>
<field name="domain" type="text">
<value></value>
</field>
Expand Down
Expand Up @@ -28,7 +28,7 @@
</messages>
</field>
<field name="host" type="text" binding="site.host">
<label id="host">Host</label>
<label id="host">Hostname</label>
<validation>
<notNull>
<message ref="site.host" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
Expand All @@ -43,6 +43,9 @@
<message ref="site.host" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</messages>
</field>
<field name="hostAliases" type="longtext" binding="hostAliases">
<label id="hostAliases">Hostname aliases (one per line)</label>
</field>
<field name="domain" type="text" binding="site.domain">
<label id="domain">Domain</label>
<validation>
Expand Down Expand Up @@ -92,6 +95,9 @@
<field name="host" type="text">
<value></value>
</field>
<field name="hostAliases" type="longtext">
<value></value>
</field>
<field name="domain" type="text">
<value></value>
</field>
Expand Down
113 changes: 113 additions & 0 deletions src/test/resources/xml/SitesTest-testCreateSite03NameDuplicateFail.xml
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action xmlns="http://www.appng.org/schema/platform" id="create" eventId="siteEvent" async="false">
<config>
<title id="site.create">Create site</title>
<permissions>
<permission ref="site.create" mode="set"></permission>
</permissions>
<params>
<param name="form_action">create</param>
</params>
<meta-data binding="site" bindClass="org.appng.application.manager.form.SiteForm">
<field name="name" type="text" binding="site.name">
<label id="name">Name</label>
<validation>
<notNull>
<message ref="site.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
<size min="0" max="64">
<message ref="site.name" class="ERROR" code="{validation.string.max}">Enter at most 64 characters</message>
</size>
<pattern regexp="[a-zA-Z0-9\-]{3,}">
<message ref="site.name" class="ERROR" code="{validation.nameStrict}">Please enter a valid name, which may only consist of letters, numbers and hyphens</message>
</pattern>
</validation>
<messages ref="name">
<message ref="name" class="ERROR">A different site with this name already exists!</message>
</messages>
</field>
<field name="host" type="text" binding="site.host">
<label id="host">Hostname</label>
<validation>
<notNull>
<message ref="site.host" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
<pattern regexp="(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])">
<message ref="site.host" class="ERROR" code="{validation.host}">Please enter a valid host (examples: localhost example.com some.example.com)</message>
</pattern>
</validation>
</field>
<field name="hostAliases" type="longtext" binding="hostAliases">
<label id="hostAliases">Hostname aliases (one per line)</label>
</field>
<field name="domain" type="text" binding="site.domain">
<label id="domain">Domain</label>
<validation>
<notNull>
<message ref="site.domain" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
<pattern regexp="(http(s?)(\://))?((([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]))(\:[0-9]+)?">
<message ref="site.domain" class="ERROR" code="{validation.domain}">Please enter a valid domain (examples: http://www.example.com example.com localhost:8080)</message>
</pattern>
</validation>
</field>
<field name="description" type="longtext" binding="site.description">
<label id="description">Description</label>
<validation>
<size min="0" max="8192">
<message ref="site.description" class="ERROR" code="{validation.string.max}">Enter at most 8192 characters</message>
</size>
</validation>
</field>
<field name="active" type="checkbox" binding="site.active">
<label id="active">Active</label>
</field>
<field name="createRepository" type="checkbox" binding="site.createRepository">
<label id="site.createRepository">Create folder for JSP-contents</label>
</field>
<field name="template" type="list:radio" binding="template">
<label id="template">Template</label>
</field>
</meta-data>
</config>
<condition expression="${form_action eq 'create'}"/>
<messages>
<message ref="create" class="ERROR">Failed to create the site.</message>
</messages>
<datasource id="new-site"/>
<userdata/>
<data>
<selection id="template">
<title id="template">Template</title>
</selection>
<result>
<field name="name" type="text">
<value></value>
</field>
<field name="host" type="text">
<value></value>
</field>
<field name="hostAliases" type="longtext">
<value></value>
</field>
<field name="domain" type="text">
<value></value>
</field>
<field name="description" type="longtext">
<value></value>
</field>
<field name="active" type="checkbox">
<value>false</value>
</field>
<field name="createRepository" type="checkbox">
<value>false</value>
</field>
<field name="template" type="list:radio">
<value></value>
</field>
</result>
</data>
<bean id="sites">
<option name="action" id="create"/>
</bean>
</action>

0 comments on commit 79aad55

Please sign in to comment.