コード例 #1
0
ファイル: httpsource_test.py プロジェクト: wycg1984/nsscache
 def testOverrideDefaultConfiguration(self):
     source = httpsource.HttpFilesSource(self.config)
     self.assertEquals(source.conf['passwd_url'], 'PASSWD_URL')
     self.assertEquals(source.conf['group_url'], 'GROUP_URL')
     self.assertEquals(source.conf['shadow_url'], 'SHADOW_URL')
     self.assertEquals(source.conf['retry_delay'], 'TEST_RETRY_DELAY')
     self.assertEquals(source.conf['retry_max'], 'TEST_RETRY_MAX')
     self.assertEquals(source.conf['tls_cacertfile'], 'TEST_TLS_CACERTFILE')
     self.assertEquals(source.conf['http_proxy'], 'HTTP_PROXY')
コード例 #2
0
ファイル: httpsource_test.py プロジェクト: wycg1984/nsscache
    def testRaiseConfigurationErrorOnUnsupportedProtocol(self):
        # connection should never be used in this case.
        mock_conn = self.mox.CreateMockAnything()
        mock_conn.setopt(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes()

        self.mox.StubOutWithMock(pycurl, 'Curl')
        pycurl.Curl().AndReturn(mock_conn)

        self.mox.ReplayAll()
        source = httpsource.HttpFilesSource({})
        self.assertRaises(error.ConfigurationError,
                          httpsource.UpdateGetter().GetUpdates, source,
                          'ftp://test_url', None)
コード例 #3
0
ファイル: httpsource_test.py プロジェクト: wycg1984/nsscache
 def testDefaultConfiguration(self):
     source = httpsource.HttpFilesSource({})
     self.assertEquals(source.conf['passwd_url'],
                       httpsource.HttpFilesSource.PASSWD_URL)
     self.assertEquals(source.conf['shadow_url'],
                       httpsource.HttpFilesSource.SHADOW_URL)
     self.assertEquals(source.conf['group_url'],
                       httpsource.HttpFilesSource.GROUP_URL)
     self.assertEquals(source.conf['retry_max'],
                       httpsource.HttpFilesSource.RETRY_MAX)
     self.assertEquals(source.conf['retry_delay'],
                       httpsource.HttpFilesSource.RETRY_DELAY)
     self.assertEquals(source.conf['tls_cacertfile'],
                       httpsource.HttpFilesSource.TLS_CACERTFILE)
     self.assertEquals(source.conf['http_proxy'], None)
コード例 #4
0
ファイル: httpsource_test.py プロジェクト: wycg1984/nsscache
    def testNoUpdatesForTemporaryFailure(self):
        mock_conn = self.mox.CreateMockAnything()
        mock_conn.setopt(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes()
        mock_conn.perform()
        mock_conn.getinfo(pycurl.RESPONSE_CODE).AndReturn(304)

        self.mox.StubOutWithMock(pycurl, 'Curl')
        pycurl.Curl().AndReturn(mock_conn)

        self.mox.ReplayAll()
        config = {}
        source = httpsource.HttpFilesSource(config)
        result = httpsource.UpdateGetter().GetUpdates(source,
                                                      'https://TEST_URL', 37)
        self.assertEquals(result, [])
コード例 #5
0
ファイル: httpsource_test.py プロジェクト: wycg1984/nsscache
    def testAcceptHttpProtocol(self):
        mock_conn = self.mox.CreateMockAnything()
        mock_conn.setopt(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes()
        mock_conn.perform()
        # We use code 304 since it basically shortcuts to the end of the method.
        mock_conn.getinfo(pycurl.RESPONSE_CODE).AndReturn(304)

        self.mox.StubOutWithMock(pycurl, 'Curl')
        pycurl.Curl().AndReturn(mock_conn)

        self.mox.ReplayAll()
        config = {}
        source = httpsource.HttpFilesSource(config)
        result = httpsource.UpdateGetter().GetUpdates(source,
                                                      'http://TEST_URL', None)
        self.assertEqual([], result)
コード例 #6
0
  def testRetryOnErrorCodeResponse(self):
    config = {'retry_delay': 5,
              'retry_max': 3}
    mock_conn = self.mox.CreateMockAnything()
    mock_conn.setopt(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes()
    mock_conn.perform().MultipleTimes()
    mock_conn.getinfo(pycurl.RESPONSE_CODE).MultipleTimes().AndReturn(400)

    self.mox.StubOutWithMock(time, 'sleep')
    time.sleep(5)
    time.sleep(5)

    self.mox.StubOutWithMock(pycurl, 'Curl')
    pycurl.Curl().AndReturn(mock_conn)

    self.mox.ReplayAll()
    source = httpsource.HttpFilesSource(config)

    self.assertRaises(error.SourceUnavailable,
                      httpsource.UpdateGetter().GetUpdates,
                      source, url='https://TEST_URL', since=None)
コード例 #7
0
  def testGetUpdatesWithoutTimestamp(self):
    mock_conn = self.mox.CreateMockAnything()
    mock_conn.setopt(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes()
    mock_conn.perform()
    mock_conn.getinfo(pycurl.RESPONSE_CODE).AndReturn(200)
    mock_conn.getinfo(pycurl.INFO_FILETIME).AndReturn(-1)

    self.mox.StubOutWithMock(pycurl, 'Curl')
    pycurl.Curl().AndReturn(mock_conn)

    mock_map = self.mox.CreateMockAnything()

    getter = httpsource.UpdateGetter()
    self.mox.StubOutWithMock(getter, 'GetMap')
    getter.GetMap(cache_info=mox.IgnoreArg()).AndReturn(mock_map)

    self.mox.ReplayAll()
    config = {}
    source = httpsource.HttpFilesSource(config)
    result = getter.GetUpdates(source, 'https://TEST_URL', 1)
    self.assertEqual(mock_map, result)