def setUp(self): from acme.jose.jws import Header self.header1 = Header(jwk="foo") self.header2 = Header(jwk="bar") self.crit = Header(crit=("a", "b")) self.empty = Header()
def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_b64 = base64.b64encode(CERT.as_der()) self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj['x5c'][0] = base64.b64encode('xxx' + CERT.as_der()) self.assertRaises(errors.DeserializationError, Header.from_json, jobj)
def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_asn1 = OpenSSL.crypto.dump_certificate( OpenSSL.crypto.FILETYPE_ASN1, CERT.wrapped) cert_b64 = base64.b64encode(cert_asn1) self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj['x5c'][0] = base64.b64encode(b'xxx' + cert_asn1) self.assertRaises(errors.DeserializationError, Header.from_json, jobj)
def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_asn1 = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, CERT.wrapped) cert_b64 = base64.b64encode(cert_asn1) self.assertEqual(jobj, {"x5c": [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj["x5c"][0] = base64.b64encode(b"xxx" + cert_asn1) self.assertRaises(errors.DeserializationError, Header.from_json, jobj)
class HeaderTest(unittest.TestCase): """Tests for acme.jose.jws.Header.""" def setUp(self): from acme.jose.jws import Header self.header1 = Header(jwk='foo') self.header2 = Header(jwk='bar') self.crit = Header(crit=('a', 'b')) self.empty = Header() def test_add_non_empty(self): from acme.jose.jws import Header self.assertEqual(Header(jwk='foo', crit=('a', 'b')), self.header1 + self.crit) def test_add_empty(self): self.assertEqual(self.header1, self.header1 + self.empty) self.assertEqual(self.header1, self.empty + self.header1) def test_add_overlapping_error(self): self.assertRaises(TypeError, self.header1.__add__, self.header2) def test_add_wrong_type_error(self): self.assertRaises(TypeError, self.header1.__add__, 'xxx') def test_crit_decode_always_errors(self): from acme.jose.jws import Header self.assertRaises(errors.DeserializationError, Header.from_json, {'crit': ['a', 'b']}) def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_b64 = base64.b64encode( OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, CERT)) self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj['x5c'][0] = base64.b64encode( b'xxx' + OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, CERT) ) self.assertRaises(errors.DeserializationError, Header.from_json, jobj) def test_find_key(self): self.assertEqual('foo', self.header1.find_key()) self.assertEqual('bar', self.header2.find_key()) self.assertRaises(errors.Error, self.crit.find_key)
class HeaderTest(unittest.TestCase): """Tests for acme.jose.jws.Header.""" def setUp(self): from acme.jose.jws import Header self.header1 = Header(jwk="foo") self.header2 = Header(jwk="bar") self.crit = Header(crit=("a", "b")) self.empty = Header() def test_add_non_empty(self): from acme.jose.jws import Header self.assertEqual(Header(jwk="foo", crit=("a", "b")), self.header1 + self.crit) def test_add_empty(self): self.assertEqual(self.header1, self.header1 + self.empty) self.assertEqual(self.header1, self.empty + self.header1) def test_add_overlapping_error(self): self.assertRaises(TypeError, self.header1.__add__, self.header2) def test_add_wrong_type_error(self): self.assertRaises(TypeError, self.header1.__add__, "xxx") def test_crit_decode_always_errors(self): from acme.jose.jws import Header self.assertRaises(errors.DeserializationError, Header.from_json, {"crit": ["a", "b"]}) def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_asn1 = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_ASN1, CERT.wrapped) cert_b64 = base64.b64encode(cert_asn1) self.assertEqual(jobj, {"x5c": [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj["x5c"][0] = base64.b64encode(b"xxx" + cert_asn1) self.assertRaises(errors.DeserializationError, Header.from_json, jobj) def test_find_key(self): self.assertEqual("foo", self.header1.find_key()) self.assertEqual("bar", self.header2.find_key()) self.assertRaises(errors.Error, self.crit.find_key)
class HeaderTest(unittest.TestCase): """Tests for acme.jose.jws.Header.""" def setUp(self): from acme.jose.jws import Header self.header1 = Header(jwk='foo') self.header2 = Header(jwk='bar') self.crit = Header(crit=('a', 'b')) self.empty = Header() def test_add_non_empty(self): from acme.jose.jws import Header self.assertEqual(Header(jwk='foo', crit=('a', 'b')), self.header1 + self.crit) def test_add_empty(self): self.assertEqual(self.header1, self.header1 + self.empty) self.assertEqual(self.header1, self.empty + self.header1) def test_add_overlapping_error(self): self.assertRaises(TypeError, self.header1.__add__, self.header2) def test_add_wrong_type_error(self): self.assertRaises(TypeError, self.header1.__add__, 'xxx') def test_crit_decode_always_errors(self): from acme.jose.jws import Header self.assertRaises(errors.DeserializationError, Header.from_json, {'crit': ['a', 'b']}) def test_x5c_decoding(self): from acme.jose.jws import Header header = Header(x5c=(CERT, CERT)) jobj = header.to_partial_json() cert_b64 = base64.b64encode(OpenSSL.crypto.dump_certificate( OpenSSL.crypto.FILETYPE_ASN1, CERT)) self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]}) self.assertEqual(header, Header.from_json(jobj)) jobj['x5c'][0] = base64.b64encode( 'xxx' + OpenSSL.crypto.dump_certificate( OpenSSL.crypto.FILETYPE_ASN1, CERT)) self.assertRaises(errors.DeserializationError, Header.from_json, jobj) def test_find_key(self): self.assertEqual('foo', self.header1.find_key()) self.assertEqual('bar', self.header2.find_key()) self.assertRaises(errors.Error, self.crit.find_key)
def test_from_json(self): from acme.jose.jws import Header from acme.jose.jws import Signature self.assertEqual( Signature(signature=b'foo', header=Header(alg=jwa.RS256)), Signature.from_json({ 'signature': 'Zm9v', 'header': { 'alg': 'RS256' } }))
def test_add_non_empty(self): from acme.jose.jws import Header self.assertEqual(Header(jwk='foo', crit=('a', 'b')), self.header1 + self.crit)
def setUp(self): from acme.jose.jws import Header self.header1 = Header(jwk='foo') self.header2 = Header(jwk='bar') self.crit = Header(crit=('a', 'b')) self.empty = Header()