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
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" )
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" )