示例#1
0
def test_is_creds_valid(mocker, status, valid):
    mock_resp = mock.Mock(spec=["status_code", "raise_for_status"])
    mock_resp.status_code = status

    mocker.patch("fuelclient.client.APIClient.get_request_raw",
                 return_value=mock_resp)

    if not isinstance(valid, bool):
        mock_resp.raise_for_status.side_effect = valid()
        with pytest.raises(valid):
            auth.is_creds_valid('a', 'b')
    else:
        assert auth.is_creds_valid('a', 'b') == valid
        if not valid:
            assert not mock_resp.raise_for_status.called
示例#2
0
 def backup(self):
     creds = self.get_current_dict()['FUEL_ACCESS']
     if auth.is_creds_valid(creds['user'], creds['password']):
         super(AstuteArchivator, self).backup()
     else:
         raise Exception(
             "astute.yaml file contains invalid Fuel username or password"
         )
示例#3
0
    def pre_restore_check(self):
        backup = self.get_backup_dict()
        current = self.get_current_dict()

        backup_ip = backup["ADMIN_NETWORK"]["ipaddress"]
        current_ip = current["ADMIN_NETWORK"]["ipaddress"]

        if backup_ip != current_ip:
            raise Exception(
                "Restore allowed on machine with same ipaddress. "
                "Use fuel-menu to set up ipaddress to {0}".format(backup_ip))

        creds = backup.get('FUEL_ACCESS')
        if creds and not auth.is_creds_valid(creds['user'], creds['password']):
            raise Exception(
                "Backup's astute.yaml file contains invalid"
                " Fuel username or password"
            )