36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import base64
|
|
import json
|
|
|
|
from setup import get_config_from_file, persist_origin_cert
|
|
from util import start_cloudflared
|
|
|
|
|
|
class TestToken:
|
|
def test_get_token(self, tmp_path, component_tests_config):
|
|
config = component_tests_config()
|
|
tunnel_id = config.get_tunnel_id()
|
|
|
|
token_args = ["--origincert", cert_path(), "token", tunnel_id]
|
|
output = start_cloudflared(tmp_path, config, token_args)
|
|
|
|
assert parse_token(config.get_token()) == parse_token(output.stdout)
|
|
|
|
def test_get_credentials_file(self, tmp_path, component_tests_config):
|
|
config = component_tests_config()
|
|
tunnel_id = config.get_tunnel_id()
|
|
|
|
cred_file = tmp_path / "test_get_credentials_file.json"
|
|
token_args = ["--origincert", cert_path(), "token", "--cred-file", cred_file, tunnel_id]
|
|
start_cloudflared(tmp_path, config, token_args)
|
|
|
|
with open(cred_file) as json_file:
|
|
assert config.get_credentials_json() == json.load(json_file)
|
|
|
|
|
|
def cert_path():
|
|
return get_config_from_file()["origincert"]
|
|
|
|
|
|
def parse_token(token):
|
|
return json.loads(base64.b64decode(token))
|