diff --git a/.kitchen.yml b/.kitchen.yml
new file mode 100644
index 0000000..751388c
--- /dev/null
+++ b/.kitchen.yml
@@ -0,0 +1,43 @@
+---
+driver:
+  name: docker
+  hostname: tinyproxy.ci.local
+  use_sudo: false
+
+provisioner:
+  name: salt_solo
+  salt_install: bootstrap
+  salt_bootstrap_url: https://bootstrap.saltstack.com
+  salt_version: latest
+  require_chef: false
+  log_level: error
+  formula: tinyproxy
+  grains:
+    noservices: True
+  state_top:
+    base:
+      "*":
+        - tinyproxy
+  pillars:
+    top.sls:
+      base:
+        "*":
+          - tinyproxy
+
+verifier:
+  name: inspec
+  sudo: true
+
+
+platforms:
+  - name: <%=ENV['PLATFORM'] || 'ubuntu-xenial'%>
+    driver_config:
+      image: <%=ENV['PLATFORM'] || 'trevorj/salty-whales:xenial'%>
+      platform: ubuntu
+
+suites:
+  - name: default
+    provisioner:
+      pillars-from-files:
+        tinyproxy.sls: tests/pillar/default.sls
+# vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..15fd7bc
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,42 @@
+sudo: required
+services:
+  - docker
+
+install:
+  - git fetch --unshallow --tags
+  - pip install PyYAML
+  - pip install virtualenv
+  - pip install reno
+  - |
+    test -e Gemfile || cat <<EOF > Gemfile
+    source 'https://rubygems.org'
+    gem 'rake'
+    gem 'test-kitchen'
+    gem 'kitchen-docker'
+    gem 'kitchen-inspec'
+    gem 'inspec'
+    gem 'kitchen-salt', :git => 'https://github.com/salt-formulas/kitchen-salt.git'
+  - bundle install
+
+env:
+    - PLATFORM=trevorj/salty-whales:trusty
+    - PLATFORM=trevorj/salty-whales:xenial
+
+before_script:
+  - set -o pipefail
+  - make test | tail
+  - reno lint $PWD | tail
+
+script:
+  - test ! -e .kitchen.yml || bundle exec kitchen test -t tests/integration
+
+notifications:
+  webhooks:
+    urls:
+      - https://webhooks.gitter.im/e/6123573504759330786b
+    on_success: change  # options: [always|never|change] default: always
+    on_failure: never  # options: [always|never|change] default: always
+    on_start: never     # options: [always|never|change] default: always
+    on_cancel: never    # options: [always|never|change] default: always
+    on_error: never    # options: [always|never|change] default: always
+  email: false
diff --git a/tests/integration/default.sls b/tests/integration/default.sls
new file mode 100644
index 0000000..27670cf
--- /dev/null
+++ b/tests/integration/default.sls
@@ -0,0 +1,3 @@
+tinyproxy:
+  server:
+    enabled: true
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
new file mode 100755
index 0000000..a4cac88
--- /dev/null
+++ b/tests/run_tests.sh
@@ -0,0 +1,166 @@
+#!/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} --log-file=/dev/null"
+
+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
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
+        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
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
+        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
+minion_id_caching: False
+
+file_roots:
+  base:
+  - ${SALT_FILE_DIR}
+  - ${CURDIR}/..
+  - /usr/share/salt-formulas/env
+
+pillar_roots:
+  base:
+  - ${SALT_PILLAR_DIR}
+  - ${PILLARDIR}
+EOF
+}
+
+fetch_dependency() {
+    dep_name="$(echo $1|cut -d : -f 1)"
+    dep_source="$(echo $1|cut -d : -f 2-)"
+    dep_root="${DEPSDIR}/$(basename $dep_source .git)"
+    dep_metadata="${dep_root}/metadata.yml"
+
+    [ -d /usr/share/salt-formulas/env/${dep_name} ] && log_info "Dependency $dep_name already present in system-wide salt env" && return 0
+    [ -d $dep_root ] && log_info "Dependency $dep_name already fetched" && return 0
+
+    log_info "Fetching dependency $dep_name"
+    [ ! -d ${DEPSDIR} ] && mkdir -p ${DEPSDIR}
+    git clone $dep_source ${DEPSDIR}/$(basename $dep_source .git)
+    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 '%s:%s' % (dep["name"], dep["source"])
+EOF
+}
+
+clean() {
+    log_info "Cleaning up ${BUILDDIR}"
+    [ -d ${BUILDDIR} ] && rm -rf ${BUILDDIR} || exit 0
+}
+
+salt_run() {
+    [ -e ${VEN_DIR}/bin/activate ] && source ${VENV_DIR}/bin/activate
+    salt-call ${SALT_OPTS} $*
+}
+
+prepare() {
+    [ -d ${BUILDDIR} ] && mkdir -p ${BUILDDIR}
+
+    which salt-call || setup_virtualenv
+    setup_pillar
+    setup_salt
+    install_dependencies
+}
+
+run() {
+    for pillar in ${PILLARDIR}/*.sls; do
+        grep ${FORMULA_NAME}: ${pillar} &>/dev/null || continue
+        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
diff --git a/tinyproxy/files/tinyproxy.conf b/tinyproxy/files/tinyproxy.conf
index 45d41a3..5fc48f8 100644
--- a/tinyproxy/files/tinyproxy.conf
+++ b/tinyproxy/files/tinyproxy.conf
@@ -1,36 +1,36 @@
-{%- from "tinyproxy/map.jinja" import service with context -%}
-User {{ service.user }}
-Group {{ service.group }}
-Listen {{ service.bind.address }}
-Port {{ service.bind.port }}
-Timeout {{ service.get('timeout', '900') }}
-LogLevel {{ service.log.level|capitalize }}
-{%- if service.log.get('syslog') %}
+{%- from "tinyproxy/map.jinja" import server with context -%}
+User {{ server.user }}
+Group {{ server.group }}
+Listen {{ server.bind.address }}
+Port {{ server.bind.port }}
+Timeout {{ server.get('timeout', '900') }}
+LogLevel {{ server.log.level|capitalize }}
+{%- if server.log.get('syslog') %}
 Syslog on
 {%- else %}
-Logfile "{{ service.log.file }}"
+Logfile "{{ server.log.file }}"
 {%- endif %}
 PidFile "/var/run/tinyproxy/tinyproxy.pid"
 XTinyproxy Yes
-{%- if service.upstream is defined %}
-Upstream {{ service.upstream }}
+{%- if server.upstream is defined %}
+Upstream {{ server.upstream }}
 {%- endif %}
-MaxClients {{ service.get('max_clients', '550') }}
-MinSpareServers {{ service.get('minspareservers', '15') }}
-MaxSpareServers {{ service.get('maxspareservers', '20') }}
-StartServers {{ service.get('startservers', '15') }}
-MaxRequestsPerChild {{ service.get('maxrequestsperchild', '0') }}
-{%- for net in service.get('allow', []) %}
+MaxClients {{ server.get('max_clients', '550') }}
+MinSpareServers {{ server.get('minspareservers', '15') }}
+MaxSpareServers {{ server.get('maxspareservers', '20') }}
+StartServers {{ server.get('startservers', '15') }}
+MaxRequestsPerChild {{ server.get('maxrequestsperchild', '0') }}
+{%- for net in server.get('allow', []) %}
 Allow {{ net }}
 {%- endfor %}
-{%- for net in service.get('deny', []) %}
+{%- for net in server.get('deny', []) %}
 Deny {{ net }}
 {%- endfor %}
 DisableViaHeader Yes
-{%- for anonymous in service.get('anonymous', ['Host', 'Authorization', 'Cookie']) %}
+{%- for anonymous in server.get('anonymous', ['Host', 'Authorization', 'Cookie']) %}
 Anonymous "{{ anonymous }}"
 {%- endfor %}
-{%- for port in service.get('connect_ports', []) %}
+{%- for port in server.get('connect_ports', []) %}
 ConnectPort {{ port }}
 {%- endfor %}
 {#-
diff --git a/tinyproxy/map.jinja b/tinyproxy/map.jinja
index c1c4da4..f5ae518 100644
--- a/tinyproxy/map.jinja
+++ b/tinyproxy/map.jinja
@@ -1,19 +1,15 @@
-{% set server = salt['grains.filter_by'](
-  {
-    'default': {
-      'pkgs': ["tinyproxy"],
-      'service': 'tinyproxy',
-      'user': 'nobody',
-      'group': 'nogroup',
-      'log': {
-        'level': 'info',
-        'file': '/var/log/tinyproxy/tinyproxy.log',
-      },
-      'bind': {
-        'address': 0.0.0.0,
-        'port': 8888,
-      },
-    },
-  },
-  merge = salt['pillar.get']('tinyproxy')
-) %}
+{% load_yaml as server %}
+default:
+  pkgs:
+  - tinyproxy
+  service: tinyproxy
+  user: nobody
+  group: nogroup
+  log:
+    level: info
+    file: /var/log/tinyproxy/tinyproxy.log
+  bind:
+    address: 0.0.0.0
+    port: 8888
+{% endload %}
+{% set server = salt['grains.filter_by'](server, merge=salt['pillar.get']("tinyproxy:server", {}), base='default') %}
