# Scenario step implementations for remote Ick ## Authentication setup IMPLEMENTS GIVEN an RSA key pair for token signing V['private_key_file'] = os.environ['ICK_PRIVATE_KEY'] assertTrue(os.path.exists(V['private_key_file'])) IMPLEMENTS GIVEN an access token for (\S+) with scopes (.+) user = get_next_match() scopes = get_next_match() key = open(V['private_key_file']).read() argv = [ os.path.join(srcdir, 'create-token'), scopes, ] token = cliapp.runcmd(argv, feed_stdin=key) store_token(user, token) V['issuer'] = 'localhost' V['audience'] = 'localhost' ## Controller configuration IMPLEMENTS GIVEN controller config uses (\S+) at the state directory V['statedir'] = get_next_match() ## Start and stop the controller IMPLEMENTS GIVEN a running ick controller V['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 IMPLEMENTS THEN controller state directory contains worker (\S+) pass