diff options
Diffstat (limited to '')
-rw-r--r-- | test/test_java_application.py | 55 |
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' |