diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-12-03 18:51:13 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-12-03 20:11:03 +0200 |
commit | 107ffc0a60de703d84957cf6d8948ed7d61d7362 (patch) | |
tree | 624cddece68a78d3f66c3ec02c002e34e7057e3a /yarns/900-local.yarn | |
parent | dd250d5a64d81ed247ce8e19fc300feaaa1e44c9 (diff) | |
download | ick2-107ffc0a60de703d84957cf6d8948ed7d61d7362.tar.gz |
Add: scenario for testing blob service
Diffstat (limited to 'yarns/900-local.yarn')
-rw-r--r-- | yarns/900-local.yarn | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/yarns/900-local.yarn b/yarns/900-local.yarn index 409a8e6..89652de 100644 --- a/yarns/900-local.yarn +++ b/yarns/900-local.yarn @@ -100,3 +100,45 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. name = get_next_match() filename = os.path.join(vars['statedir'], 'workers', name + '.yaml') assertTrue(os.path.exists(filename)) + +## Start and stop blob service + + IMPLEMENTS GIVEN blob service config uses (\S+) at the blob directory + vars['blobdir'] = get_next_match() + + IMPLEMENTS GIVEN a running blob service + import os, time, cliapp, yaml + vars['blob_service.log'] = 'blob_service.log' + vars['gunicorn3_bs.log'] = 'gunicorn3_bs.log' + vars['bsport'] = random_free_port() + vars['bsurl'] = 'http://127.0.0.1:{}'.format(vars['bsport']) + config = { + 'token-issuer': vars['issuer'], + 'token-audience': vars['audience'], + 'token-public-key': cat('token.key.pub'), + 'log': [ + { + 'filename': vars['blob_service.log'], + }, + ], + 'blobdir': vars['blobdir'], + } + env = dict(os.environ) + env['BLOB_SERVICE_CONFIG'] = 'blob_service.yaml' + yaml.safe_dump(config, open('blob_service.yaml', 'w')) + argv = [ + 'gunicorn3', + '--daemon', + '--bind', '127.0.0.1:{}'.format(vars['bsport']), + '--log-file', vars['gunicorn3_bs.log'], + '--log-level', 'debug', + '-p', 'bspid', + 'blob_service:app', + ] + cliapp.runcmd(argv, env=env) + vars['bspid'] = int(cat('bspid')) + wait_for_port(vars['bsport']) + + IMPLEMENTS FINALLY stop blob service + import os, signal + os.kill(vars['bspid'], signal.SIGTERM) |