|
3 | 3 |
|
4 | 4 | # Copyright (c) 2018 Future Internet Consulting and Development Solutions S.L. |
5 | 5 |
|
| 6 | +import grp |
| 7 | +import pwd |
6 | 8 | import os |
7 | 9 | import shutil |
8 | 10 | import time |
@@ -212,5 +214,41 @@ def test_login_should_redirect_to_idm(self): |
212 | 214 | self.assertEqual(parameters['redirect_uri'], ['http://localhost/complete/fiware/']) |
213 | 215 |
|
214 | 216 |
|
| 217 | +class CustomUserTests(unittest.TestCase, WireCloudTests): |
| 218 | + |
| 219 | + @classmethod |
| 220 | + def setUpClass(cls): |
| 221 | + print("\n################################################################################\n") |
| 222 | + print("#") |
| 223 | + print("# Initializing custom user test case") |
| 224 | + print("#\n") |
| 225 | + |
| 226 | + sh.adduser("mycustomuser", system=True, group=True, shell="/bin/bash") |
| 227 | + uid = pwd.getpwnam("mycustomuser").pw_uid |
| 228 | + gid = grp.getgrnam("mycustomuser").gr_gid |
| 229 | + os.mkdir('wirecloud-data', 0o700) |
| 230 | + os.chown('wirecloud-data', uid, gid) |
| 231 | + os.mkdir('wirecloud-static', 0o700) |
| 232 | + os.chown('wirecloud-static', uid, gid) |
| 233 | + |
| 234 | + env = {} |
| 235 | + env.update(os.environ) |
| 236 | + env["WIRECLOUD_USER"] = "{}".format(uid) |
| 237 | + sh.docker_compose("-f", "docker-compose-custom-user.yml", "up", d=True, remove_orphans=True, _env=env, _fg=True) |
| 238 | + wait_until_running() |
| 239 | + print() |
| 240 | + |
| 241 | + @classmethod |
| 242 | + def tearDownClass(cls): |
| 243 | + print() |
| 244 | + print("#") |
| 245 | + print("# Removing containers and volumes") |
| 246 | + print("#\n") |
| 247 | + sh.docker_compose.down(remove_orphans=True, v=True, _fg=True) |
| 248 | + shutil.rmtree('wirecloud-data') |
| 249 | + shutil.rmtree('wirecloud-static') |
| 250 | + print() |
| 251 | + |
| 252 | + |
215 | 253 | if __name__ == "__main__": |
216 | 254 | unittest.main(verbosity=2) |
0 commit comments