def test_parse_name_value(self): self.assertEqual( ('foo', 'bar'), util.parse_name_value('foo=bar') ) with self.assertRaises(ValidationError): util.parse_name_value('abc')
def run(self, values): if values.signing_key_option: log.warn("The --signing-key option is deprecated and will be removed " "in a future release.") signing_key = values.signing_key or values.signing_key_option if not signing_key: raise ValidationError("Signing key path was not specified") crypto = util.read_private_key(signing_key) exp = None if values.exp: exp = parse_timestamp(values.exp) nbf = None if values.nbf: nbf = parse_timestamp(values.nbf) customer = None if values.customer: customer = str(values.customer) claims = {} if values.claims: for name_value in values.claims: name, value = util.parse_name_value(name_value) validate_name_value(name, value) if name in claims: raise ValidationError("Claim %s specified multiple times" % name) claims[name] = value jwt_string = make_jwt(crypto, exp=exp, nbf=nbf, customer=customer, claims=claims) log.debug(jwt_string) log.debug("Header: %s", json.dumps(get_header(jwt_string))) log.debug("Payload: %s", json.dumps(get_payload(jwt_string))) print(jwt_string) return 0
def run(self, values): crypto = util.read_private_key(values.signing_key) exp = None if values.exp: exp = parse_timestamp(values.exp) nbf = None if values.nbf: nbf = parse_timestamp(values.nbf) customer = None if values.customer: customer = str(values.customer) claims = {} if values.claims: for name_value in values.claims: name, value = util.parse_name_value(name_value) claims[name] = value jwt_string = make_jwt( crypto, exp=exp, nbf=nbf, customer=customer, claims=claims ) log.debug(jwt_string) log.debug('Header: %s', json.dumps(get_header(jwt_string))) log.debug('Payload: %s', json.dumps(get_payload(jwt_string))) print(jwt_string) return 0
def run(self, values): crypto = util.read_private_key(values.signing_key) exp = None if values.exp: exp = parse_timestamp(values.exp) nbf = None if values.nbf: nbf = parse_timestamp(values.nbf) customer = None if values.customer: customer = str(values.customer) claims = {} if values.claims: for name_value in values.claims: name, value = util.parse_name_value(name_value) claims[name] = value jwt_string = make_jwt(crypto, exp=exp, nbf=nbf, customer=customer, claims=claims) log.debug(jwt_string) log.debug('Header: %s', json.dumps(get_header(jwt_string))) log.debug('Payload: %s', json.dumps(get_payload(jwt_string))) print(jwt_string) return 0
def parse_tags(tag_strings): """ Parse the tags specified on the command line. :param: tag_strings a list of strings in KEY=VALUE format :return: the tags as a dictionary :raise: ValidationError if any of the tags are invalid """ if not tag_strings: return {} tags = {} for s in tag_strings: key, value = util.parse_name_value(s) tags[key] = value return tags