Tests: fixed tests to run as root.

- The mode of testdir was changed to allow reading from other users/groups.
- The java multipart test now uploads the file into an app writable dir.
- The build directory was made readable for other users.
- The python environment test now uses the HOME env var instead of PWD
  because the latter is not set by the root shell (/bin/sh) by default.
- The node `node_modules` directory now is copied into the `testdir` instead
  of using symlinks.
This commit is contained in:
Tiago Natel
2019-11-09 20:14:52 +00:00
parent 94a9162baa
commit 19b974674c
5 changed files with 72 additions and 25 deletions

View File

@@ -1,3 +1,4 @@
import os
import time
import unittest
from unit.applications.lang.java import TestApplicationJava
@@ -1217,7 +1218,13 @@ class TestJavaApplication(TestApplicationJava):
def test_java_application_multipart(self):
self.load('multipart')
body = """Preamble. Should be ignored.\r
reldst = '/uploads'
fulldst = self.testdir + reldst
os.mkdir(fulldst)
self.public_dir(fulldst)
body = (
"""Preamble. Should be ignored.\r
\r
--12345\r
Content-Disposition: form-data; name="file"; filename="sample.txt"\r
@@ -1234,7 +1241,9 @@ Content-Disposition: form-data; name="upload"\r
Upload\r
--12345--\r
\r
Epilogue. Should be ignored.""" % self.testdir
Epilogue. Should be ignored."""
% fulldst
)
resp = self.post(
headers={
@@ -1246,9 +1255,13 @@ Epilogue. Should be ignored.""" % self.testdir
)
self.assertEqual(resp['status'], 200, 'multipart status')
self.assertRegex(resp['body'], r'sample\.txt created', 'multipart body')
self.assertRegex(
resp['body'], r'sample\.txt created', 'multipart body'
)
self.assertIsNotNone(
self.search_in_log(r'^Data from sample file$', name='sample.txt'),
self.search_in_log(
r'^Data from sample file$', name=reldst + '/sample.txt'
),
'file created',
)