diff --git a/tests/pillar/replication_both.sls b/tests/pillar/replication_both.sls
new file mode 100644
index 0000000..995abac
--- /dev/null
+++ b/tests/pillar/replication_both.sls
@@ -0,0 +1,29 @@
+mysql:
+  server:
+    enabled: true
+    version: '5.5'
+    force_encoding: utf8
+    replication:
+      role: both
+      master: 127.0.0.1
+      master_address: 127.0.0.1
+      user: admin
+      password: password
+    server_id: 1
+    ssl:
+      enabled: true
+      authority: Org_CA
+      certificate: name_of_service
+      client_certificate: name_of_client_cert
+    admin:
+      user: user
+      password: password
+    bind:
+      address: 0.0.0.0
+      port: 3306
+      protocol: tcp
+salt:
+  minion:
+    mine:
+      module:
+        mysql.get_master_status: []
\ No newline at end of file
diff --git a/tests/pillar/replication_master.sls b/tests/pillar/replication_master.sls
new file mode 100644
index 0000000..892e23b
--- /dev/null
+++ b/tests/pillar/replication_master.sls
@@ -0,0 +1,27 @@
+mysql:
+  server:
+    enabled: true
+    version: '5.5'
+    force_encoding: utf8
+    replication:
+      role: master
+      user: admin
+      password: password
+    server_id: 1
+    ssl:
+      enabled: true
+      authority: Org_CA
+      certificate: name_of_service
+      client_certificate: name_of_client_cert
+    admin:
+      user: user
+      password: password
+    bind:
+      address: 0.0.0.0
+      port: 3306
+      protocol: tcp
+salt:
+  minion:
+    mine:
+      module:
+        mysql.get_master_status: []
\ No newline at end of file
diff --git a/tests/pillar/replication_slave.sls b/tests/pillar/replication_slave.sls
new file mode 100644
index 0000000..a250527
--- /dev/null
+++ b/tests/pillar/replication_slave.sls
@@ -0,0 +1,29 @@
+mysql:
+  server:
+    enabled: true
+    version: '5.5'
+    force_encoding: utf8
+    replication:
+      role: slave
+      master: 127.0.0.1
+      master_address: 127.0.0.1
+      user: admin
+      password: password
+    server_id: 1
+    ssl:
+      enabled: true
+      authority: Org_CA
+      certificate: name_of_service
+      client_certificate: name_of_client_cert
+    admin:
+      user: user
+      password: password
+    bind:
+      address: 0.0.0.0
+      port: 3306
+      protocol: tcp
+salt:
+  minion:
+    mine:
+      module:
+        mysql.get_master_status: []
\ No newline at end of file
diff --git a/tests/pillar/single.sls b/tests/pillar/single.sls
new file mode 100644
index 0000000..739d4fd
--- /dev/null
+++ b/tests/pillar/single.sls
@@ -0,0 +1,24 @@
+mysql:
+  server:
+    enabled: true
+    version: '5.5'
+    force_encoding: utf8
+    admin:
+      user: admin
+      password: password
+    bind:
+      address: 0.0.0.0
+      port: 3306
+      protocol: tcp
+    database:
+      nova:
+        encoding: utf8
+        users:
+        - name: nova
+          password: password
+          host: '%'
+          rights: all
+        - name: nova
+          password: password
+          host: 127.0.0.1
+          rights: all
\ No newline at end of file
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
new file mode 100755
index 0000000..1f1316f
--- /dev/null
+++ b/tests/run_tests.sh
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+set -e
+[ -n "$DEBUG" ] && set -x
+
+CURDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+METADATA=${CURDIR}/../metadata.yml
+FORMULA_NAME=$(cat $METADATA | python -c "import sys,yaml; print yaml.load(sys.stdin)['name']")
+
+## Overrideable parameters
+PILLARDIR=${PILLARDIR:-${CURDIR}/pillar}
+BUILDDIR=${BUILDDIR:-${CURDIR}/build}
+VENV_DIR=${VENV_DIR:-${BUILDDIR}/virtualenv}
+DEPSDIR=${BUILDDIR}/deps
+
+SALT_FILE_DIR=${SALT_FILE_DIR:-${BUILDDIR}/file_root}
+SALT_PILLAR_DIR=${SALT_PILLAR_DIR:-${BUILDDIR}/pillar_root}
+SALT_CONFIG_DIR=${SALT_CONFIG_DIR:-${BUILDDIR}/salt}
+SALT_CACHE_DIR=${SALT_CACHE_DIR:-${SALT_CONFIG_DIR}/cache}
+
+SALT_OPTS="${SALT_OPTS} --retcode-passthrough --local -c ${SALT_CONFIG_DIR}"
+
+if [ "x${SALT_VERSION}" != "x" ]; then
+    PIP_SALT_VERSION="==${SALT_VERSION}"
+fi
+
+## Functions
+log_info() {
+    echo "[INFO] $*"
+}
+
+log_err() {
+    echo "[ERROR] $*" >&2
+}
+
+setup_virtualenv() {
+    log_info "Setting up Python virtualenv"
+    virtualenv $VENV_DIR
+    source ${VENV_DIR}/bin/activate
+    pip install salt${PIP_SALT_VERSION}
+}
+
+setup_pillar() {
+    [ ! -d ${SALT_PILLAR_DIR} ] && mkdir -p ${SALT_PILLAR_DIR}
+    echo "base:" > ${SALT_PILLAR_DIR}/top.sls
+    for pillar in ${PILLARDIR}/*; do
+        state_name=$(basename ${pillar%.sls})
+        echo -e "  ${state_name}:\n    - ${state_name}" >> ${SALT_PILLAR_DIR}/top.sls
+    done
+}
+
+setup_salt() {
+    [ ! -d ${SALT_FILE_DIR} ] && mkdir -p ${SALT_FILE_DIR}
+    [ ! -d ${SALT_CONFIG_DIR} ] && mkdir -p ${SALT_CONFIG_DIR}
+    [ ! -d ${SALT_CACHE_DIR} ] && mkdir -p ${SALT_CACHE_DIR}
+
+    echo "base:" > ${SALT_FILE_DIR}/top.sls
+    for pillar in ${PILLARDIR}/*.sls; do
+        state_name=$(basename ${pillar%.sls})
+        echo -e "  ${state_name}:\n    - ${FORMULA_NAME}" >> ${SALT_FILE_DIR}/top.sls
+    done
+
+    cat << EOF > ${SALT_CONFIG_DIR}/minion
+file_client: local
+cachedir: ${SALT_CACHE_DIR}
+verify_env: False
+
+file_roots:
+  base:
+  - ${SALT_FILE_DIR}
+  - ${CURDIR}/..
+
+pillar_roots:
+  base:
+  - ${SALT_PILLAR_DIR}
+  - ${PILLARDIR}
+EOF
+}
+
+fetch_dependency() {
+    dep_root="${DEPSDIR}/$(basename $1 .git)"
+    dep_metadata="${dep_root}/metadata.yml"
+
+    [ -d $dep_root ] && log_info "Dependency $1 already fetched" && return 0
+
+    log_info "Fetching dependency $1"
+    [ ! -d ${DEPSDIR} ] && mkdir -p ${DEPSDIR}
+    git clone $1 ${DEPSDIR}/$(basename $1 .git)
+
+    dep_name=$(cat $dep_metadata | python -c "import sys,yaml; print yaml.load(sys.stdin)['name']")
+    ln -s ${dep_root}/${dep_name} ${SALT_FILE_DIR}/${dep_name}
+
+    METADATA="${dep_metadata}" install_dependencies
+}
+
+install_dependencies() {
+    grep -E "^dependencies:" ${METADATA} >/dev/null || return 0
+    (python - | while read dep; do fetch_dependency "$dep"; done) << EOF
+import sys,yaml
+for dep in yaml.load(open('${METADATA}', 'ro'))['dependencies']:
+    print dep["source"]
+EOF
+}
+
+clean() {
+    log_info "Cleaning up ${BUILDDIR}"
+    [ -d ${BUILDDIR} ] && rm -rf ${BUILDDIR} || exit 0
+}
+
+salt_run() {
+    source ${VENV_DIR}/bin/activate
+    salt-call ${SALT_OPTS} $*
+}
+
+prepare() {
+    [ -d ${BUILDDIR} ] && mkdir -p ${BUILDDIR}
+
+    setup_virtualenv
+    setup_pillar
+    setup_salt
+    install_dependencies
+}
+
+run() {
+    for pillar in ${PILLARDIR}/*.sls; do
+        state_name=$(basename ${pillar%.sls})
+        salt_run --id=${state_name} state.show_sls ${FORMULA_NAME} || (log_err "Execution of ${FORMULA_NAME}.${state_name} failed"; exit 1)
+    done
+}
+
+_atexit() {
+    RETVAL=$?
+    trap true INT TERM EXIT
+
+    if [ $RETVAL -ne 0 ]; then
+        log_err "Execution failed"
+    else
+        log_info "Execution successful"
+    fi
+    return $RETVAL
+}
+
+## Main
+trap _atexit INT TERM EXIT
+
+case $1 in
+    clean)
+        clean
+        ;;
+    prepare)
+        prepare
+        ;;
+    run)
+        run
+        ;;
+    *)
+        prepare
+        run
+        ;;
+esac
