def test_load_private(self, _open, bio, rsa): path = '/tmp/key.pem' pem = '-----BEGIN RSA PRIVATE KEY-----' fp = Mock() fp.__enter__ = Mock(return_value=fp) fp.__exit__ = Mock() fp.read.return_value = pem _open.return_value = fp # test key = Key.load(path=path) # validation _open.assert_called_once_with(path) fp.__enter__.assert_called_once_with() fp.__exit__.assert_called_once_with(None, None, None) bio.MemoryBuffer.assert_called_once_with(pem) rsa.load_key_bio.assert_called_once_with(bio.MemoryBuffer.return_value) self.assertEqual(key, rsa.load_key_bio.return_value)
-----END RSA PRIVATE KEY----- """ PUB = """ -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoVb2r9uT4kd8E75o7Cja v+PWmH+I8z/iU0d6Ilj+n1A2TvjKOG0b3ZWnglQcWPcgrWs1JmraibKtekCj3Fq/ QiFMTZXUDKdjOVse08Tr8D9BVa6aj7xAawwm09PC3TTuXZTxzt4URT56I2bKr+M0 qK4Ojto2iJE1aJdyMON3E8EWXidrPtDDNu6v6tv5krgh/4ZZ35+KXY+M5x8ByTGV 1G0g+NtQsyDtYefspiIIapZeWcpjsZuWkxcjqZwiPDN5n41za6WM202FMFMGjOWL KuuLMZmAtrF3d6NZ685Pfqw7B4zSzPJopg24Nd2o0ih5/eG/qULkJQ+UDJchxEnj NQIDAQAB -----END PUBLIC KEY----- """ KEY = Key.load(pem=KEY) PUB = Key.load(pem=PUB) class TestSigning(TestCase): def test_basic_signing(self): url = URL('http://redhat.com/content/jit.rpm') url = url.sign(KEY) print url def test_signing_and_validation(self): uri = '/content/jit.rpm' url = URL('http://redhat.com{r}'.format(r=uri)) url = url.sign(KEY) resource = url.validate(PUB) self.assertEqual(resource, uri)