summaryrefslogtreecommitdiffhomepage
path: root/test/test_java_application.py
diff options
context:
space:
mode:
authorAndrei Belov <defan@nginx.com>2020-11-19 21:19:57 +0300
committerAndrei Belov <defan@nginx.com>2020-11-19 21:19:57 +0300
commit7f9079a3cd4cdb6ac3fea53f10bd34fe8b82fe9c (patch)
treec79dc48a3260156f3f824ecd299e5a4934d749c5 /test/test_java_application.py
parent646d047e5d12515ceac02279b373601ce0752982 (diff)
parent806a9b2515c60b12a68cd97af04f7fa5cb4dffed (diff)
downloadunit-7f9079a3cd4cdb6ac3fea53f10bd34fe8b82fe9c.tar.gz
unit-7f9079a3cd4cdb6ac3fea53f10bd34fe8b82fe9c.tar.bz2
Merged with the default branch.1.21.0-1
Diffstat (limited to '')
-rw-r--r--test/test_java_application.py55
1 files changed, 48 insertions, 7 deletions
diff --git a/test/test_java_application.py b/test/test_java_application.py
index afcdf651..41345e87 100644
--- a/test/test_java_application.py
+++ b/test/test_java_application.py
@@ -11,7 +11,7 @@ from unit.applications.lang.java import TestApplicationJava
class TestJavaApplication(TestApplicationJava):
prerequisites = {'modules': {'java': 'all'}}
- def test_java_conf_error(self):
+ def test_java_conf_error(self, temp_dir):
skip_alert(
r'realpath.*failed',
r'failed to apply new conf',
@@ -25,18 +25,18 @@ class TestJavaApplication(TestApplicationJava):
"type": "java",
"processes": 1,
"working_directory": option.test_dir + "/java/empty",
- "webapp": self.temp_dir + "/java",
- "unit_jars": self.temp_dir + "/no_such_dir",
+ "webapp": temp_dir + "/java",
+ "unit_jars": temp_dir + "/no_such_dir",
}
},
}
), 'conf error'
- def test_java_war(self):
+ def test_java_war(self, temp_dir):
self.load('empty_war')
assert 'success' in self.conf(
- '"' + self.temp_dir + '/java/empty.war"',
+ '"' + temp_dir + '/java/empty.war"',
'/config/applications/empty_war/webapp',
), 'configure war'
@@ -969,11 +969,11 @@ class TestJavaApplication(TestApplicationJava):
), 'set date header'
assert headers['X-Get-Date'] == date, 'get date header'
- def test_java_application_multipart(self):
+ def test_java_application_multipart(self, temp_dir):
self.load('multipart')
reldst = '/uploads'
- fulldst = self.temp_dir + reldst
+ fulldst = temp_dir + reldst
os.mkdir(fulldst)
public_dir(fulldst)
@@ -1012,3 +1012,44 @@ class TestJavaApplication(TestApplicationJava):
)
is not None
), 'file created'
+
+ def test_java_application_threads(self):
+ self.load('threads')
+
+ assert 'success' in self.conf(
+ '4', 'applications/threads/threads'
+ ), 'configure 4 threads'
+
+ socks = []
+
+ for i in range(4):
+ (_, sock) = self.get(
+ headers={
+ 'Host': 'localhost',
+ 'X-Delay': '2',
+ 'Connection': 'close',
+ },
+ no_recv=True,
+ start=True,
+ )
+
+ socks.append(sock)
+
+ time.sleep(0.25) # required to avoid greedy request reading
+
+ threads = set()
+
+ for sock in socks:
+ resp = self.recvall(sock).decode('utf-8')
+
+ self.log_in(resp)
+
+ resp = self._resp_to_dict(resp)
+
+ assert resp['status'] == 200, 'status'
+
+ threads.add(resp['headers']['X-Thread'])
+
+ sock.close()
+
+ assert len(socks) == len(threads), 'threads differs'