diff --git a/_states/keystone_policy.py b/_states/keystone_policy.py
index e7a4a6a..ceede27 100644
--- a/_states/keystone_policy.py
+++ b/_states/keystone_policy.py
@@ -32,7 +32,7 @@
 def rule_present(name, rule, path, **kwargs):
     '''
     Ensures that the policy rule exists
-    
+
     :param name: Rule name
     :param rule: Rule
     :param path: Path to policy file
@@ -44,17 +44,25 @@
            'comment': 'Rule "{0}" already exists and is in correct state'.format(name)}
     rule_check = __salt__['keystone_policy.rule_get'](name, path, **kwargs)
     if not rule_check:
-        __salt__['keystone_policy.rule_set'](name, rule, path, **kwargs)
-        ret['comment'] = 'Rule {0} has been created'.format(name)
-        ret['changes']['Rule'] = 'Rule %s: "%s" has been created' % (name, rule)
+        if __opts__.get('test'):
+            ret['result'] = None
+            ret['comment'] = 'Rule {0} will be created'.format(name)
+        else:
+            __salt__['keystone_policy.rule_set'](name, rule, path, **kwargs)
+            ret['comment'] = 'Rule {0} has been created'.format(name)
+            ret['changes']['Rule'] = 'Rule %s: "%s" has been created' % (name, rule)
     elif 'Error' in rule_check:
         ret['comment'] = rule_check.get('Error')
         ret['result'] = False
     elif rule_check[name] != rule:
-        __salt__['keystone_policy.rule_set'](name, rule, path, **kwargs)
-        ret['comment'] = 'Rule %s has been changed' % (name,)
-        ret['changes']['Old Rule'] = '%s: "%s"' % (name, rule_check[name])
-        ret['changes']['New Rule'] = '%s: "%s"' % (name, rule)
+        if __opts__.get('test'):
+            ret['result'] = None
+            ret['comment'] = 'Rule %s will be changed' % (name,)
+        else:
+            __salt__['keystone_policy.rule_set'](name, rule, path, **kwargs)
+            ret['comment'] = 'Rule %s has been changed' % (name,)
+            ret['changes']['Old Rule'] = '%s: "%s"' % (name, rule_check[name])
+            ret['changes']['New Rule'] = '%s: "%s"' % (name, rule)
     return ret
 
 
@@ -71,9 +79,13 @@
            'comment': 'Rule "{0}" is already absent'.format(name)}
     rule_check = __salt__['keystone_policy.rule_get'](name, path, **kwargs)
     if rule_check:
-        __salt__['keystone_policy.rule_delete'](name, path, **kwargs)
-        ret['comment'] = 'Rule {0} has been deleted'.format(name)
-        ret['changes']['Rule'] = 'Rule %s: "%s" has been deleted' % (name, rule_check[name])
+        if __opts__.get('test'):
+            ret['result'] = None
+            ret['comment'] = 'Rule {0} will be deleted'.format(name)
+        else
+            __salt__['keystone_policy.rule_delete'](name, path, **kwargs)
+            ret['comment'] = 'Rule {0} has been deleted'.format(name)
+            ret['changes']['Rule'] = 'Rule %s: "%s" has been deleted' % (name, rule_check[name])
     elif 'Error' in rule_check:
         ret['comment'] = rule_check.get('Error')
         ret['result'] = False
