Hi,
Firstly, you should not mock a node or a property. Instead, you should load them using AEMContext. The less you mock, the better your test will be. In this scenario, I don't think mocking is the correct approach. Instead, use something like context.load() to create the node and allow the test to run, letting the testing framework is intended to do. Here some references: https://wcm.io/testing/aem-mock/usage-content-loader-builder.html
Secondly, the error clearly indicates that the getProperty() method is returning null. In other words, the property "outputPath" does not exist. This could mean the property is not correctly mocked, or the "node" under test is not the same one you're using in your "lenient" method. Since I don’t see your full mock setup and lenient method seems OK, I suspect the error is that the "node" under test (when the test runs) is not the same one you're using to mock the getProperty() method. To fix this, you should mock a "node" and return that mocked "node" as the result of session.getNode(path).
Hope this helps.