diff --git a/deploy/test/data/ml4-config.xml b/deploy/test/data/ml4-config.xml
deleted file mode 100644
index 840a9855..00000000
--- a/deploy/test/data/ml4-config.xml
+++ /dev/null
@@ -1,642 +0,0 @@
-
-
- 16
- 16
- 3600
- 600
- 100000
- 1000
- 1000
- 10000
- true
- true
- true
-
-
-
-
-
- @ml.app-name
- @ml.app-port
-
-
- 0
- false
- 0.0.0.0
- 256
- 32
- 30
- 5
- 3600
- 3600
- 600
- 3600
- 1000
- 10000
- http://marklogic.com/collation/
- digest
- @ml.default-user
- admin-ui
- 0
- false
- true
- true
- true
- 1.0-ml
- none
- UTF-8
- /roxy/error.xqy
-
-
-
- ns1
- http://www.ns.com/ns1
-
-
- ns2
- http://www.ns.com/ns2
-
-
-
- /roxy/rewrite.xqy
-
- true
- true
- sixer
- ALL:!LOW:@STRENGTH
- true
-
- @ml.test-appserver
-
-
- @ml.xdbc-server
-
-
-
-
- @ml.content-db
-
- @ml.test-content-db-assignment
- @ml.test-modules-db-assignment
-
- @ml.modules-db
-
- @ml.schemas-assignment
- @ml.triggers-assignment
-
-
-
-
- @ml.test-content-db-xml
-
- @ml.content-db
- @ml.content-forests-per-host
- @ml.schemas-mapping
- @ml.triggers-mapping
-
-
-
- true
- @ml.content-db-security
- en
-
-
- http://www.marklogic.com/ns/sample
- frag-root
-
-
- http://www.marklogic.com/ns/sample2
- frag-root2
-
-
-
-
- http://www.marklogic.com/ns/sample
- frag-parents
-
-
- http://www.marklogic.com/ns/sample
- frag-parents2
-
-
-
-
- http://schemas.microsoft.com/office/word/2003/wordml
- p
-
-
- http://schemas.openxmlformats.org/wordprocessingml/2006/main
- p
-
-
-
-
- http://www.w3.org/1999/xhtml
- a abbr acronym b big br center cite code dfn em font i kbd q samp small span strong sub sup tt var
-
-
- http://schemas.microsoft.com/office/word/2003/wordml
- br cr fldChar fldData fldSimple hlink noBreakHyphen permEnd permStart pgNum proofErr r softHyphen sym t tab
-
-
- http://schemas.microsoft.com/office/word/2003/auxHint
- t
-
-
- http://schemas.openxmlformats.org/wordprocessingml/2006/main
- r t endnoteReference footnoteReference customXml hyperlink sdt sdtContent commentRangeEnd commentRangeStart bookmarkStart bookmarkEnd fldSimple instrText smartTag ins proofErr
-
-
- http://marklogic.com/entity
- person organization location gpe facility religion nationality credit-card-number email coordinate money percent id phone-number url utm date time
-
-
-
-
- http://schemas.microsoft.com/office/word/2003/wordml
- delInstrText delText endnote footnote instrText pict rPr
-
-
- http://schemas.openxmlformats.org/wordprocessingml/2006/main
- pPr rPr customXmlPr sdtPr commentReference del
-
-
-
-
-
- false
- decompounding
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
-
-
- http://www.marklogic.com/ns/sample
- word-query-include
- 1.0
-
-
-
-
-
- http://www.marklogic.com/ns/sample2
- word-query-include2
- 1.0
-
-
-
-
-
-
-
- http://www.marklogic.com/ns/sample
- word-query-exclude
-
-
- http://www.marklogic.com/ns/sample2
- word-query-exclude2
-
-
-
-
- test
- true
-
- http://marklogic.com/collation/
- http://marklogic.com/collation/codepoint
-
-
-
- http://www.marklogic.com/ns/sample
- sample-included-element
- 1
-
-
-
-
-
- http://www.marklogic.com/ns/sample2
- sample-included-element2
- 1
-
-
-
-
-
-
-
- http://www.marklogic.com/ns/sample
- sample-excluded-element
-
-
- http://www.marklogic.com/ns/sample2
- sample-excluded-element2
-
-
-
-
- test2
- true
-
-
-
- http://www.marklogic.com/ns/sample
- sample-included-element
- 1
-
-
-
-
-
- http://www.marklogic.com/ns/sample2
- sample-included-element2
- 1
-
-
-
-
-
-
-
- http://www.marklogic.com/ns/sample
- sample-excluded-element
-
-
- http://www.marklogic.com/ns/sample2
- sample-excluded-element2
-
-
-
-
-
-
- string
- http://marklogic.com/ns/sample
- name
- http://marklogic.com/collation/codepoint
- false
-
-
- string
- http://marklogic.com/ns/sample2
- name2
- http://marklogic.com/collation/codepoint
- false
-
-
-
-
- string
- http://marklogic.com/ns/sample
- person
-
- name
- http://marklogic.com/collation/codepoint
- false
-
-
- string
- http://marklogic.com/ns/sample2
- person2
-
- name2
- http://marklogic.com/collation/codepoint
- false
-
-
-
-
- http://www.marklogic.com/ns/sample
- geo-element
- wgs84
- point
- false
-
-
- http://www.marklogic.com/ns/sample
- geo-element2
- wgs84
- point
- false
-
-
-
-
- http://marklogic.com/ns/sample
- geo
-
- lat
-
- lon
- wgs84
- false
-
-
- http://marklogic.com/ns/sample
- geo2
-
- lat2
-
- lon2
- wgs84
- false
-
-
-
-
- http://marklogic.com/ns/sample
- geo
- http://marklogic.com/ns/sample
- lat
- http://marklogic.com/ns/sample
- lon
- wgs84
- true
-
-
- http://marklogic.com/ns/sample
- geo2
- http://marklogic.com/ns/sample
- lat2
- http://marklogic.com/ns/sample
- lon2
- wgs84
- true
-
-
-
-
- http://marklogic.com/ns/sample
- geo
- http://marklogic.com/ns/sample
- pos
- wgs84
- point
- false
-
-
- http://marklogic.com/ns/sample
- geo2
- http://marklogic.com/ns/sample
- pos2
- wgs84
- point
- false
-
-
-
-
- http://www.marklogic.com/ns/sample
- sample-element
- http://marklogic.com/collation/
-
-
- http://www.marklogic.com/ns/sample
- sample-element2
- http://marklogic.com/collation/
-
-
-
-
- http://www.marklogic.com/ns/sample
- sample-element
-
- sample-attribute
- http://marklogic.com/collation/
-
-
- http://www.marklogic.com/ns/sample2
- sample-element2
-
- sample-attribute2
- http://marklogic.com/collation/
-
-
-
-
-
- @ml.modules-db
-
-
-
- basic
- false
- false
- true
- false
- true
- true
- true
- false
- true
- false
- false
- false
- false
- false
- false
- false
- false
-
- http://marklogic.com/collation/
- http://marklogic.com/collation/codepoint
-
- false
- false
- true
- false
- true
- 5
- 0
- manual
- false
- false
- false
- false
- false
- 32768
- 64
- 16
- 2
- 2
- fast
- fast
- 128
- 2
- false
- false
- facet-time
- 256
- automatic
- automatic
- automatic
- scaled-log
- lower
- 0
- 1024
- 2
- 0
-
-
- @ml.test-modules-db-xml
-
- @ml.triggers-db-xml
- @ml.schemas-db-xml
-
-
-
- @ml.app-role
- A role for users of the @ml.app-name application
-
-
-
-
- execute
- @ml.app-role
-
-
- update
- @ml.app-role
-
-
- insert
- @ml.app-role
-
-
- read
- @ml.app-role
-
-
-
-
-
-
- xdmp:value
-
-
- xdmp:add-response-header
-
-
- xdmp:invoke
-
-
- xdmp:with-namespaces
-
-
-
-
- @ml.app-role2
- A second role for users of the @ml.app-name application
-
-
-
-
- execute
- @ml.app-role2
-
-
- update
- @ml.app-role2
-
-
- insert
- @ml.app-role2
-
-
- read
- @ml.app-role2
-
-
-
-
-
-
- xdmp:value
-
-
- xdmp:add-response-header
-
-
- xdmp:invoke
-
-
- xdmp:with-namespaces
-
-
-
-
-
-
- @ml.app-name-user
- A user for the @ml.app-name application
- password
-
- @ml.app-role
-
-
-
-
-
- @ml.app-name-user2
- A second user for the @ml.app-name application
- password2
-
- @ml.app-role2
-
-
-
-
-
-
-
- http://marklogic.com/roxy
- sample
- /app/models/sample.xqy
- @ml.modules-db
- admin
-
-
- http://marklogic.com/roxy
- sample2
- /app/models/sample2.xqy
- @ml.modules-db
- admin
-
-
-
-
- my-action
- http://marklogic.com/custom/privilege/my-action
- execute
-
-
- my-action2
- http://marklogic.com/custom/privilege/my-action2
- execute
-
-
-
-
- application/crazy
- crazy stuff
- text
-
-
- application/crazy2
- crazy stuff 2
- text
-
-
-
diff --git a/deploy/test/data/ml4-properties/build.properties b/deploy/test/data/ml4-properties/build.properties
deleted file mode 100644
index 522dd4bb..00000000
--- a/deploy/test/data/ml4-properties/build.properties
+++ /dev/null
@@ -1,80 +0,0 @@
-#################################################################
-# This file contains overrides to values in default.properties
-# Make changes here, not in default.properties
-#################################################################
-
-#
-# Admin username/password that will exist on the dev/cert/prod servers
-#
-user=admin
-password=admin
-
-# Your Application's name
-app-name=roxy-deployer-tester
-
-# The root of you modules database or filesystem dir
-modules-root=/
-
-#
-# the location of your marklogic configuration file
-#
-config.file=${basedir}/deploy/test/data/ml4-config.xml
-
-#
-# Unit Testing
-# Leave commented out for no unit testing
-# turn these on if you are using the roxy unit tester
-#
-test-content-db=${app-name}-content-test
-test-modules-db=${app-name}-modules-test
-test-port=8902
-
-#
-# Leave commented out for default
-#
-schemas-db=${app-name}-schemas
-
-#
-# Leave commented out for default
-# turn it on if you are using triggers or CPF
-#
-triggers-db=${app-name}-triggers
-
-#
-# the port that the Docs appserver is running on
-# Docs appserver is required for boostrapping
-# set this to 8000 for ML 4.x and 8002 for ML 5.x
-# you should only override this if your Docs appserver
-# is running on a funky port
-#
-# bootstrap-port=
-
-#
-# The ports used by your application
-#
-app-port=8900
-xcc-port=8901
-
-content-forests-per-host=2
-
-#
-# The authentication method used for your appserver
-# application-level, basic, digest, digestbasic
-#
-authentication-method=digest
-
-#
-# The user used as the default user in application level authentication.
-# Using the admin user as the default user is equivalent to turning security off.
-#
-# default-user=${app-name}-user
-
-#
-# the uris or IP addresses of your servers
-# WARNING: if you are running these scripts on WINDOWS you may need to change localhost to 127.0.0.1
-# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
-#
-local-server=localhost
-#dev-server=
-#cert-server=
-#prod-server=
diff --git a/deploy/test/data/ml4-properties/default.properties b/deploy/test/data/ml4-properties/default.properties
deleted file mode 100644
index 2b58100b..00000000
--- a/deploy/test/data/ml4-properties/default.properties
+++ /dev/null
@@ -1,126 +0,0 @@
-#################################################################
-# This file contains default application configuration options
-# Don't mess with this file. Instead, copy it to build.properties
-# and mess with that
-#################################################################
-
-#
-# the location of your code to load into ML
-#
-xquery.dir=${basedir}/src
-
-#
-# the location of your unit test code
-#
-xquery-test.dir=${basedir}/src/test
-
-#
-# the location of your xml data to load into ML
-#
-data.dir=${basedir}/data
-
-#
-# the location of your marklogic configuration file
-#
-config.file=${basedir}/deploy/ml-config.xml
-
-#
-# Admin username/password that will exist on the dev/cert/prod servers
-#
-user=admin
-password=admin
-
-#
-# Your Application's name
-#
-app-name=roxy
-modules-root=/
-
-# The role that is given permissions and execute privileges
-app-role=${app-name}-role
-
-#
-# The names of your databases. Forests are given the same names
-#
-app-modules-db=${app-name}-modules
-content-db=${app-name}-content
-modules-db=${app-name}-modules
-
-#
-# Number of forests to create per host in the group for the content-db
-#
-content-forests-per-host=1
-
-#
-# A location on disk to store the forest data. "data directory" in the admin ui
-#
-# forest-data-dir=
-
-# Leave commented out for no test db
-# turn it on if you are using the roxy unit tester
-# test-content-db=${app-name}-content-test
-# test-modules-db=${app-modules-db}
-
-# Leave commented out for default
-# schemas-db=${app-name}-schemas
-
-# Leave commented out for default
-# turn it on if you are using triggers or CPF
-# triggers-db=${app-name}-triggers
-
-#
-# the port that the Docs appserver is running on
-# Docs appserver is required for boostrapping
-#
-bootstrap-port-five=8002
-bootstrap-port-four=8000
-
-#
-# The ports used by your application
-#
-app-port=8040
-xcc-port=8041
-
-# Leave commented out for no test appserver
-# turn it on if you are using the roxy unit tester
-# test-port=8042
-
-#
-# The authentication used for your appserver
-#
-authentication-method=digest
-default-user=${app-name}-user
-
-#
-# The default values point to Roxy file
-#
-url-rewriter=/roxy/rewrite.xqy
-error-handler=/roxy/error.xqy
-
-environments=local,dev,prod
-
-#
-# The Major version of ML server across your environments (4 or 5). You can override
-# this value in build.properties if all of your servers are the same version
-# or override it in each ${env}.properties file if each server has a different
-# version.
-#
-server-version=5
-
-#
-# the uris or IP addresses of your servers
-# WARNING: if you are running these scripts on windows you may need to change localhost to 127.0.0.1
-# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
-#
-local-server=localhost
-#dev-server=
-#cert-server=
-#prod-server=
-
-#
-# HTTP connection settings
-#
-http.retry-count=3
-http.open-timeout=5
-http.read-timeout=300
-http.retry-delay=15
diff --git a/deploy/test/data/ml5-properties/build.properties b/deploy/test/data/ml5-properties/build.properties
deleted file mode 100644
index 9cff0df0..00000000
--- a/deploy/test/data/ml5-properties/build.properties
+++ /dev/null
@@ -1,80 +0,0 @@
-#################################################################
-# This file contains overrides to values in default.properties
-# Make changes here, not in default.properties
-#################################################################
-
-#
-# Admin username/password that will exist on the dev/cert/prod servers
-#
-user=admin
-password=admin
-
-# Your Application's name
-app-name=roxy-deployer-tester
-
-# The root of you modules database or filesystem dir
-modules-root=/
-
-#
-# the location of your marklogic configuration file
-#
-config.file=${basedir}/deploy/test/data/ml5-config.xml
-
-#
-# Unit Testing
-# Leave commented out for no unit testing
-# turn these on if you are using the roxy unit tester
-#
-test-content-db=${app-name}-content-test
-test-modules-db=${app-name}-modules-test
-test-port=8902
-
-#
-# Leave commented out for default
-#
-schemas-db=${app-name}-schemas
-
-#
-# Leave commented out for default
-# turn it on if you are using triggers or CPF
-#
-triggers-db=${app-name}-triggers
-
-#
-# the port that the Docs appserver is running on
-# Docs appserver is required for boostrapping
-# set this to 8000 for ML 4.x and 8002 for ML 5.x
-# you should only override this if your Docs appserver
-# is running on a funky port
-#
-# bootstrap-port=
-
-#
-# The ports used by your application
-#
-app-port=8900
-xcc-port=8901
-
-content-forests-per-host=2
-
-#
-# The authentication method used for your appserver
-# application-level, basic, digest, digestbasic
-#
-authentication-method=digest
-
-#
-# The user used as the default user in application level authentication.
-# Using the admin user as the default user is equivalent to turning security off.
-#
-# default-user=${app-name}-user
-
-#
-# the uris or IP addresses of your servers
-# WARNING: if you are running these scripts on WINDOWS you may need to change localhost to 127.0.0.1
-# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
-#
-local-server=localhost
-#dev-server=
-#cert-server=
-#prod-server=
diff --git a/deploy/test/data/ml6-properties/build.properties b/deploy/test/data/ml6-properties/build.properties
deleted file mode 100644
index 66e26564..00000000
--- a/deploy/test/data/ml6-properties/build.properties
+++ /dev/null
@@ -1,83 +0,0 @@
-#################################################################
-# This file contains overrides to values in default.properties
-# Make changes here, not in default.properties
-#################################################################
-
-server-version=6
-
-#
-# Admin username/password that will exist on the dev/cert/prod servers
-#
-user=admin
-password=admin
-
-# Your Application's name
-app-name=roxy-deployer-tester
-
-# The root of you modules database or filesystem dir
-modules-root=/
-
-#
-# the location of your marklogic configuration file
-#
-config.file=${basedir}/deploy/test/data/ml6-config.xml
-
-#
-# Unit Testing
-# Leave commented out for no unit testing
-# turn these on if you are using the roxy unit tester
-#
-#test-content-db=${app-name}-content-test
-#test-modules-db=${app-name}-modules-test
-#test-port=8902
-
-#
-# Leave commented out for default
-#
-schemas-db=${app-name}-schemas
-
-#
-# Leave commented out for default
-# turn it on if you are using triggers or CPF
-#
-#triggers-db=${app-name}-triggers
-
-#
-# the port that the Docs appserver is running on
-# Docs appserver is required for boostrapping
-# set this to 8000 for ML 4.x and 8002 for ML 5.x
-# you should only override this if your Docs appserver
-# is running on a funky port
-#
-# bootstrap-port=
-
-#
-# The ports used by your application
-#
-app-port=8900
-xcc-port=8901
-dav-port=8902
-
-content-forests-per-host=2
-
-#
-# The authentication method used for your appserver
-# application-level, basic, digest, digestbasic
-#
-authentication-method=digest
-
-#
-# The user used as the default user in application level authentication.
-# Using the admin user as the default user is equivalent to turning security off.
-#
-# default-user=${app-name}-user
-
-#
-# the uris or IP addresses of your servers
-# WARNING: if you are running these scripts on WINDOWS you may need to change localhost to 127.0.0.1
-# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
-#
-local-server=localhost
-#dev-server=
-#cert-server=
-#prod-server=
diff --git a/deploy/test/data/ml8-config-changed.xml b/deploy/test/data/ml8-config-changed.xml
new file mode 100644
index 00000000..34c6ad9d
--- /dev/null
+++ b/deploy/test/data/ml8-config-changed.xml
@@ -0,0 +1,1265 @@
+
+
+ 16
+ 16
+ 3600
+ 600
+ 100000
+ 1000
+ 1000
+ 10000
+ true
+ true
+ true
+
+
+ /some/daily-task.xqy
+ /
+ daily
+ 2
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/hourly-task.xqy
+ /
+ hourly
+ 2
+ 15
+
+
+
+
+
+
+ /some/minutely-task.xqy
+ /
+ minutely
+ 3
+
+
+
+
+
+
+ /some/monthly-task.xqy
+ /
+ monthly
+ 1
+ 15
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/once-task.xqy
+ /
+ once
+ 2019-01-01T13:00:00-05:00
+
+
+
+
+
+
+ /some/weekly-task.xqy
+ /
+ weekly
+ 1
+
+ monday
+ wednesday
+ friday
+
+ 13:00:00-05:00
+
+
+
+
+
+
+
+
+
+
+ @ml.app-name
+ false
+ /@ml.app-name/
+ @ml.app-port
+
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+ /roxy/error.xqy
+
+
+ http://www.ns.com/ns0
+ /other/test.xsd
+
+
+
+
+ ns3
+ http://www.ns.com/ns1
+
+
+ ns4
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+ http://www.ns.com/ns4
+ /other/test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /other/test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ /roxy/rewrite.xqy
+ true
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+
+ @ml.app-name2
+ false
+ /@ml.app-name/
+ 1@ml.app-port
+
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+ /roxy/error.xqy
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ /roxy/rewrite.xqy
+ true
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+ @ml.test-appserver
+
+ @ml.app-name-dav
+ false
+ /@ml.app-name/
+ @ml.dav-port
+ true
+ true
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+
+
+ @ml.xdbc-server
+
+
+ @ml.odbc-server
+
+
+
+ roxy-self-test
+
+ 2049
+ 2
+ 1025
+ 3
+ 33
+ 2049
+ 3
+ 2049
+ 2
+ 301
+ 1025
+ 3
+ 301
+
+ localhost2
+ 61
+ MarkLogic Server2
+ 61
+ 11
+ 31
+ 241
+ 181
+ 301
+
+ info
+ notice
+ hourly
+ 24
+
+ false
+ true
+ false
+ false
+ ALL:!LOW:@STRENGTH2
+
+ 0
+ false
+ false
+ 2
+ 8
+ 31
+ 91
+
+ s3.amazonaws.com2
+ http
+ none
+
+
+ false
+
+
+ false
+ hourly
+ 24
+ both
+
+
+
+
+ @ml.bootstrap-host
+
+
+
+
+
+
+ @ml.content-db
+
+ @ml.test-content-db-assignment
+ @ml.test-modules-db-assignment
+
+ @ml.modules-db
+
+ @ml.schemas-assignment
+ @ml.triggers-assignment
+
+
+
+
+ @ml.test-content-db-xml
+
+ @ml.content-db
+ @ml.content-forests-per-host
+ @ml.schemas-mapping
+ @ml.triggers-mapping
+
+
+
+ true
+ @ml.content-db-security
+ en
+
+
+ http://www.marklogic.com/ns/sample
+ frag-root
+
+
+ http://www.marklogic.com/ns/sample2
+ frag-root2
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ frag-parents
+
+
+ http://www.marklogic.com/ns/sample
+ frag-parents2
+
+
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ p
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ p
+
+
+
+
+ http://www.w3.org/1999/xhtml
+ a abbr acronym b big br center cite code dfn em font i kbd q samp small span strong sub sup tt var
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ br cr fldChar fldData fldSimple hlink noBreakHyphen permEnd permStart pgNum proofErr r softHyphen sym t tab
+
+
+ http://schemas.microsoft.com/office/word/2003/auxHint
+ t
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ r t endnoteReference footnoteReference customXml hyperlink sdt sdtContent commentRangeEnd commentRangeStart bookmarkStart bookmarkEnd fldSimple instrText smartTag ins proofErr
+
+
+ http://marklogic.com/entity
+ person organization location gpe facility religion nationality credit-card-number email coordinate money percent id phone-number url utm date time
+
+
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ delInstrText delText endnote footnote instrText pict rPr
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ pPr rPr customXmlPr sdtPr commentReference del
+
+
+
+
+
+ false
+ decompounding
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ http://www.marklogic.com/ns/sample
+ word-query-include
+ 1.0
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ word-query-include2 word-query-include3
+ 1.0
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ word-query-exclude
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ word-query-exclude2 word-query-exclude3
+
+
+
+
+
+
+
+
+ test
+ true
+ true
+ true
+
+ http://marklogic.com/collation/
+ http://marklogic.com/collation/codepoint
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-included-element
+ 1
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-included-element2 sample-included-element3
+ 1
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-excluded-element
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-excluded-element2 sample-excluded-element3
+
+
+
+
+
+
+
+ _
+ word
+
+
+
+
+ test2
+ true
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample2-included-element
+ 1
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample2-included-element2 sample2-included-element3
+ 1
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample2-excluded-element
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample2-excluded-element2 sample2-excluded-element3
+
+
+
+
+
+
+
+ _
+ word
+
+
+
+
+ test3
+
+ some/xpath
+ 1
+
+ basic
+ true
+ true
+ true
+
+
+
+
+
+ _
+ word
+
+
+
+
+
+
+ string
+ http://marklogic.com/ns/sample
+ name
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+ string
+ http://marklogic.com/ns/sample2
+ name2
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+
+
+ string
+ http://marklogic.com/ns/sample
+ person
+
+ name
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+ string
+ http://marklogic.com/ns/sample2
+ person2
+
+ name2
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+
+
+ date
+ sample
+
+ false
+ reject
+
+
+ date
+ sample2
+
+ false
+ reject
+
+
+
+
+ sample
+ http://marklogic.com/ns/sample
+
+
+ sample2
+ http://marklogic.com/ns/sample2
+
+
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child
+ false
+ reject
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child2
+ false
+ reject
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ geo-element
+ wgs84
+ point
+ false
+ reject
+
+
+ http://www.marklogic.com/ns/sample
+ geo-element2
+ wgs84
+ point
+ false
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+
+ lat
+
+ lon
+ wgs84
+ false
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+
+ lat2
+
+ lon2
+ wgs84
+ false
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+ http://marklogic.com/ns/sample
+ lat
+ http://marklogic.com/ns/sample
+ lon
+ wgs84
+ true
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+ http://marklogic.com/ns/sample
+ lat2
+ http://marklogic.com/ns/sample
+ lon2
+ wgs84
+ true
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+ http://marklogic.com/ns/sample
+ pos
+ wgs84
+ point
+ false
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+ http://marklogic.com/ns/sample
+ pos2
+ wgs84
+ point
+ false
+ reject
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element
+ http://marklogic.com/collation/
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element2
+ http://marklogic.com/collation/
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element
+
+ sample-attribute
+ http://marklogic.com/collation/
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-element2
+
+ sample-attribute2
+ http://marklogic.com/collation/
+
+
+
+
+
+ @ml.modules-db
+
+
+
+ basic
+ false
+ false
+ true
+ false
+ true
+ true
+ true
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ http://marklogic.com/collation/
+ http://marklogic.com/collation/codepoint
+
+ false
+ false
+ true
+ false
+ true
+ 5
+ 0
+ manual
+ false
+ false
+ false
+ false
+ false
+ 32768
+ 64
+ 16
+ 2
+ 2
+ 1024
+ fast
+ fast
+ 128
+ false
+ false
+ false
+ facet-time
+ 256
+ automatic
+ automatic
+ automatic
+ scaled-log
+ lower
+ 0
+ 1024
+ 2
+ 0
+
+
+ @ml.test-modules-db-xml
+
+ @ml.triggers-db-xml
+ @ml.schemas-db-xml
+
+
+
+ @ml.app-role
+ A role for users of the @ml.app-name application
+ roxy
+
+ test
+
+
+
+
+
+ execute
+ @ml.app-role
+
+
+ update
+ @ml.app-role
+
+
+ insert
+ @ml.app-role
+
+
+ read
+ @ml.app-role
+
+
+
+
+
+
+ xdmp:value
+
+
+ xdmp:add-response-header
+
+
+ xdmp:invoke
+
+
+ xdmp:with-namespaces
+
+
+
+
+ @ml.app-role2
+ A second role for users of the @ml.app-name application
+
+
+
+
+ execute
+ @ml.app-role2
+
+
+ update
+ @ml.app-role2
+
+
+ insert
+ @ml.app-role2
+
+
+ read
+ @ml.app-role2
+
+
+
+
+
+
+ xdmp:value
+
+
+ xdmp:add-response-header
+
+
+ xdmp:invoke
+
+
+ xdmp:with-namespaces
+
+
+
+
+
+
+ @ml.app-name-user
+ A user for the @ml.app-name application
+ password
+
+ test
+
+
+ @ml.app-role
+
+
+
+
+
+ @ml.app-name-user2
+ A second user for the @ml.app-name application
+ password2
+
+ @ml.app-role2
+
+
+
+
+
+
+
+ http://marklogic.com/roxy
+ sample
+ /app/models/sample.xqy
+ @ml.modules-db
+ admin
+
+
+ http://marklogic.com/roxy
+ sample2
+ /app/models/sample2.xqy
+ @ml.modules-db
+ admin
+
+
+
+
+ my-action
+ http://marklogic.com/custom/privilege/my-action
+ execute
+
+
+ my-action2
+ http://marklogic.com/custom/privilege/my-action2
+ execute
+
+
+
+
+ application/crazy
+ crazy stuff
+ text
+
+
+ application/crazy2
+ crazy stuff 2
+ text
+
+
+
+ test-external
+ a big test
+ ldap
+ 300
+ ldap
+ ldap://dc1.mltest1.local:389
+ CN=Users,DC=MLTEST1,DC=LOCAL
+ sAMAccountName
+
+
+
+
diff --git a/deploy/test/data/ml6-config.xml b/deploy/test/data/ml8-config.xml
similarity index 86%
rename from deploy/test/data/ml6-config.xml
rename to deploy/test/data/ml8-config.xml
index 50d6df70..6e0c06d5 100644
--- a/deploy/test/data/ml6-config.xml
+++ b/deploy/test/data/ml8-config.xml
@@ -20,7 +20,8 @@
13:00:00-05:00
-
+
+
/some/hourly-task.xqy
@@ -30,7 +31,8 @@
15
-
+
+
/some/minutely-task.xqy
@@ -39,7 +41,8 @@
3
-
+
+
/some/monthly-task.xqy
@@ -50,7 +53,8 @@
13:00:00-05:00
-
+
+
/some/once-task.xqy
@@ -59,7 +63,8 @@
2019-01-01T13:00:00-05:00
-
+
+
/some/weekly-task.xqy
@@ -74,62 +79,72 @@
13:00:00-05:00
-
+
+
-
+
@ml.app-name
+ false
+ /@ml.app-name/
@ml.app-port
-
- 0
- false
- 0.0.0.0
- 256
- 32
- 30
- 5
- 3600
- 3600
- 600
- 3600
- 1000
- 10000
- http://marklogic.com/collation/
- digest
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
@ml.default-user
admin-ui
- 0
- false
- true
- true
- true
- 1.0-ml
- contemporaneous
- none
- UTF-8
- default
- default
-
-
-
-
- default
- default
- default
- default
-
- none
- default
- omit
- default
-
- default
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
/roxy/error.xqy
-
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
ns1
@@ -139,16 +154,75 @@
ns2
http://www.ns.com/ns2
+
+ http://www.ns.com/ns3
+
-
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
/roxy/rewrite.xqy
true
-
- true
- true
+ false
+ false
sixer
- ALL:!LOW:@STRENGTH
- true
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
@ml.app-name2
@@ -180,6 +254,7 @@
false
1.0
nonblocking
+ strict
normal
ASCII
@@ -221,6 +296,16 @@
http://www.ns.com/ns3
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
@@ -309,6 +394,7 @@
false
1.0
nonblocking
+ strict
normal
ASCII
@@ -407,6 +493,9 @@
@ml.xdbc-server
+
+ @ml.odbc-server
+
roxy-self-test
@@ -595,7 +684,7 @@
http://www.marklogic.com/ns/sample2
- word-query-include2
+ word-query-include2 word-query-include3
1.0
@@ -612,12 +701,13 @@
http://www.marklogic.com/ns/sample2
- word-query-exclude2
+ word-query-exclude2 word-query-exclude3
+
test
@@ -637,7 +727,7 @@
http://www.marklogic.com/ns/sample2
- sample-included-element2
+ sample-included-element2 sample-included-element3
1
@@ -654,12 +744,13 @@
http://www.marklogic.com/ns/sample2
- sample-excluded-element2
+ sample-excluded-element2 sample-excluded-element3
+
test2
@@ -668,7 +759,7 @@
http://www.marklogic.com/ns/sample
- sample-included-element
+ sample2-included-element
1
@@ -676,7 +767,7 @@
http://www.marklogic.com/ns/sample2
- sample-included-element2
+ sample2-included-element2 sample2-included-element3
1
@@ -686,19 +777,35 @@
http://www.marklogic.com/ns/sample
- sample-excluded-element
+ sample2-excluded-element
http://www.marklogic.com/ns/sample2
- sample-excluded-element2
+ sample2-excluded-element2 sample2-excluded-element3
+
+
+
+ test3
+
+ some/xpath
+ 1
+
+ basic
+ true
+ true
+ true
+
+
+
+
@@ -952,7 +1059,6 @@
fast
fast
128
- 2
false
false
false
@@ -978,6 +1084,7 @@
@ml.app-role
A role for users of the @ml.app-name application
+ roxy
@@ -1118,7 +1225,6 @@
text
-
test-external
a big test
diff --git a/deploy/test/data/ml8-properties/build.properties b/deploy/test/data/ml8-properties/build.properties
new file mode 100644
index 00000000..8ba72c7c
--- /dev/null
+++ b/deploy/test/data/ml8-properties/build.properties
@@ -0,0 +1,151 @@
+#################################################################
+# This file contains overrides to values in default.properties
+# Make changes here, not in default.properties
+#################################################################
+
+#
+# Admin username/password that will exist on the dev/cert/prod servers
+#
+user=admin
+password=admin
+
+# Your Application's name
+app-name=roxy-deployer-tester
+
+# The root of you modules database or filesystem dir
+modules-root=/
+
+#
+# the location of your marklogic configuration file
+#
+config.file=${basedir}/deploy/test/data/ml7-config.xml
+
+#
+# Unit Testing
+# Leave commented out for no unit testing
+# turn these on if you are using the roxy unit tester
+# Note: to activate Unit Testing, you must have test-content-db and test-port defined
+#
+# test-content-db=${app-name}-content-test
+# test-modules-db=${app-name}-modules
+# test-port=8042
+#
+# The authentication method used for your test appserver
+# application-level, basic, digest, digestbasic
+#
+# test-authentication-method=digest
+#
+# end of Unit Testing section
+
+#
+# Leave commented out for default
+#
+schemas-db=${app-name}-schemas
+
+#
+# Leave commented out for default
+# turn it on if you are using triggers or CPF
+#
+#triggers-db=${app-name}-triggers
+
+#
+# the port that the Docs appserver is running on
+# Docs appserver is required for boostrapping
+# set this to 8000 for ML 4.x and 8002 for ML 5.x
+# you should only override this if your Docs appserver
+# is running on a funky port
+#
+# bootstrap-port=
+
+#
+# The ports used by your application
+#
+app-port=8900
+xcc-port=8901
+dav-port=8902
+odbc-port=8903
+
+content-forests-per-host=2
+
+## Security
+#
+# The authentication method used for your appserver
+# application-level, basic, digest, digestbasic
+#
+authentication-method=digest
+#
+# The user used as the default user in application level authentication.
+# Using the admin user as the default user is equivalent to turning security off.
+#
+# default-user=${app-name}-user
+#
+# The password assigned to the default user for your application
+#
+appuser-password=Z:S1P%c9%afEqJUZu)UA
+#
+# To make your http appserver use TLS/SSL, uncomment the ssl-certificate-template
+# here and uncomment the ssl-certificate-template element in ml-config.xml.
+#
+# To create a template, uncomment at least ssl-certificate-template and ssl-certificate-oranizationName
+# ssl-certificate-template=roxy
+# ssl-certificate-countryName=US
+# ssl-certificate-stateOrProvinceName=LA
+# ssl-certificate-localityName=New Orleans
+# ssl-certificate-organizationName=Zulu Krewe
+# ssl-certificate-organizationalUnitName=BeadBase
+# ssl-certificate-emailAddress=changeme@example.com
+#
+# end of Security section
+
+#
+# The type of application. Choices are:
+# bare: a bare Roxy app project
+# mvc: a normal, XQuery-based Roxy MVC app
+# rest: an app based on the ML6 REST API
+# hybrid: an app that uses Roxy rewriting and the ML6 REST API
+#
+app-type=
+
+#
+# The major version of MarkLogic server you are using
+# 4, 5, 6, 7
+#
+server-version=8
+
+#
+# the location of your REST API options
+# relevant to app-types rest and hybrid.
+#
+rest-options.dir=${basedir}/rest-api/config
+
+#
+# the location of your REST API extension modules
+# relevant to app-types rest and hybrid.
+#
+rest-ext.dir=${basedir}/rest-api/ext
+
+#
+# the location of your REST API transform modules
+# relevant to app-types rest and hybrid.
+#
+rest-transforms.dir=${basedir}/rest-api/transforms
+
+#
+# The Roxy rewriter handles both Roxy MVC and the ML REST API
+#
+url-rewriter=/roxy/rewrite.xqy
+error-handler=/roxy/error.xqy
+rewrite-resolves-globally=
+
+#
+# the uris or IP addresses of your servers
+# WARNING: if you are running these scripts on WINDOWS you may need to change localhost to 127.0.0.1
+# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
+#
+local-server=localhost
+#dev-server=
+#cert-server=
+#prod-server=
+yoda-age=
+dummy-port=9999
+dummy2-port=${dummy-port}
diff --git a/deploy/test/data/ml6-properties/default.properties b/deploy/test/data/ml8-properties/default.properties
similarity index 56%
rename from deploy/test/data/ml6-properties/default.properties
rename to deploy/test/data/ml8-properties/default.properties
index 90c87d09..2af5beee 100644
--- a/deploy/test/data/ml6-properties/default.properties
+++ b/deploy/test/data/ml8-properties/default.properties
@@ -1,7 +1,11 @@
#################################################################
-# This file contains default application configuration options
-# Don't mess with this file. Instead, copy it to build.properties
-# and mess with that
+#
+# DO NOT EDIT
+#
+# This file contains default application configuration options.
+# Don't mess with this file. Instead, copy what you need to
+# build.properties and edit there.
+# This process makes upgrading Roxy easier.
#################################################################
#
@@ -9,8 +13,24 @@
#
xquery.dir=${basedir}/src
+# MarkLogic application servers exist inside a group. ML Instances start off
+# with a group called "Default".
+group=Default
#
-# the location of your unit test code
+# The type of application. Choices are:
+# bare: a bare Roxy app project
+# mvc: a normal, XQuery-based Roxy MVC app
+# rest: an app based on the ML6 REST API
+# hybrid: an app that uses Roxy rewriting and the ML6 REST API
+#
+app-type=mvc
+
+#
+# the location of your REST API options
+# relevant to app-types rest and hybrid.
+#
+rest-options.dir=${basedir}/rest-api/config
+
#
xquery-test.dir=${basedir}/src/test
@@ -27,7 +47,13 @@ triggers.file=${basedir}/deploy/triggers-config.xml
#
# the location of your marklogic configuration file
#
-config.file=${basedir}/deploy/ml-config.xml
+# the location of your schemas
+schemas.dir=${basedir}/schemas
+schemas.root=/
+
+#
+# Admin username/password that will exist on the local/dev/prod servers
+#
#
# Admin username/password that will exist on the dev/cert/prod servers
@@ -57,11 +83,30 @@ modules-db=${app-name}-modules
content-forests-per-host=1
#
+## Unit Testing
# A location on disk to store the forest data. "data directory" in the admin ui
#
+# Note: to activate Unit Testing, you must have test-content-db and test-port defined
# forest-data-dir=
+#
+# The authentication method used for your test appserver
+# application-level, basic, digest, digestbasic
+#
+# test-authentication-method=digest
+#
+# Leave commented out for no test appserver
+# turn it on if you are using the roxy unit tester
+# test-port=8042
+#
+# the environments in which we DO NOT want to deploy tests
+# typically your production environment.
+do-not-deploy-tests=prod
+#
+# the location of your unit test code
+xquery-test.dir=${basedir}/src/test
# Leave commented out for no test db
+
# turn it on if you are using the roxy unit tester
# test-content-db=${app-name}-content-test
# test-modules-db=${app-modules-db}
@@ -76,31 +121,50 @@ content-forests-per-host=1
#
# the port that the Docs appserver is running on
# Docs appserver is required for boostrapping
+qconsole-port=8000
+
+#
+# If true, .html files under the src directory will be loaded as XML.
+# If false, they will be loaded using the MarkLogic default behavior, which is
+# to treat them as text.
+#
+load-html-as-xml=true
+
+#
+# If true, .js and .css files under the src directory will be loaded as binary.
+# If false, they will be loaded using the MarkLogic default behavior, which is
+# to treat them as text.
+#
+load-js-as-binary=true
+load-css-as-binary=true
+
#
bootstrap-port-five=8002
bootstrap-port-four=8000
#
# The ports used by your application
-#
-app-port=8040
-xcc-port=8041
-
+## Security
# Leave commented out for no test appserver
# turn it on if you are using the roxy unit tester
# test-port=8042
+#
+# Providing a default empty value
+ssl-certificate-template=
#
# The authentication used for your appserver
#
authentication-method=digest
default-user=${app-name}-user
+rewrite-resolves-globally=
#
+# Environments recognized by Roxy
# The default values point to Roxy file
#
url-rewriter=/roxy/rewrite.xqy
-error-handler=/roxy/error.xqy
+# The Major version of ML server across your environments (4, 5, 6 or 7). You can override
environments=local,dev,prod
diff --git a/deploy/test/data/ml9-config-changed.xml b/deploy/test/data/ml9-config-changed.xml
new file mode 100644
index 00000000..34c6ad9d
--- /dev/null
+++ b/deploy/test/data/ml9-config-changed.xml
@@ -0,0 +1,1265 @@
+
+
+ 16
+ 16
+ 3600
+ 600
+ 100000
+ 1000
+ 1000
+ 10000
+ true
+ true
+ true
+
+
+ /some/daily-task.xqy
+ /
+ daily
+ 2
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/hourly-task.xqy
+ /
+ hourly
+ 2
+ 15
+
+
+
+
+
+
+ /some/minutely-task.xqy
+ /
+ minutely
+ 3
+
+
+
+
+
+
+ /some/monthly-task.xqy
+ /
+ monthly
+ 1
+ 15
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/once-task.xqy
+ /
+ once
+ 2019-01-01T13:00:00-05:00
+
+
+
+
+
+
+ /some/weekly-task.xqy
+ /
+ weekly
+ 1
+
+ monday
+ wednesday
+ friday
+
+ 13:00:00-05:00
+
+
+
+
+
+
+
+
+
+
+ @ml.app-name
+ false
+ /@ml.app-name/
+ @ml.app-port
+
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+ /roxy/error.xqy
+
+
+ http://www.ns.com/ns0
+ /other/test.xsd
+
+
+
+
+ ns3
+ http://www.ns.com/ns1
+
+
+ ns4
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+ http://www.ns.com/ns4
+ /other/test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /other/test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ /roxy/rewrite.xqy
+ true
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+
+ @ml.app-name2
+ false
+ /@ml.app-name/
+ 1@ml.app-port
+
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+ /roxy/error.xqy
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ /roxy/rewrite.xqy
+ true
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+ @ml.test-appserver
+
+ @ml.app-name-dav
+ false
+ /@ml.app-name/
+ @ml.dav-port
+ true
+ true
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+
+
+ @ml.xdbc-server
+
+
+ @ml.odbc-server
+
+
+
+ roxy-self-test
+
+ 2049
+ 2
+ 1025
+ 3
+ 33
+ 2049
+ 3
+ 2049
+ 2
+ 301
+ 1025
+ 3
+ 301
+
+ localhost2
+ 61
+ MarkLogic Server2
+ 61
+ 11
+ 31
+ 241
+ 181
+ 301
+
+ info
+ notice
+ hourly
+ 24
+
+ false
+ true
+ false
+ false
+ ALL:!LOW:@STRENGTH2
+
+ 0
+ false
+ false
+ 2
+ 8
+ 31
+ 91
+
+ s3.amazonaws.com2
+ http
+ none
+
+
+ false
+
+
+ false
+ hourly
+ 24
+ both
+
+
+
+
+ @ml.bootstrap-host
+
+
+
+
+
+
+ @ml.content-db
+
+ @ml.test-content-db-assignment
+ @ml.test-modules-db-assignment
+
+ @ml.modules-db
+
+ @ml.schemas-assignment
+ @ml.triggers-assignment
+
+
+
+
+ @ml.test-content-db-xml
+
+ @ml.content-db
+ @ml.content-forests-per-host
+ @ml.schemas-mapping
+ @ml.triggers-mapping
+
+
+
+ true
+ @ml.content-db-security
+ en
+
+
+ http://www.marklogic.com/ns/sample
+ frag-root
+
+
+ http://www.marklogic.com/ns/sample2
+ frag-root2
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ frag-parents
+
+
+ http://www.marklogic.com/ns/sample
+ frag-parents2
+
+
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ p
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ p
+
+
+
+
+ http://www.w3.org/1999/xhtml
+ a abbr acronym b big br center cite code dfn em font i kbd q samp small span strong sub sup tt var
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ br cr fldChar fldData fldSimple hlink noBreakHyphen permEnd permStart pgNum proofErr r softHyphen sym t tab
+
+
+ http://schemas.microsoft.com/office/word/2003/auxHint
+ t
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ r t endnoteReference footnoteReference customXml hyperlink sdt sdtContent commentRangeEnd commentRangeStart bookmarkStart bookmarkEnd fldSimple instrText smartTag ins proofErr
+
+
+ http://marklogic.com/entity
+ person organization location gpe facility religion nationality credit-card-number email coordinate money percent id phone-number url utm date time
+
+
+
+
+ http://schemas.microsoft.com/office/word/2003/wordml
+ delInstrText delText endnote footnote instrText pict rPr
+
+
+ http://schemas.openxmlformats.org/wordprocessingml/2006/main
+ pPr rPr customXmlPr sdtPr commentReference del
+
+
+
+
+
+ false
+ decompounding
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ http://www.marklogic.com/ns/sample
+ word-query-include
+ 1.0
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ word-query-include2 word-query-include3
+ 1.0
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ word-query-exclude
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ word-query-exclude2 word-query-exclude3
+
+
+
+
+
+
+
+
+ test
+ true
+ true
+ true
+
+ http://marklogic.com/collation/
+ http://marklogic.com/collation/codepoint
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-included-element
+ 1
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-included-element2 sample-included-element3
+ 1
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-excluded-element
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-excluded-element2 sample-excluded-element3
+
+
+
+
+
+
+
+ _
+ word
+
+
+
+
+ test2
+ true
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample2-included-element
+ 1
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample2-included-element2 sample2-included-element3
+ 1
+
+
+
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample2-excluded-element
+
+
+
+
+
+ http://www.marklogic.com/ns/sample2
+ sample2-excluded-element2 sample2-excluded-element3
+
+
+
+
+
+
+
+ _
+ word
+
+
+
+
+ test3
+
+ some/xpath
+ 1
+
+ basic
+ true
+ true
+ true
+
+
+
+
+
+ _
+ word
+
+
+
+
+
+
+ string
+ http://marklogic.com/ns/sample
+ name
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+ string
+ http://marklogic.com/ns/sample2
+ name2
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+
+
+ string
+ http://marklogic.com/ns/sample
+ person
+
+ name
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+ string
+ http://marklogic.com/ns/sample2
+ person2
+
+ name2
+ http://marklogic.com/collation/codepoint
+ false
+ reject
+
+
+
+
+ date
+ sample
+
+ false
+ reject
+
+
+ date
+ sample2
+
+ false
+ reject
+
+
+
+
+ sample
+ http://marklogic.com/ns/sample
+
+
+ sample2
+ http://marklogic.com/ns/sample2
+
+
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child
+ false
+ reject
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child2
+ false
+ reject
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ geo-element
+ wgs84
+ point
+ false
+ reject
+
+
+ http://www.marklogic.com/ns/sample
+ geo-element2
+ wgs84
+ point
+ false
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+
+ lat
+
+ lon
+ wgs84
+ false
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+
+ lat2
+
+ lon2
+ wgs84
+ false
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+ http://marklogic.com/ns/sample
+ lat
+ http://marklogic.com/ns/sample
+ lon
+ wgs84
+ true
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+ http://marklogic.com/ns/sample
+ lat2
+ http://marklogic.com/ns/sample
+ lon2
+ wgs84
+ true
+ reject
+
+
+
+
+ http://marklogic.com/ns/sample
+ geo
+ http://marklogic.com/ns/sample
+ pos
+ wgs84
+ point
+ false
+ reject
+
+
+ http://marklogic.com/ns/sample
+ geo2
+ http://marklogic.com/ns/sample
+ pos2
+ wgs84
+ point
+ false
+ reject
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element
+ http://marklogic.com/collation/
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element2
+ http://marklogic.com/collation/
+
+
+
+
+ http://www.marklogic.com/ns/sample
+ sample-element
+
+ sample-attribute
+ http://marklogic.com/collation/
+
+
+ http://www.marklogic.com/ns/sample2
+ sample-element2
+
+ sample-attribute2
+ http://marklogic.com/collation/
+
+
+
+
+
+ @ml.modules-db
+
+
+
+ basic
+ false
+ false
+ true
+ false
+ true
+ true
+ true
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+
+ http://marklogic.com/collation/
+ http://marklogic.com/collation/codepoint
+
+ false
+ false
+ true
+ false
+ true
+ 5
+ 0
+ manual
+ false
+ false
+ false
+ false
+ false
+ 32768
+ 64
+ 16
+ 2
+ 2
+ 1024
+ fast
+ fast
+ 128
+ false
+ false
+ false
+ facet-time
+ 256
+ automatic
+ automatic
+ automatic
+ scaled-log
+ lower
+ 0
+ 1024
+ 2
+ 0
+
+
+ @ml.test-modules-db-xml
+
+ @ml.triggers-db-xml
+ @ml.schemas-db-xml
+
+
+
+ @ml.app-role
+ A role for users of the @ml.app-name application
+ roxy
+
+ test
+
+
+
+
+
+ execute
+ @ml.app-role
+
+
+ update
+ @ml.app-role
+
+
+ insert
+ @ml.app-role
+
+
+ read
+ @ml.app-role
+
+
+
+
+
+
+ xdmp:value
+
+
+ xdmp:add-response-header
+
+
+ xdmp:invoke
+
+
+ xdmp:with-namespaces
+
+
+
+
+ @ml.app-role2
+ A second role for users of the @ml.app-name application
+
+
+
+
+ execute
+ @ml.app-role2
+
+
+ update
+ @ml.app-role2
+
+
+ insert
+ @ml.app-role2
+
+
+ read
+ @ml.app-role2
+
+
+
+
+
+
+ xdmp:value
+
+
+ xdmp:add-response-header
+
+
+ xdmp:invoke
+
+
+ xdmp:with-namespaces
+
+
+
+
+
+
+ @ml.app-name-user
+ A user for the @ml.app-name application
+ password
+
+ test
+
+
+ @ml.app-role
+
+
+
+
+
+ @ml.app-name-user2
+ A second user for the @ml.app-name application
+ password2
+
+ @ml.app-role2
+
+
+
+
+
+
+
+ http://marklogic.com/roxy
+ sample
+ /app/models/sample.xqy
+ @ml.modules-db
+ admin
+
+
+ http://marklogic.com/roxy
+ sample2
+ /app/models/sample2.xqy
+ @ml.modules-db
+ admin
+
+
+
+
+ my-action
+ http://marklogic.com/custom/privilege/my-action
+ execute
+
+
+ my-action2
+ http://marklogic.com/custom/privilege/my-action2
+ execute
+
+
+
+
+ application/crazy
+ crazy stuff
+ text
+
+
+ application/crazy2
+ crazy stuff 2
+ text
+
+
+
+ test-external
+ a big test
+ ldap
+ 300
+ ldap
+ ldap://dc1.mltest1.local:389
+ CN=Users,DC=MLTEST1,DC=LOCAL
+ sAMAccountName
+
+
+
+
diff --git a/deploy/test/data/ml5-config.xml b/deploy/test/data/ml9-config.xml
similarity index 53%
rename from deploy/test/data/ml5-config.xml
rename to deploy/test/data/ml9-config.xml
index f9f8374b..6e0c06d5 100644
--- a/deploy/test/data/ml5-config.xml
+++ b/deploy/test/data/ml9-config.xml
@@ -1,4 +1,4 @@
-
+
16
16
@@ -11,60 +11,278 @@
true
true
true
-
+
+
+ /some/daily-task.xqy
+ /
+ daily
+ 2
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/hourly-task.xqy
+ /
+ hourly
+ 2
+ 15
+
+
+
+
+
+
+ /some/minutely-task.xqy
+ /
+ minutely
+ 3
+
+
+
+
+
+
+ /some/monthly-task.xqy
+ /
+ monthly
+ 1
+ 15
+ 13:00:00-05:00
+
+
+
+
+
+
+ /some/once-task.xqy
+ /
+ once
+ 2019-01-01T13:00:00-05:00
+
+
+
+
+
+
+ /some/weekly-task.xqy
+ /
+ weekly
+ 1
+
+ monday
+ wednesday
+ friday
+
+ 13:00:00-05:00
+
+
+
+
+
+
-
+
@ml.app-name
+ false
+ /@ml.app-name/
@ml.app-port
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+ /roxy/error.xqy
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ /roxy/rewrite.xqy
+ true
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
+
+ @ml.app-name2
+ false
+ /@ml.app-name/
+ 1@ml.app-port
- 0
- false
- 0.0.0.0
- 256
- 32
- 30
- 5
- 3600
- 3600
- 600
- 3600
- 1000
- 10000
- http://marklogic.com/collation/
- digest
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
@ml.default-user
admin-ui
- 0
- false
- true
- true
- true
- 1.0-ml
- contemporaneous
- none
- UTF-8
- default
- default
-
-
-
-
- default
- default
- default
- default
-
- none
- default
- omit
- default
-
- default
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
/roxy/error.xqy
-
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
ns1
@@ -74,21 +292,277 @@
ns2
http://www.ns.com/ns2
+
+ http://www.ns.com/ns3
+
-
+
+
+ http://www.ns.com/ns4
+ /test-lib.xqy
+
+
+ http://www.ns.com/ns5
+ /test-lib2.xqy
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
/roxy/rewrite.xqy
-
- true
- true
+ true
+ false
+ false
sixer
- ALL:!LOW:@STRENGTH
- true
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
@ml.test-appserver
+
+ @ml.app-name-dav
+ false
+ /@ml.app-name/
+ @ml.dav-port
+ true
+ true
+
+ Last-Login
+ true
+ 1.2.3.4
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ 321
+ 123
+ http://marklogic.com/collation/codepoint
+ basic
+ @ml.default-user
+ admin-ui
+ 123
+ false
+ false
+ false
+ 1.0
+ nonblocking
+ strict
+
+ normal
+ ASCII
+ xml
+ yes
+ a
+ b
+ c
+ d
+ yes
+ yes
+ yes
+ yes
+ text/xml
+ NFC
+ yes
+ yes
+ yes
+ 1.0
+ yes
+
+
+
+ http://www.ns.com/ns0
+ /test.xsd
+
+
+
+
+ ns1
+ http://www.ns.com/ns1
+
+
+ ns2
+ http://www.ns.com/ns2
+
+
+ http://www.ns.com/ns3
+
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ 23:45:00+02:00
+
+
+
+
+
+ recurring
+
+ monday
+
+
+ 12:34:00+02:00
+ PT1H23M
+
+
+
+
+
+ recurring
+
+ monday
+
+
+
+
+
+
+ once
+
+
+ 1234-11-22
+ 12:34:00+02:00
+ 1234-12-23
+ 23:34:00+02:00
+
+
+
+ false
+ false
+ sixer
+ ALL:!LOW:@STRENGTH:ROXY
+ false
+
+
@ml.xdbc-server
+
+ @ml.odbc-server
+
+
+
+ roxy-self-test
+
+ 2048
+ 1
+ 1024
+ 2
+ 32
+ 2048
+ 2
+ 2048
+ 1
+ 300
+ 1024
+ 2
+ 300
+
+ localhost
+ 60
+ MarkLogic Server
+ 60
+ 10
+ 30
+ 240
+ 180
+ 300
+
+ notice
+ info
+ daily
+ 7
+
+ true
+ false
+ true
+ true
+ ALL:!LOW:@STRENGTH
+
+ 0
+ true
+ true
+ 1
+ 7
+ 30
+ 90
+
+ s3.amazonaws.com
+ http
+ none
+
+
+ true
+
+
+ true
+ daily
+ 7
+ both
+
+
+
+
+ @ml.bootstrap-host
+
+
+
@@ -210,7 +684,7 @@
http://www.marklogic.com/ns/sample2
- word-query-include2
+ word-query-include2 word-query-include3
1.0
@@ -227,12 +701,13 @@
http://www.marklogic.com/ns/sample2
- word-query-exclude2
+ word-query-exclude2 word-query-exclude3
+
test
@@ -252,7 +727,7 @@
http://www.marklogic.com/ns/sample2
- sample-included-element2
+ sample-included-element2 sample-included-element3
1
@@ -269,12 +744,13 @@
http://www.marklogic.com/ns/sample2
- sample-excluded-element2
+ sample-excluded-element2 sample-excluded-element3
+
test2
@@ -283,7 +759,7 @@
http://www.marklogic.com/ns/sample
- sample-included-element
+ sample2-included-element
1
@@ -291,7 +767,7 @@
http://www.marklogic.com/ns/sample2
- sample-included-element2
+ sample2-included-element2 sample2-included-element3
1
@@ -301,19 +777,35 @@
http://www.marklogic.com/ns/sample
- sample-excluded-element
+ sample2-excluded-element
http://www.marklogic.com/ns/sample2
- sample-excluded-element2
+ sample2-excluded-element2 sample2-excluded-element3
+
+
+
+ test3
+
+ some/xpath
+ 1
+
+ basic
+ true
+ true
+ true
+
+
+
+
@@ -323,6 +815,7 @@
name
http://marklogic.com/collation/codepoint
false
+ reject
string
@@ -330,6 +823,7 @@
name2
http://marklogic.com/collation/codepoint
false
+ reject
@@ -341,6 +835,7 @@
name
http://marklogic.com/collation/codepoint
false
+ reject
string
@@ -350,6 +845,7 @@
name2
http://marklogic.com/collation/codepoint
false
+ reject
@@ -358,17 +854,41 @@
sample
false
+ reject
date
sample2
false
+ reject
+
+ sample
+ http://marklogic.com/ns/sample
+
+
+ sample2
+ http://marklogic.com/ns/sample2
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child
+ false
+ reject
+
+
+ string
+ http://marklogic.com/collation/codepoint
+ /sample:root/sample:child2
+ false
+ reject
+
@@ -377,6 +897,7 @@
wgs84
point
false
+ reject
http://www.marklogic.com/ns/sample
@@ -384,6 +905,7 @@
wgs84
point
false
+ reject
@@ -396,6 +918,7 @@
lon
wgs84
false
+ reject
http://marklogic.com/ns/sample
@@ -406,6 +929,7 @@
lon2
wgs84
false
+ reject
@@ -418,6 +942,7 @@
lon
wgs84
true
+ reject
http://marklogic.com/ns/sample
@@ -428,6 +953,7 @@
lon2
wgs84
true
+ reject
@@ -439,6 +965,7 @@
wgs84
point
false
+ reject
http://marklogic.com/ns/sample
@@ -448,6 +975,7 @@
wgs84
point
false
+ reject
@@ -531,7 +1059,6 @@
fast
fast
128
- 2
false
false
false
@@ -557,6 +1084,7 @@
@ml.app-role
A role for users of the @ml.app-name application
+ roxy
@@ -697,7 +1225,6 @@
text
-
test-external
a big test
diff --git a/deploy/test/data/ml9-properties/build.properties b/deploy/test/data/ml9-properties/build.properties
new file mode 100644
index 00000000..293dee2c
--- /dev/null
+++ b/deploy/test/data/ml9-properties/build.properties
@@ -0,0 +1,151 @@
+#################################################################
+# This file contains overrides to values in default.properties
+# Make changes here, not in default.properties
+#################################################################
+
+#
+# Admin username/password that will exist on the dev/cert/prod servers
+#
+user=admin
+password=admin
+
+# Your Application's name
+app-name=roxy-deployer-tester
+
+# The root of you modules database or filesystem dir
+modules-root=/
+
+#
+# the location of your marklogic configuration file
+#
+config.file=${basedir}/deploy/test/data/ml7-config.xml
+
+#
+# Unit Testing
+# Leave commented out for no unit testing
+# turn these on if you are using the roxy unit tester
+# Note: to activate Unit Testing, you must have test-content-db and test-port defined
+#
+# test-content-db=${app-name}-content-test
+# test-modules-db=${app-name}-modules
+# test-port=8042
+#
+# The authentication method used for your test appserver
+# application-level, basic, digest, digestbasic
+#
+# test-authentication-method=digest
+#
+# end of Unit Testing section
+
+#
+# Leave commented out for default
+#
+schemas-db=${app-name}-schemas
+
+#
+# Leave commented out for default
+# turn it on if you are using triggers or CPF
+#
+#triggers-db=${app-name}-triggers
+
+#
+# the port that the Docs appserver is running on
+# Docs appserver is required for boostrapping
+# set this to 8000 for ML 4.x and 8002 for ML 5.x
+# you should only override this if your Docs appserver
+# is running on a funky port
+#
+# bootstrap-port=
+
+#
+# The ports used by your application
+#
+app-port=8900
+xcc-port=8901
+dav-port=8902
+odbc-port=8903
+
+content-forests-per-host=2
+
+## Security
+#
+# The authentication method used for your appserver
+# application-level, basic, digest, digestbasic
+#
+authentication-method=digest
+#
+# The user used as the default user in application level authentication.
+# Using the admin user as the default user is equivalent to turning security off.
+#
+# default-user=${app-name}-user
+#
+# The password assigned to the default user for your application
+#
+appuser-password=Z:S1P%c9%afEqJUZu)UA
+#
+# To make your http appserver use TLS/SSL, uncomment the ssl-certificate-template
+# here and uncomment the ssl-certificate-template element in ml-config.xml.
+#
+# To create a template, uncomment at least ssl-certificate-template and ssl-certificate-oranizationName
+# ssl-certificate-template=roxy
+# ssl-certificate-countryName=US
+# ssl-certificate-stateOrProvinceName=LA
+# ssl-certificate-localityName=New Orleans
+# ssl-certificate-organizationName=Zulu Krewe
+# ssl-certificate-organizationalUnitName=BeadBase
+# ssl-certificate-emailAddress=changeme@example.com
+#
+# end of Security section
+
+#
+# The type of application. Choices are:
+# bare: a bare Roxy app project
+# mvc: a normal, XQuery-based Roxy MVC app
+# rest: an app based on the ML6 REST API
+# hybrid: an app that uses Roxy rewriting and the ML6 REST API
+#
+app-type=
+
+#
+# The major version of MarkLogic server you are using
+# 4, 5, 6, 7
+#
+server-version=9
+
+#
+# the location of your REST API options
+# relevant to app-types rest and hybrid.
+#
+rest-options.dir=${basedir}/rest-api/config
+
+#
+# the location of your REST API extension modules
+# relevant to app-types rest and hybrid.
+#
+rest-ext.dir=${basedir}/rest-api/ext
+
+#
+# the location of your REST API transform modules
+# relevant to app-types rest and hybrid.
+#
+rest-transforms.dir=${basedir}/rest-api/transforms
+
+#
+# The Roxy rewriter handles both Roxy MVC and the ML REST API
+#
+url-rewriter=/roxy/rewrite.xqy
+error-handler=/roxy/error.xqy
+rewrite-resolves-globally=
+
+#
+# the uris or IP addresses of your servers
+# WARNING: if you are running these scripts on WINDOWS you may need to change localhost to 127.0.0.1
+# There have been reported issues with dns resolution when localhost wasn't in the hosts file.
+#
+local-server=localhost
+#dev-server=
+#cert-server=
+#prod-server=
+yoda-age=
+dummy-port=9999
+dummy2-port=${dummy-port}
diff --git a/deploy/test/data/ml5-properties/default.properties b/deploy/test/data/ml9-properties/default.properties
similarity index 53%
rename from deploy/test/data/ml5-properties/default.properties
rename to deploy/test/data/ml9-properties/default.properties
index 2b58100b..2af5beee 100644
--- a/deploy/test/data/ml5-properties/default.properties
+++ b/deploy/test/data/ml9-properties/default.properties
@@ -1,7 +1,11 @@
#################################################################
-# This file contains default application configuration options
-# Don't mess with this file. Instead, copy it to build.properties
-# and mess with that
+#
+# DO NOT EDIT
+#
+# This file contains default application configuration options.
+# Don't mess with this file. Instead, copy what you need to
+# build.properties and edit there.
+# This process makes upgrading Roxy easier.
#################################################################
#
@@ -9,8 +13,24 @@
#
xquery.dir=${basedir}/src
+# MarkLogic application servers exist inside a group. ML Instances start off
+# with a group called "Default".
+group=Default
#
-# the location of your unit test code
+# The type of application. Choices are:
+# bare: a bare Roxy app project
+# mvc: a normal, XQuery-based Roxy MVC app
+# rest: an app based on the ML6 REST API
+# hybrid: an app that uses Roxy rewriting and the ML6 REST API
+#
+app-type=mvc
+
+#
+# the location of your REST API options
+# relevant to app-types rest and hybrid.
+#
+rest-options.dir=${basedir}/rest-api/config
+
#
xquery-test.dir=${basedir}/src/test
@@ -19,10 +39,21 @@ xquery-test.dir=${basedir}/src/test
#
data.dir=${basedir}/data
+# the location of your triggers configuration file
+# see sample at deploy/sample/triggers-config.sample.xml
+#
+triggers.file=${basedir}/deploy/triggers-config.xml
+
#
# the location of your marklogic configuration file
#
-config.file=${basedir}/deploy/ml-config.xml
+# the location of your schemas
+schemas.dir=${basedir}/schemas
+schemas.root=/
+
+#
+# Admin username/password that will exist on the local/dev/prod servers
+#
#
# Admin username/password that will exist on the dev/cert/prod servers
@@ -52,11 +83,30 @@ modules-db=${app-name}-modules
content-forests-per-host=1
#
+## Unit Testing
# A location on disk to store the forest data. "data directory" in the admin ui
#
+# Note: to activate Unit Testing, you must have test-content-db and test-port defined
# forest-data-dir=
+#
+# The authentication method used for your test appserver
+# application-level, basic, digest, digestbasic
+#
+# test-authentication-method=digest
+#
+# Leave commented out for no test appserver
+# turn it on if you are using the roxy unit tester
+# test-port=8042
+#
+# the environments in which we DO NOT want to deploy tests
+# typically your production environment.
+do-not-deploy-tests=prod
+#
+# the location of your unit test code
+xquery-test.dir=${basedir}/src/test
# Leave commented out for no test db
+
# turn it on if you are using the roxy unit tester
# test-content-db=${app-name}-content-test
# test-modules-db=${app-modules-db}
@@ -71,31 +121,50 @@ content-forests-per-host=1
#
# the port that the Docs appserver is running on
# Docs appserver is required for boostrapping
+qconsole-port=8000
+
+#
+# If true, .html files under the src directory will be loaded as XML.
+# If false, they will be loaded using the MarkLogic default behavior, which is
+# to treat them as text.
+#
+load-html-as-xml=true
+
+#
+# If true, .js and .css files under the src directory will be loaded as binary.
+# If false, they will be loaded using the MarkLogic default behavior, which is
+# to treat them as text.
+#
+load-js-as-binary=true
+load-css-as-binary=true
+
#
bootstrap-port-five=8002
bootstrap-port-four=8000
#
# The ports used by your application
-#
-app-port=8040
-xcc-port=8041
-
+## Security
# Leave commented out for no test appserver
# turn it on if you are using the roxy unit tester
# test-port=8042
+#
+# Providing a default empty value
+ssl-certificate-template=
#
# The authentication used for your appserver
#
authentication-method=digest
default-user=${app-name}-user
+rewrite-resolves-globally=
#
+# Environments recognized by Roxy
# The default values point to Roxy file
#
url-rewriter=/roxy/rewrite.xqy
-error-handler=/roxy/error.xqy
+# The Major version of ML server across your environments (4, 5, 6 or 7). You can override
environments=local,dev,prod
diff --git a/deploy/test/test_generators.rb b/deploy/test/test_generators.rb
index 57207886..7fe559dc 100644
--- a/deploy/test/test_generators.rb
+++ b/deploy/test/test_generators.rb
@@ -9,7 +9,7 @@
before do
# initialize roxy or these tests will fail
ARGV.push "roxy"
- ARGV.push "--server-version=7"
+ ARGV.push "--server-version=9"
ARGV.push "--app-type=hybrid"
begin
ServerConfig.init
diff --git a/deploy/test/test_server_config.rb b/deploy/test/test_server_config.rb
index 5978b7e5..f918fb65 100644
--- a/deploy/test/test_server_config.rb
+++ b/deploy/test/test_server_config.rb
@@ -7,14 +7,14 @@
describe "load_properties" do
before do
- @properties = ServerConfig.load_properties(File.expand_path("../data/ml6-properties/default.properties", __FILE__), "test.")
+ @properties = ServerConfig.load_properties(File.expand_path("../data/ml9-properties/default.properties", __FILE__), "test.")
end
it "should load the properties" do
@properties.must_be_kind_of Hash
- @properties['test.user'].must_equal 'admin'
- @properties['test.password'].must_equal 'admin'
@properties['test.app-name'].must_equal 'roxy'
+ @properties['test.modules-root'].must_equal '/'
+ @properties['test.content-forests-per-host'].must_equal '1'
end
end
@@ -46,7 +46,7 @@
describe "load properties" do
it "should load properties from a file" do
- properties = ServerConfig.properties(File.expand_path("../data/ml6-properties/", __FILE__))
+ properties = ServerConfig.properties(File.expand_path("../data/ml9-properties/", __FILE__))
properties.must_be_kind_of Hash
properties['ml.user'].must_equal 'admin'
@@ -58,7 +58,7 @@
describe "bootstrap" do
before do
- @version = ENV['ROXY_TEST_SERVER_VERSION'] || 7
+ @version = ENV['ROXY_TEST_SERVER_VERSION'] || 9
@logger = Logger.new(STDOUT)
@logger.info "Testing against MarkLogic version #{@version}.."
@@ -118,7 +118,7 @@
@logger.expect :warn, nil, ["Property ml.missing-key does not exist. It will be skipped."]
ServerConfig.logger = @logger
- @properties = ServerConfig.properties(File.expand_path("../data/ml7-properties/", __FILE__))
+ @properties = ServerConfig.properties(File.expand_path("../data/ml9-properties/", __FILE__))
end
it "should warn the user when missing keys are provided" do
@@ -172,7 +172,7 @@
before do
ARGV << "--ml.dummy-port=8888"
- @properties = ServerConfig.properties(File.expand_path("../data/ml7-properties/", __FILE__))
+ @properties = ServerConfig.properties(File.expand_path("../data/ml9-properties/", __FILE__))
end
it "should load valid properites from a command" do