diff --git a/MANIFEST b/MANIFEST
index b3d825c4..0f09a20c 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -45,6 +45,7 @@ testcases/clientreadertestcase.py
 testcases/filtertestcase.py
 testcases/__init__.py
 testcases/datedetectortestcase.py
+testcases/actiontestcase.py
 testcases/servertestcase.py
 testcases/files/testcase01.log
 testcases/files/testcase02.log
diff --git a/fail2ban-testcases b/fail2ban-testcases
index b4825473..b2eaa47c 100755
--- a/fail2ban-testcases
+++ b/fail2ban-testcases
@@ -39,6 +39,7 @@ from testcases import failmanagertestcase
 from testcases import filtertestcase
 from testcases import servertestcase
 from testcases import datedetectortestcase
+from testcases import actiontestcase
 from server.mytime import MyTime
 
 # Set the time to a fixed, known value
@@ -63,6 +64,7 @@ tests.addTest(unittest.makeSuite(filtertestcase.GetFailures))
 # Server
 #tests.addTest(unittest.makeSuite(servertestcase.StartStop))
 #tests.addTest(unittest.makeSuite(servertestcase.Transmitter))
+tests.addTest(unittest.makeSuite(actiontestcase.ExecuteAction))
 # FailManager
 tests.addTest(unittest.makeSuite(failmanagertestcase.AddFailure))
 # BanManager
diff --git a/testcases/actiontestcase.py b/testcases/actiontestcase.py
new file mode 100644
index 00000000..8a66320e
--- /dev/null
+++ b/testcases/actiontestcase.py
@@ -0,0 +1,47 @@
+# This file is part of Fail2Ban.
+#
+# Fail2Ban is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Fail2Ban is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Fail2Ban; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+# Author: Cyril Jaquier
+# 
+# $Revision: 382 $
+
+__author__ = "Cyril Jaquier"
+__version__ = "$Revision: 382 $"
+__date__ = "$Date: 2006-09-25 19:03:48 +0200 (Mon, 25 Sep 2006) $"
+__copyright__ = "Copyright (c) 2004 Cyril Jaquier"
+__license__ = "GPL"
+
+import unittest, time
+from server.action import Action
+
+class ExecuteAction(unittest.TestCase):
+
+	def setUp(self):
+		"""Call before every test case."""
+		self.__action = Action("Test")
+
+	def tearDown(self):
+		"""Call after every test case."""
+		self.__action.execActionStop()
+	
+	def testExecuteActionBan(self):
+		self.__action.setActionStart("touch /tmp/fail2ban.test")
+		self.__action.setActionStop("rm -f /tmp/fail2ban.test")
+		self.__action.setActionBan("echo -n")
+		self.__action.setActionCheck("[ -e /tmp/fail2ban.test ]")
+		
+		self.assertTrue(self.__action.execActionBan(None))
+		
\ No newline at end of file