def testFindCertificates(self): """Test FindCertificates.""" self.StubSetup() self.mox.StubOutWithMock(certs, '_GetCertificates') allcerts = [{ 'subject': 's1', 'issuer': 'i1', 'fingerprint': 'f1' }, { 'subject': 's2', 'issuer': 'i1', 'fingerprint': 'f2' }, { 'subject': 's3', 'issuer': 'i2', 'fingerprint': 'f3' }] certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) self.mox.ReplayAll() self.assertEqual(allcerts, certs.FindCertificates()) self.assertEqual(allcerts[0:1], certs.FindCertificates(subject='s1')) self.assertEqual(allcerts[0:2], certs.FindCertificates(issuer='i1')) self.assertEqual([], certs.FindCertificates(issuer='i3')) self.assertEqual([], certs.FindCertificates(subject='s1', issuer='i2')) self.mox.VerifyAll()
def testFindCertificates(self): """Test FindCertificates.""" self.StubSetup() self.mox.StubOutWithMock(certs, '_GetCertificates') allcerts = [{'subject': 's1', 'issuer': 'i1', 'fingerprint': 'f1'}, {'subject': 's2', 'issuer': 'i1', 'fingerprint': 'f2'}, {'subject': 's3', 'issuer': 'i2', 'fingerprint': 'f3'}] certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) certs._GetCertificates(keychain=None).AndReturn(allcerts) self.mox.ReplayAll() self.assertEqual(allcerts, certs.FindCertificates()) self.assertEqual(allcerts[0:1], certs.FindCertificates(subject='s1')) self.assertEqual(allcerts[0:2], certs.FindCertificates(issuer='i1')) self.assertEqual([], certs.FindCertificates(issuer='i3')) self.assertEqual([], certs.FindCertificates(subject='s1', issuer='i2')) self.mox.VerifyAll()
def testGetCertificatesNewKeychain(self): """Test _GetCertificates with a newly-created keychain.""" self.StubSetup() self.mox.StubOutWithMock(certs, 'Certificate') command = [certs.CMD_SECURITY, 'find-certificate', '-a', '-p'] certs.gmacpyutil.RunProcess(command).AndReturn(('', '', 9)) self.mox.ReplayAll() self.assertEqual([], list(certs._GetCertificates())) self.mox.VerifyAll()
def testGetCertificatesNoKeychainSearchFailed(self): """Test _GetCertificates, no keychain, search failed.""" self.StubSetup() self.mox.StubOutWithMock(certs, 'Certificate') command = [certs.CMD_SECURITY, 'find-certificate', '-a', '-p'] certs.gmacpyutil.RunProcess(command).AndReturn(('', '', 1)) self.mox.ReplayAll() c = certs._GetCertificates() self.assertRaises(certs.CertError, c.next) self.mox.VerifyAll()
def testGetCertificatesNoKeychainSuccess(self): """Test _GetCertificates no keychain specified, successful search.""" self.StubSetup() self.mox.StubOutWithMock(certs, 'Certificate') command = [certs.CMD_SECURITY, 'find-certificate', '-a', '-p'] cert = '%s\n%s\n%s\n' % (certs.PEM_HEADER, 'cert_body', certs.PEM_FOOTER) output = cert * 2 certs.gmacpyutil.RunProcess(command).AndReturn((output, '', 0)) certs.Certificate(cert.strip()).AndReturn('parsed cert') certs.Certificate(cert.strip()).AndReturn('parsed cert') self.mox.ReplayAll() self.assertEqual(['parsed cert', 'parsed cert'], list(certs._GetCertificates())) self.mox.VerifyAll()
def testGetCertificatesNoKeychainCertError(self): """Test _GetCertificates with CertError from Certificate class.""" self.StubSetup() self.mox.StubOutWithMock(certs, 'Certificate') command = [certs.CMD_SECURITY, 'find-certificate', '-a', '-p'] cert = '%s\n%s\n%s\n' % (certs.PEM_HEADER, 'cert_body', certs.PEM_FOOTER) output = cert * 2 certs.gmacpyutil.RunProcess(command).AndReturn((output, '', 0)) certs.Certificate(cert.strip()).AndRaise(certs.CertError('err')) certs.logging.info('Encountered an unparseable certificate, continuing.') certs.logging.debug('err') certs.Certificate(cert.strip()).AndReturn('parsed cert') self.mox.ReplayAll() self.assertEqual(['parsed cert'], list(certs._GetCertificates())) self.mox.VerifyAll()