Exemple #1
0
 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()
Exemple #2
0
 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()
Exemple #3
0
  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()
Exemple #4
0
    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()
Exemple #5
0
  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()
Exemple #6
0
    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()
Exemple #7
0
  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()
Exemple #8
0
  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()
Exemple #9
0
  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()
Exemple #10
0
  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()