Любой способ узнать, находится ли узел в devMode из потока? - PullRequest
0 голосов
/ 14 июня 2019

Не похоже, что есть какой-либо API, который может позволить мне проверить это.

Я бы хотел изменить поведение потока во время тестирования или разработки.В настоящее время у меня есть поток, который запускает BNO, чтобы дать разрешение узлу на определенные действия.Чтобы упростить разработку, я просто хочу открыть все разрешения во время разработки, но заблокировать их в работе.

Кто-нибудь может помочь?Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 14 июня 2019

Вы можете просто прочитать файл конфигурации, используя https://github.com/lightbend/config, что также используется Corda для внутренних целей, и посмотреть, установлено ли для devMode значение true.

Вы можете видеть, как Corda анализирует файл конфигурации в https://github.com/corda/corda/blob/c533792f3f7015d07d792a849f4f610f3e23cced/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt - и просто копирует это

0 голосов
/ 14 июня 2019

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

(еще лучше, если две реализации расходятся только для того ресурса, который выВы получаете доступ - в одном случае вы издеваетесь над ним локально, в другом вы получаете доступ к реальному ресурсу? Конечно, я не знаком с вашими настройками, так что это может быть совершенно неверно)

Возможно, вы простовозможность написания ваших тестов в явном виде, используя реализацию «тестирования» потока, и убедитесь, что две реализации расходятся как можно меньше.Или отделить логику, которая открывает разрешение и просто проверить остальные?

...