Beispiel #1
0
 def test_check_md5_unknown_valueerror2(self, mock_urlopen):
     """
     Force ValueError on json to test try-catch
     """
     jdata = PropertyMock(return_value=b'X')
     mock_urlopen.return_value = MagicMock(read=jdata)
     result = check_md5('.')
     mock_urlopen.assert_called_with('.ringmd5')
     self.assertEqual(result, [(STATUS_UNKNOWN, "Can't parse status data")])
Beispiel #2
0
 def test_check_md5_unknown_valueerror1(self, mock_urlopen):
     """
     Force ValueError on urllib.error.URLError to test try-except
     """
     base_url = 'asdfasdf'
     url = '{}ringmd5'.format(base_url)
     mock_urlopen.side_effect = ValueError(Mock(return_value=''))
     result = check_md5(base_url)
     mock_urlopen.assert_called_with(url)
     self.assertEqual(result, [(STATUS_UNKNOWN, "Can't parse status data")])
 def test_check_md5_unknown_valueerror2(self, mock_urlopen):
     """
     Force ValueError on json to test try-catch
     """
     jdata = PropertyMock(return_value=b'X')
     mock_urlopen.return_value = MagicMock(read=jdata)
     result = check_md5('.')
     mock_urlopen.assert_called_with('.ringmd5')
     self.assertEqual(result,
                      [(STATUS_UNKNOWN,
                        "Can't parse status data")])
Beispiel #4
0
 def test_check_md5_unknown_urlerror(self, mock_urlopen):
     """
     Force urllib2.URLError to test try-except
     """
     base_url = 'http://localhost:6000/recon/'
     url = '{}ringmd5'.format(base_url)
     error = 'connection refused'
     mock_urlopen.side_effect = urllib2.URLError(Mock(return_value=error))
     result = check_md5(base_url)
     self.assertEqual(result,
                      [(STATUS_UNKNOWN, "Can't open url: {}".format(url))])
 def test_check_md5_unknown_valueerror1(self, mock_urlopen):
     """
     Force ValueError on urllib.error.URLError to test try-except
     """
     base_url = 'asdfasdf'
     url = '{}ringmd5'.format(base_url)
     mock_urlopen.side_effect = ValueError(Mock(return_value=''))
     result = check_md5(base_url)
     mock_urlopen.assert_called_with(url)
     self.assertEqual(result,
                      [(STATUS_UNKNOWN,
                        "Can't parse status data")])
 def test_check_md5_unknown_urlerror(self, mock_urlopen):
     """
     Force urllib.request.URLError to test try-except
     """
     base_url = 'http://localhost:6000/recon/'
     url = '{}ringmd5'.format(base_url)
     error = 'connection refused'
     mock_urlopen.side_effect = (urllib
                                 .error
                                 .URLError(Mock(return_value=error)))
     result = check_md5(base_url)
     self.assertEqual(result,
                      [(STATUS_UNKNOWN,
                        "Can't open url: {}".format(url))])
Beispiel #7
0
 def test_check_md5_ok(self, mock_generate_md5):
     """
     Ensure md5 checksums match, STATUS_OK
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.return_value = '6b4f3a0ef3731f18291ecd053ce0d9b6'
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         self.assertEqual(result, [(STATUS_OK, 'OK')])
 def test_check_md5_ok(self, mock_generate_md5):
     """
     Ensure md5 checksums match, STATUS_OK
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.return_value = '6b4f3a0ef3731f18291ecd053ce0d9b6'
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         self.assertEqual(result,
                          [(STATUS_OK, 'OK')])
Beispiel #9
0
 def test_check_md5_crit_md5sum_mismatch(self, mock_generate_md5):
     """
     Ensure md5 checksums match, STATUS_CRIT
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"93fc4ae496a7343362ebf13988a137e7", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"0ea1ec9585ef644ce2b5c5b1dced4128"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.return_value = 'xxxx'
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         expected_result = [(STATUS_CRIT, 'Ringfile /etc/swift/{}.ring.gz '
                             'MD5 sum mismatch'.format(name))
                            for name in ('object', 'account', 'container')]
         self.assertEqual(result, expected_result)
Beispiel #10
0
 def test_check_md5_unknown_ioerror(self, mock_generate_md5):
     """
     Force IOError (reading file) to test try-catch
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"93fc4ae496a7343362ebf13988a137e7", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"0ea1ec9585ef644ce2b5c5b1dced4128"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.side_effect = IOError()
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         expected_result = [(STATUS_UNKNOWN, "Can't open ringfile "
                             "/etc/swift/{}.ring.gz".format(name))
                            for name in ('object', 'account', 'container')]
         self.assertEqual(result, expected_result)
 def test_check_md5_crit_md5sum_mismatch(self, mock_generate_md5):
     """
     Ensure md5 checksums match, STATUS_CRIT
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"93fc4ae496a7343362ebf13988a137e7", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"0ea1ec9585ef644ce2b5c5b1dced4128"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.return_value = 'xxxx'
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         expected_result = [(STATUS_CRIT,
                             'Ringfile /etc/swift/{}.ring.gz '
                             'MD5 sum mismatch'.format(name))
                            for name in ('object', 'account', 'container')]
         self.assertEqual(result, expected_result)
 def test_check_md5_unknown_ioerror(self, mock_generate_md5):
     """
     Force IOError (reading file) to test try-catch
     """
     jdata = b'{"/etc/swift/object.ring.gz": ' \
             b'"6b4f3a0ef3731f18291ecd053ce0d9b6", ' \
             b'"/etc/swift/account.ring.gz": ' \
             b'"93fc4ae496a7343362ebf13988a137e7", ' \
             b'"/etc/swift/container.ring.gz": ' \
             b'"0ea1ec9585ef644ce2b5c5b1dced4128"}'
     pmock_jdata = PropertyMock(return_value=jdata)
     mock_generate_md5.side_effect = IOError()
     with patch('urllib.request.urlopen') as mock_urlopen:
         mock_urlopen.return_value = MagicMock(read=pmock_jdata)
         result = check_md5('.')
         mock_urlopen.assert_called_with('.ringmd5')
         expected_result = [(STATUS_UNKNOWN,
                             "Can't open ringfile "
                             "/etc/swift/{}.ring.gz".format(name))
                            for name in ('object', 'account', 'container')]
         self.assertEqual(result, expected_result)