def test_reqSignCrt_malformedJson(self, urlopen_mock, open_mock, hostname_mock): hostname_mock.return_value = "dummy-hostname" open_mock.return_value.read.return_value = "dummy_request" self.config.set('security', 'keysdir', '/dummy-keysdir') self.config.set('security', 'passphrase_env_var_name', 'DUMMY_PASSPHRASE') man = CertificateManager(self.config, "active_server") # test valid JSON response urlopen_mock.return_value.read.return_value = '{"result": "OK", "signedCa":"dummy"}' try: man.reqSignCrt() except ssl.SSLError: self.fail("Unexpected exception!") open_mock.return_value.write.assert_called_with(u'dummy') # test malformed JSON response open_mock.return_value.write.reset_mock() urlopen_mock.return_value.read.return_value = '{malformed_object}' try: man.reqSignCrt() self.fail("Expected exception!") except ssl.SSLError: pass self.assertFalse(open_mock.return_value.write.called)
def test_reqSignCrt_malformedJson(self, urlopen_mock, open_mock, hostname_mock): hostname_mock.return_value = "dummy-hostname" open_mock.return_value.read.return_value = "dummy_request" self.config.set('security', 'keysdir', '/dummy-keysdir') self.config.set('security', 'passphrase_env_var_name', 'DUMMY_PASSPHRASE') man = CertificateManager(self.config) # test valid JSON response urlopen_mock.return_value.read.return_value = '{"result": "OK", "signedCa":"dummy"}' try: man.reqSignCrt() except ssl.SSLError: self.fail("Unexpected exception!") open_mock.return_value.write.assert_called_with(u'dummy') # test malformed JSON response open_mock.return_value.write.reset_mock() urlopen_mock.return_value.read.return_value = '{malformed_object}' try: man.reqSignCrt() self.fail("Expected exception!") except ssl.SSLError: pass self.assertFalse(open_mock.return_value.write.called)
def test_reqSignCrt(self, loads_mock, urlopen_mock, request_mock, dumps_mock, open_mock, hostname_mock): self.config.set('security', 'keysdir', '/dummy-keysdir') self.config.set('security', 'passphrase_env_var_name', 'DUMMY_PASSPHRASE') man = CertificateManager(self.config) hostname_mock.return_value = "dummy-hostname" open_mock.return_value.__exit__ = mock.mock.Mock(return_value = True) open_mock.return_value.__enter__.return_value = open_mock.return_value open_mock.return_value.read.return_value = "dummy_request" urlopen_mock.return_value.read.return_value = "dummy_server_request" loads_mock.return_value = { 'result': 'OK', 'signedCa': 'dummy-crt' } # Test normal server interaction man.reqSignCrt() self.assertEqual(dumps_mock.call_args[0][0], { 'csr' : 'dummy_request', 'passphrase' : 'dummy-passphrase' }) self.assertEqual(open_mock.return_value.write.call_args[0][0], 'dummy-crt') # Test negative server reply dumps_mock.reset_mock() open_mock.return_value.write.reset_mock() loads_mock.return_value = { 'result': 'FAIL', 'signedCa': 'fail-crt' } # If certificate signing failed, then exception must be raised try: man.reqSignCrt() self.fail() except ssl.SSLError: pass self.assertFalse(open_mock.return_value.write.called) # Test connection fail dumps_mock.reset_mock() open_mock.return_value.write.reset_mock() try: man.reqSignCrt() self.fail("Expected exception here") except Exception, err: # expected pass
def test_reqSignCrt(self, loads_mock, urlopen_mock, request_mock, dumps_mock, open_mock, hostname_mock): self.config.set('security', 'keysdir', '/dummy-keysdir') self.config.set('security', 'passphrase_env_var_name', 'DUMMY_PASSPHRASE') man = CertificateManager(self.config, "active_server") hostname_mock.return_value = "dummy-hostname" open_mock.return_value.read.return_value = "dummy_request" urlopen_mock.return_value.read.return_value = "dummy_server_request" loads_mock.return_value = { 'result': 'OK', 'signedCa': 'dummy-crt' } # Test normal server interaction man.reqSignCrt() self.assertEqual(dumps_mock.call_args[0][0], { 'csr' : 'dummy_request', 'passphrase' : 'dummy-passphrase' }) self.assertEqual(open_mock.return_value.write.call_args[0][0], 'dummy-crt') # Test negative server reply dumps_mock.reset_mock() open_mock.return_value.write.reset_mock() loads_mock.return_value = { 'result': 'FAIL', 'signedCa': 'fail-crt' } # If certificate signing failed, then exception must be raised try: man.reqSignCrt() self.fail() except ssl.SSLError: pass self.assertFalse(open_mock.return_value.write.called) # Test connection fail dumps_mock.reset_mock() open_mock.return_value.write.reset_mock() try: man.reqSignCrt() self.fail("Expected exception here") except Exception, err: # expected pass