Как проверить, удастся ли вставить / обновить с помощью python simple-salesforce - PullRequest
2 голосов
/ 12 апреля 2019

tl; dr Как проверить жизнеспособность update или insert с помощью пакета python simple-salesforce?

Я пишу тестовый сценарий для простогокласс Python -salesforce, который я создал.Класс включает в себя код sf.bulk.Object_Name__c.insert(data) и sf.bulk.Object_Name__c.update(data), но в тестовом скрипте я хотел бы подтвердить, что вставка / обновление будет вставляться успешно или нет, без фактической фиксации новогозапись или изменение.

Единственный элемент, который, как мне показалось, предположил, что это возможно, - это страница в документации Simple-Salesforce , в которой отмечается наличие модуля simple_salesforce.tests.test_util.К сожалению, я не смог выяснить, как получить доступ к этому подмодулю или впоследствии опробовать класс test_util, и в документе было довольно мало инструкций о том, как это сделать.

1 Ответ

1 голос
/ 23 мая 2019

Я не верю, что это возможно.Пакет simple-salesforce, по сути, является синтаксическим сахаром для построения кода, который будет подключаться к собственным API-интерфейсам Rest Salescece.

Подпакет simple_salesforce.tests - это не хук в функциональности Salesforce Test, а скорее тестовый код дляСам по себе simple_salesforce.

Тип тестирования, который вы хотите выполнить, ограничен собственным классом Salesforce Database.Test.Они встроены в Apex и работают внутри самой системы Salesforce.Нет хорошего способа завершить тест, который вы хотели бы сделать.

Вы можете написать тестовые классы, чтобы убедиться, что запросы, которые генерирует ваш код, правильно отформатированы, но проверить, что он может для создания записей в Salesforce потребовалось бы, чтобы simple-salesforce знал обо всех ваших метаданных SFDC Organizations, проверках, разрешениях, триггерах, процессах и т. Д. Это потребовало бы простого -forceforce для всех, кроме полной репликации Salesforce, что значительно уменьшило бы его.просто.

Я рекомендую протестировать ваш код в среде песочницы и убедиться, что он работает там, прежде чем перейти непосредственно к производству.

В качестве альтернативы (и это чисто гипотетический и довольно хакерский вариант) вы могли быпопытайтесь встроить свои собственные хуки в API-интерфейсы Salesforce, чтобы использовать функции Database.setSavePoint () и Database.rollBack ().Вы должны установить точку сохранения, инициализировать массовое задание, дождаться окончания массового задания, завершить тесты, чтобы подтвердить, что что-то зафиксировано, и затем выполнить откат до точки сохранения.

...