diff --git a/auth_delay.t b/auth_delay.t
new file mode 100644
index 0000000..0fd0b26
--- /dev/null
+++ b/auth_delay.t
@@ -0,0 +1,85 @@
+#!/usr/bin/perl
+
+# (C) Sergey Kandaurov
+# (C) Nginx, Inc.
+
+# Tests for auth_delay directive using auth basic module.
+
+###############################################################################
+
+use warnings;
+use strict;
+
+use Test::More;
+
+use MIME::Base64;
+
+BEGIN { use FindBin; chdir($FindBin::Bin); }
+
+use lib 'lib';
+use Test::Nginx;
+
+###############################################################################
+
+select STDERR; $| = 1;
+select STDOUT; $| = 1;
+
+my $t = Test::Nginx->new()->has(qw/http auth_basic/)
+	->write_file_expand('nginx.conf', <<'EOF');
+
+%%TEST_GLOBALS%%
+
+daemon off;
+
+events {
+}
+
+http {
+    %%TEST_GLOBALS_HTTP%%
+
+    server {
+        listen       127.0.0.1:8080;
+        server_name  localhost;
+
+        location / {
+            auth_delay           2s;
+
+            auth_basic           "closed site";
+            auth_basic_user_file %%TESTDIR%%/htpasswd;
+        }
+    }
+}
+
+EOF
+
+$t->write_file('index.html', '');
+$t->write_file('htpasswd', 'user:' . crypt('good', 'salt') . "\n");
+
+$t->try_run('no auth_delay')->plan(4);
+
+###############################################################################
+
+my $t1 = time();
+like(http_get_auth('/', 'user', 'bad'), qr/401 Unauthorize/, 'not authorized');
+cmp_ok(time() - $t1, '>=', 2, 'auth delay');
+
+$t1 = time();
+like(http_get_auth('/', 'user', 'good'), qr/200 OK/, 'authorized');
+cmp_ok(time() - $t1, '<', 2, 'no delay');
+
+###############################################################################
+
+sub http_get_auth {
+	my ($url, $user, $password) = @_;
+
+	my $auth = encode_base64($user . ':' . $password, '');
+
+	return http(<<EOF);
+GET $url HTTP/1.0
+Host: localhost
+Authorization: Basic $auth
+
+EOF
+}
+
+###############################################################################
