# Scenario step implementations for remote Ick ## Authentication setup IMPLEMENTS GIVEN an RSA key pair for token signing vars['private_key_file'] = os.environ['ICK_PRIVATE_KEY'] assertTrue(os.path.exists(vars['private_key_file'])) IMPLEMENTS GIVEN an access token for scopes (.+) scopes = get_next_match() key = open(vars['private_key_file']).read() argv = [ os.path.join(srcdir, 'create-token'), scopes, ] token = cliapp.runcmd(argv, feed_stdin=key) write('token.jwt', token) vars['issuer'] = 'localhost' vars['audience'] = 'localhost' ## Controller configuration IMPLEMENTS GIVEN controller config uses (\S+) at the state directory vars['statedir'] = get_next_match() ## Start and stop the controller IMPLEMENTS GIVEN a running ick controller vars['url'] = os.environ['ICK_URL'] IMPLEMENTS WHEN user stops ick controller pass IMPLEMENTS FINALLY stop ick controller pass ## Controller state inspection IMPLEMENTS THEN controller state directory contains project (\S+) pass